The S3 direct <chain="s3-storage-v3-direct"/>
(or eventual-less) template shown below allows directly uploading to S3, bypassing the eventual upload mechanism.
<config version="2"> <chain template="s3-storage-v3-direct"/> <provider id="s3-storage-v3" type="s3-storage-v3"> <endpoint>s3.amazonaws.com</endpoint> <bucketName>bucketName</bucketName> <path>pathPrefix</path> <region>s3Region</region> <identity>yourIdentity</identity> <credential>yourCredentials</credential> </provider> </config>
While you don't need to configure anything else in your binarystore.xml, the following example shows what the s3-storage-v3
template may look like under the hood. This example sets S3 with your credentials, uses pre-signing for object manipulations and sets the pre-signed URL for 10 minutes (600 seconds). The default settings for maxConnections, connectionTimeout, and cache-fs maxCacheSize configuration are also shown in this example.
<config version="2"> <chain> <provider id="cache-fs" type="cache-fs"> <provider id="s3-storage-v3" type="s3-storage-v3"/> </provider> </chain> <provider id="s3-storage-v3" type="s3-storage-v3"> <endpoint>s3.amazonaws.com</endpoint> <bucketName>bucketName</bucketName> <path>pathPrefix</path> <region>s3Region</region> <identity>yourIdentity</identity> <credential>yourCredentials</credential> <usePresigning>true</usePresigning> <signatureExpirySeconds>600</signatureExpirySeconds> <maxConnections>50</maxConnections> <connectionTimeout>10000</connectionTimeout> </provider> <provider type="cache-fs" id="cache-fs"> <maxCacheSize>5000000000</maxCacheSize> </provider> </config>