You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by bu...@apache.org on 2016/07/08 23:18:20 UTC

svn commit: r992370 [2/14] - in /websites/production/camel/content: ./ cache/

Modified: websites/production/camel/content/aws-s3.html
==============================================================================
--- websites/production/camel/content/aws-s3.html (original)
+++ websites/production/camel/content/aws-s3.html Fri Jul  8 23:18:19 2016
@@ -88,7 +88,7 @@
 <div class="wiki-content maincontent"><h2 id="AWS-S3-S3Component">S3 Component</h2><p><strong>Available as of Camel 2.8</strong></p><p>The S3 component supports storing and retrieving objetcs from/to <a shape="rect" class="external-link" href="http://aws.amazon.com/s3" rel="nofollow">Amazon's S3</a> service.</p><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Prerequisites</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>You must have a valid Amazon Web Services developer account, and be signed up to use Amazon S3. More information are available at <a shape="rect" class="external-link" href="http://aws.amazon.com/s3" rel="nofollow">Amazon S3</a>.</p></div></div><h3 id="AWS-S3-URIFormat">URI Format</h3><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[aws-s3://bucketName[?options]
 aws-s3://bucketNameOrArn[?options] (Camel 2.18 onwards)]]></script>
-</div></div><p>The bucket will be created if it don't already exists.<br clear="none"> You can append query options to the URI in the following format, ?options=value&amp;option2=value&amp;...</p><h3 id="AWS-S3-URIOptions">URI Options</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Context</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>amazonS3Client</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Reference to a <code>com.amazonaws.services.sqs.AmazonS3</code> in the <a shape="rect" href="registry.html">Registry</a>.</p></td></
 tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>accessKey</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Amazon AWS Access Key</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>secretKey</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Amazon AWS Secret Key</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>amazonS3Endpoint</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The region with which the AWS-S3 client wants to work with.</p></td></tr><tr><td colspan="1" rowspan="1"
  class="confluenceTd"><p>region</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Producer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The region who the bucket is located. This option is used in the <code>com.amazonaws.services.s3.model.CreateBucketRequest</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>deleteAfterRead</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Consumer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Delete objects from S3 after it has been retrieved.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>deleteAfterWrite</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Producer</p></td><td colspan="1" rowspan="1" class="conflu
 enceTd"><p><strong>Camel 2.11.0</strong> Delete file object after the S3 file has been uploaded</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>maxMessagesPerPoll</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>10</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Consumer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The maximum number of objects which can be retrieved in one poll. Used in in the <code>com.amazonaws.services.s3.model.ListObjectsRequest</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>policy</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8.4</strong>: The policy for this queue to set in the <code>com.amazonaws.services.s3.AmazonS3#setBucketPolicy()</code> method.</p></td></tr><tr><td colspan="1" rowspan="1" class
 ="confluenceTd"><p>storageClass</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Producer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8.4</strong>: The storage class to set in the <code>com.amazonaws.services.s3.model.PutObjectRequest</code> request.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>prefix</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Consumer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10.1</strong>: The prefix which is used in the <code>com.amazonaws.services.s3.model.ListObjectsRequest</code> to only consume objects we are interested in.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>multiPartUpload</p></td><td colspan="1" rowspan="1" class="confluenceTd"><code>false</code></td><td 
 colspan="1" rowspan="1" class="confluenceTd">Producer</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.15.0</strong>: If it is true, camel will upload the file with multi part format, the part size is decided by the option of <code><span style="line-height: 1.4285715;">partSize</span></code></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>partSize</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>25 * 1024 * 1024</code></p></td><td colspan="1" rowspan="1" class="confluenceTd">Producer</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.15.0</strong>: Setup the partSize which is used in multi part upload, the default size is 25M.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">serverSideEncryption</td><td colspan="1" rowspan="1" class="confluenceTd">null</td><td colspan="1" rowspan="1" class="confluenceTd">Producer</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong> Sets 
 the server-side encryption algorithm when encrypting the object using AWS-managed keys. For example use AES256.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">proxyHost</td><td colspan="1" rowspan="1" class="confluenceTd">null</td><td colspan="1" rowspan="1" class="confluenceTd">Producer</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16</strong>: Specify a proxy host to be used inside the client definition.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">proxyPort</td><td colspan="1" rowspan="1" class="confluenceTd">null</td><td colspan="1" rowspan="1" class="confluenceTd">Producer</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16</strong>: Specify a proxy port to be used inside the client definition.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">includeBody</td><td colspan="1" rowspan="1" class="confluenceTd"><code>true</code></td><td colspan="1" rowspan="1" class="confluenceTd">Consumer</td><t
 d colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.17:</strong> If it is true the exchange body will be set to a stream to the contents of the file. If false the headers will be set with the S3 object metadata but the body will be null.</td></tr></tbody></table></div><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Required S3 component options</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>You have to provide the amazonS3Client in the <a shape="rect" href="registry.html">Registry</a> or your accessKey and secretKey to access the <a shape="rect" class="external-link" href="http://aws.amazon.com/s3" rel="nofollow">Amazon's S3</a>.</p></div></div><h3 id="AWS-S3-BatchConsumer">Batch Consumer</h3><p>This component implements the <a shape="rect" href="batch-consumer.html">Batch Consumer</a>.</p><p>This allows you for instanc
 e to know how many messages exists in this batch and for instance let the <a shape="rect" href="aggregator.html">Aggregator</a> aggregate this number of messages.</p><h3 id="AWS-S3-Usage">Usage</h3><h4 id="AWS-S3-MessageheadersevaluatedbytheS3producer">Message headers evaluated by the S3 producer</h4><div class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Header</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3Key</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The key under which this object will be stored.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3ContentLength</code></p></td><
 td colspan="1" rowspan="1" class="confluenceTd"><p><code>Long</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The content length of this object.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3ContentType</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The content type of this object.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3ContentControl</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8.2:</strong> The content control of this object.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3ContentDisposition</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenc
 eTd"><p><strong>Camel 2.8.2:</strong> The content disposition of this object.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3ContentEncoding</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8.2:</strong> The content encoding of this object.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3ContentMD5</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8.2:</strong> The md5 checksum of this object.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3LastModified</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>java.util.Date</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8.2:</strong> The last modifi
 ed timestamp of this object.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3StorageClass</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8.4:</strong> The storage class of this object.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3CannedAcl</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11.0:</strong> The canned acl that will be applied to the object. see <code>com.amazonaws.services.s3.model.CannedAccessControlList</code> for allowed values.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3Acl</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>com.amazonaws.services.s3.model.AccessControlList</code></p></td><td colspan="1"
  rowspan="1" class="confluenceTd"><p><strong>Camel 2.11.0:</strong> a well constructed Amazon S3 Access Control List object. see <code>com.amazonaws.services.s3.model.AccessControlList</code> for more details</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>CamelAwsS3Headers</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>Map&lt;String,String&gt;</code></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.15.0</strong>: support to get or set custom <span>objectMetadata headers.</span></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">CamelAwsS3ServerSideEncryption</td><td colspan="1" rowspan="1" class="confluenceTd">String</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong> <span>Sets the server-side encryption algorithm when encrypting the object using AWS-managed keys. </span><span>For example use AES256.</span></td></tr></tbody></table></div></div><h4 id="AWS-S3-Messageheaderssetbyt
 heS3producer">Message headers set by the S3 producer</h4><div class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Header</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3ETag</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The ETag value for the newly uploaded object.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3VersionId</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The <strong>optional</strong> version ID of the newly uploaded object.</p></td></tr></tbody></table></div></div><h4 id=
 "AWS-S3-MessageheaderssetbytheS3consumer">Message headers set by the S3 consumer</h4><div class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Header</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3Key</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The key under which this object is stored.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3BucketName</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The name of the bucket in which this object is contained.</p></td></tr><tr><td colspan="1" row
 span="1" class="confluenceTd"><p><code>CamelAwsS3ETag</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The hex encoded 128-bit MD5 digest of the associated object according to RFC 1864. This data is used as an integrity check to verify that the data received by the caller is the same data that was sent by Amazon S3.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3LastModified</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>Date</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The value of the Last-Modified header, indicating the date and time at which Amazon S3 last recorded a modification to the associated object.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3VersionId</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td co
 lspan="1" rowspan="1" class="confluenceTd"><p>The version ID of the associated Amazon S3 object if available. Version IDs are only assigned to objects when an object is uploaded to an Amazon S3 bucket that has object versioning enabled.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3ContentType</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The Content-Type HTTP header, which indicates the type of content stored in the associated object. The value of this header is a standard MIME type.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3ContentMD5</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The base64 encoded 128-bit MD5 digest of the associated object (content - not including headers) according to RFC 1864. This
  data is used as a message integrity check to verify that the data received by Amazon S3 is the same data that the caller sent.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3ContentLength</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>Long</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The Content-Length HTTP header indicating the size of the associated object in bytes.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3ContentEncoding</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The <strong>optional</strong> Content-Encoding HTTP header specifying what content encodings have been applied to the object and what decoding mechanisms must be applied in order to obtain the media-type referenced by the Content-Type field.</p></td></tr><tr><td colspan="1" rowspan="1" clas
 s="confluenceTd"><p><code>CamelAwsS3ContentDisposition</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The <strong>optional</strong> Content-Disposition HTTP header, which specifies presentational information such as the recommended filename for the object to be saved as.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3ContentControl</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The <strong>optional</strong> Cache-Control HTTP header which allows the user to specify caching behavior along the HTTP request/reply chain.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><span>CamelAwsS3ServerSideEncryption</span></td><td colspan="1" rowspan="1" class="confluenceTd">String</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel
  2.16:</strong> <span>The server-side encryption algorithm when encrypting the object using AWS-managed keys.</span></td></tr></tbody></table></div></div><h4 id="AWS-S3-AdvancedAmazonS3configuration">Advanced AmazonS3 configuration</h4><p>If your Camel Application is running behind a firewall or if you need to have more control over the <code>AmazonS3</code> instance configuration, you can create your own instance:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>The bucket will be created if it don't already exists.<br clear="none"> You can append query options to the URI in the following format, ?options=value&amp;option2=value&amp;...</p><h3 id="AWS-S3-URIOptions">URI Options</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Context</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>amazonS3Client</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Reference to a <code>com.amazonaws.services.sqs.AmazonS3</code> in the <a shape="rect" href="registry.html">Registry</a>.</p></td></
 tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>accessKey</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Amazon AWS Access Key</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>secretKey</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Amazon AWS Secret Key</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>amazonS3Endpoint</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The region with which the AWS-S3 client wants to work with.</p></td></tr><tr><td colspan="1" rowspan="1"
  class="confluenceTd"><p>region</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Producer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The region who the bucket is located. This option is used in the <code>com.amazonaws.services.s3.model.CreateBucketRequest</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>deleteAfterRead</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Consumer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Delete objects from S3 after it has been retrieved.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>deleteAfterWrite</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Producer</p></td><td colspan="1" rowspan="1" class="conflu
 enceTd"><p><strong>Camel 2.11.0</strong> Delete file object after the S3 file has been uploaded</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>maxMessagesPerPoll</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>10</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Consumer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The maximum number of objects which can be retrieved in one poll. Used in in the <code>com.amazonaws.services.s3.model.ListObjectsRequest</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>policy</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Shared</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8.4</strong>: The policy for this queue to set in the <code>com.amazonaws.services.s3.AmazonS3#setBucketPolicy()</code> method.</p></td></tr><tr><td colspan="1" rowspan="1" class
 ="confluenceTd"><p>storageClass</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Producer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8.4</strong>: The storage class to set in the <code>com.amazonaws.services.s3.model.PutObjectRequest</code> request.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>prefix</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Consumer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10.1</strong>: The prefix which is used in the <code>com.amazonaws.services.s3.model.ListObjectsRequest</code> to only consume objects we are interested in.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>multiPartUpload</p></td><td colspan="1" rowspan="1" class="confluenceTd"><code>false</code></td><td 
 colspan="1" rowspan="1" class="confluenceTd">Producer</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.15.0</strong>: If it is true, camel will upload the file with multi part format, the part size is decided by the option of <code><span style="line-height: 1.4285715;">partSize</span></code></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>partSize</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>25 * 1024 * 1024</code></p></td><td colspan="1" rowspan="1" class="confluenceTd">Producer</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.15.0</strong>: Setup the partSize which is used in multi part upload, the default size is 25M.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">serverSideEncryption</td><td colspan="1" rowspan="1" class="confluenceTd">null</td><td colspan="1" rowspan="1" class="confluenceTd">Producer</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong> Sets 
 the server-side encryption algorithm when encrypting the object using AWS-managed keys. For example use AES256.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">proxyHost</td><td colspan="1" rowspan="1" class="confluenceTd">null</td><td colspan="1" rowspan="1" class="confluenceTd">Producer</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16</strong>: Specify a proxy host to be used inside the client definition.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">proxyPort</td><td colspan="1" rowspan="1" class="confluenceTd">null</td><td colspan="1" rowspan="1" class="confluenceTd">Producer</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16</strong>: Specify a proxy port to be used inside the client definition.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">includeBody</td><td colspan="1" rowspan="1" class="confluenceTd"><code>true</code></td><td colspan="1" rowspan="1" class="confluenceTd">Consumer</td><t
 d colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.17:</strong> If it is true the exchange body will be set to a stream to the contents of the file. If false the headers will be set with the S3 object metadata but the body will be null.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">operation</td><td colspan="1" rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1" class="confluenceTd">Producer</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.18: </strong>The operation to perform in case the end-user don't want to do a simple upload.</td></tr></tbody></table></div><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Required S3 component options</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>You have to provide the amazonS3Client in the <a shape="rect" href="re
 gistry.html">Registry</a> or your accessKey and secretKey to access the <a shape="rect" class="external-link" href="http://aws.amazon.com/s3" rel="nofollow">Amazon's S3</a>.</p></div></div><h3 id="AWS-S3-BatchConsumer">Batch Consumer</h3><p>This component implements the <a shape="rect" href="batch-consumer.html">Batch Consumer</a>.</p><p>This allows you for instance to know how many messages exists in this batch and for instance let the <a shape="rect" href="aggregator.html">Aggregator</a> aggregate this number of messages.</p><h3 id="AWS-S3-Usage">Usage</h3><h4 id="AWS-S3-MessageheadersevaluatedbytheS3producer">Message headers evaluated by the S3 producer</h4><div class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Header</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1"
  rowspan="1" class="confluenceTd"><p><code>CamelAwsS3Key</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The key under which this object will be stored.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3BucketName</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.18:</strong> The bucket Name which this object will be stored or which will be used for the current operation</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3BucketDestinationName</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.18:</strong><span>&#160;The bucket Destination Name which will be used for the current operation</span></p
 ></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3ContentLength</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>Long</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The content length of this object.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3ContentType</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The content type of this object.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3ContentControl</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8.2:</strong> The content control of this object.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3ContentDisposition</code></p></td><td colspan
 ="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8.2:</strong> The content disposition of this object.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3ContentEncoding</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8.2:</strong> The content encoding of this object.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3ContentMD5</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8.2:</strong> The md5 checksum of this object.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3DestinationKey</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code
 ></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.18:</strong> The Destination key which will be used for the current operation</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3Key</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The key under which this object will be stored or which will be used for the current operation</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3LastModified</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>java.util.Date</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8.2:</strong> The last modified timestamp of this object.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3Operation</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></
 p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.18: </strong>The operation to perform</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3StorageClass</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8.4:</strong> The storage class of this object.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3CannedAcl</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11.0:</strong> The canned acl that will be applied to the object. see <code>com.amazonaws.services.s3.model.CannedAccessControlList</code> for allowed values.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3Acl</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><c
 ode>com.amazonaws.services.s3.model.AccessControlList</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11.0:</strong> a well constructed Amazon S3 Access Control List object. see <code>com.amazonaws.services.s3.model.AccessControlList</code> for more details</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>CamelAwsS3Headers</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>Map&lt;String,String&gt;</code></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.15.0</strong>: support to get or set custom <span>objectMetadata headers.</span></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">CamelAwsS3ServerSideEncryption</td><td colspan="1" rowspan="1" class="confluenceTd">String</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong> <span>Sets the server-side encryption algorithm when encrypting the object using AWS-managed keys. </span><span>For example use AES
 256.</span></td></tr></tbody></table></div></div><h4 id="AWS-S3-MessageheaderssetbytheS3producer">Message headers set by the S3 producer</h4><div class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Header</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3ETag</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The ETag value for the newly uploaded object.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3VersionId</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The <strong>optional</strong> versi
 on ID of the newly uploaded object.</p></td></tr></tbody></table></div></div><h4 id="AWS-S3-MessageheaderssetbytheS3consumer">Message headers set by the S3 consumer</h4><div class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Header</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3Key</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The key under which this object is stored.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3BucketName</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The name o
 f the bucket in which this object is contained.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3ETag</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The hex encoded 128-bit MD5 digest of the associated object according to RFC 1864. This data is used as an integrity check to verify that the data received by the caller is the same data that was sent by Amazon S3.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3LastModified</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>Date</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The value of the Last-Modified header, indicating the date and time at which Amazon S3 last recorded a modification to the associated object.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3VersionId</code></p></td><t
 d colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The version ID of the associated Amazon S3 object if available. Version IDs are only assigned to objects when an object is uploaded to an Amazon S3 bucket that has object versioning enabled.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3ContentType</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The Content-Type HTTP header, which indicates the type of content stored in the associated object. The value of this header is a standard MIME type.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3ContentMD5</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The base64 encoded 128-bit MD5 digest of
  the associated object (content - not including headers) according to RFC 1864. This data is used as a message integrity check to verify that the data received by Amazon S3 is the same data that the caller sent.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3ContentLength</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>Long</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The Content-Length HTTP header indicating the size of the associated object in bytes.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3ContentEncoding</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The <strong>optional</strong> Content-Encoding HTTP header specifying what content encodings have been applied to the object and what decoding mechanisms must be applied in order to obtain the media-type ref
 erenced by the Content-Type field.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3ContentDisposition</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The <strong>optional</strong> Content-Disposition HTTP header, which specifies presentational information such as the recommended filename for the object to be saved as.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelAwsS3ContentControl</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The <strong>optional</strong> Cache-Control HTTP header which allows the user to specify caching behavior along the HTTP request/reply chain.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><span>CamelAwsS3ServerSideEncryption</span></td><td colspan="1" rowspan="1" class="con
 fluenceTd">String</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong> <span>The server-side encryption algorithm when encrypting the object using AWS-managed keys.</span></td></tr></tbody></table></div></div><h4 id="AWS-S3-AdvancedAmazonS3configuration">Advanced AmazonS3 configuration</h4><p>If your Camel Application is running behind a firewall or if you need to have more control over the <code>AmazonS3</code> instance configuration, you can create your own instance:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[AWSCredentials awsCredentials = new BasicAWSCredentials(&quot;myAccessKey&quot;, &quot;mySecretKey&quot;);
 
 ClientConfiguration clientConfiguration = new ClientConfiguration();