File storage configuration¶
Usergrid can store your assets either on your hard drive or in the Amazon S3 cloud.
Local storage configuration¶
By default assets are stored in the temporary folder /tmp/usergrid This can be changed by editing this file /stack/rest/src/main/resources/usergrid-rest-context.xml and replacing {usergrid.temp.files} by the wanted destination
<bean id="binaryStore" class="org.apache.usergrid.services.assets.data.LocalFileBinaryStore">
<property name="reposLocation" value="${usergrid.temp.files}"/>
</bean>
AwS S3 configuration¶
To use your AWS S3 storage you need to change the binaryStore classpath and add several constructor arguments in /stack/rest/src/main/resources/usergrid-rest-context.xml
Some examples :
<bean id="binaryStore" class="org.apache.usergrid.services.assets.data.AwsSdkS3BinaryStore">
<constructor-arg name="accessId" value="x" />
<constructor-arg name="secretKey" value="xx" />
<constructor-arg name="bucketName" value="x" />
<constructor-arg name="regionName" value="eu-central-1" />
</bean>
the regionName field is not mandatory, this code is also valid
<bean id="binaryStore" class="org.apache.usergrid.services.assets.data.AwsSdkS3BinaryStore">
<constructor-arg name="accessId" value="x" />
<constructor-arg name="secretKey" value="xx" />
<constructor-arg name="bucketName" value="x" />
</bean>
The filesize is limited to 50GB but you need to keep in mind that the file has to be stored on the hard drive before being sended to Amazon.