Amazon S3 Simple Storage Connector
This adapter manages data and its structures in Amazon S3 Blob Storage. It also persits data in cloud environments.
Properties
Operation | Defines the operation executed by the adapter Possible values:
|
Parameters
Adapter | Main adapter class (do not change!) Possible values: de.softproject.integration.adapter.amazpns3.AmazonS3SimpleStorageAdapter: Main class (default) | ||||||||||||||||||
keyId | Access key ID used to sign programmatic requests to AWS
Possible values: Any string containing the access key Id, e.g. | ||||||||||||||||||
secretKey | Secret access key used to sign programmatic requests to AWS
Possible values: Any string containing the secret access key e.g. | ||||||||||||||||||
region | Bucket region Possible values: Any string containing the region name, e.g.
| ||||||||||||||||||
bucket | Bucket name
Possible values: Any string containing the bucket name The following rules apply for naming S3 buckets in all AWS Regions. Bucket names...
| ||||||||||||||||||
bucketVersion | Bucket versioning to keeping multiple variants of an object in the same bucket Possible values:
| ||||||||||||||||||
publicAccess | Specifies whether buckets or files are publicly accessible or not during the AddGrantsPermission operation. | ||||||||||||||||||
publicPermission | Public Access Configuration. Possible values:
| ||||||||||||||||||
file | Name of file to be saved, see Objects The following character sets are generally allowed in key names:
Possible values: Any string containing the object key name, e.g.
| ||||||||||||||||||
path | Path of the file to be uploaded Possible values: Any valid path, e.g.
| ||||||||||||||||||
overwrite | Information whether the file should be overwritten or not Possible values:
| ||||||||||||||||||
targetBucket | Name of the bucket where the file will be copied or moved to Possible values: See parameter | ||||||||||||||||||
targetFile | Name the file will take when copied or moved to the new path Possible values: See parameter | ||||||||||||||||||
includeObjectsMetadata | Information whether object metadata should be included as part of the response Possible values:
|
Status values
1 | The operation was executed successfully |
0 | The operation's execution has not yet been completed or no result has been output |
-1 | An error occurred during the operation's execution |
Input
The adapter expects any input document, e.g. binary document or a base-64 document (XML or text).
- Operation
Upload: If parameterpathis specified, no input document is required. In all other cases an input document is needed. - Operation
DownloadandSearch: No input document is required. Operation
AddGrantsPermission:Sample input for the operation AddGrantsPermission
XML<?xml version='1.0' encoding='UTF-8'?> <RootElement> <Grant id="Canonical User ID"> <permission> Read </permission> <permission> Write </permission> <permission> WriteAcp </permission> <permission> ReadAcp </permission> <permission> FullControl </permission> </Grant> </RootElement>
To add object permissions, the parameters bucketandfileare required. To add bucket permissions, the parameterbucketis required andfilehas to be empty.Operation
RevokeGrantsPermission:Sample input for the operation RevokeGrantsPermission
XML<?xml version='1.0' encoding='UTF-8'?> <RootElement> <Grant id="Canonical User ID"> </Grant> </RootElement>
To add object permissions, the parameters bucketandfileare required. To add bucket permissions, the parameterbucketis required andfilehas to be empty.For the operation
AddBucketPolicythe input must have Json format.
Find additional information such as sample bucket policies, permissions in a policy and conditions in a policy.Operation
DeleteMultiFiles:Sample input for the operation DeleteMultiFiles
XML<?xml version='1.0' encoding='UTF-8'?> <RootElement> <Object name="File Name"></Object> <Object name="File Name"></Object> <Object name="File Name"></Object> <Object name="File Name"></Object> </RootElement>
Output
The adapter returns different kind of documents depending on the executed operation:
- Operation
Upload:- If the adapter was executed successfully (status
1), the adapter returns an XML document. If an error occurred during the adapter's execution (status
-1), the adapter does not return anything.
- If the adapter was executed successfully (status
- Operation
Search:If the adapter was executed successfully (status
1), the adapter returns an XML document with the used filters.Sample output for operation SEARCH
XML<?xml version='1.0' encoding='UTF-8'?> <ListBucket> <Bucket name="test-malaga2" region="eu-west-1"> <Object name="myFile.xml" url="https://s3-eu-west-1.amazonaws.com/test-malaga2/myFile.xml"/> <Object name="myFile2.xml" url="https://s3-eu-west-1.amazonaws.com/test-malaga2/myFile2.xml"/> <Object name="pic2.jpg" url="https://s3-eu-west-1.amazonaws.com/test-malaga2/pic2.jpg"/> <Object name="testing_folders/" url="https://s3-eu-west-1.amazonaws.com/test-malaga2/testing_folders/"/> <Object name="testing_folders/personalData.txt" url="https://s3-eu-west-1.amazonaws.com/test-malaga2/testing_folders/personalData.txt"/> </Bucket> </ListBucket>If the adapter was executed successfully (status
1) and the parameterIncludeObjectsMetadais selected, the metadata for each object are output additionally:Sample output for operation SEARCH including metadata
XML<?xml version='1.0' encoding='UTF-8'?> <ListBucket> <Bucket name="test-malaga2" region="eu-west-1"> <Object name="myFile.xml" url="https://s3-eu-west-1.amazonaws.com/test-malaga2/myFile.xml"> <Metadata lastModified="2018-12-10 13:42:38.000 +0100" instanceLength="158" eTag="a933d9ca99b473c7921c496727a32f91" contentType="application/octet-stream" contentLength="158"/> </Object> <Object name="myFile2.xml" url="https://s3-eu-west-1.amazonaws.com/test-malaga2/myFile2.xml"> <Metadata lastModified="2018-12-10 12:02:07.000 +0100" instanceLength="158" eTag="a933d9ca99b473c7921c496727a32f91" contentType="application/octet-stream" contentLength="158" contentLanguage="English"/> </Object> <Object name="pic2.jpg" url="https://s3-eu-west-1.amazonaws.com/test-malaga2/pic2.jpg"> <Metadata lastModified="2018-12-10 11:37:52.000 +0100" instanceLength="59580" eTag="fb913694d969758b431277b366f53d7" contentType="image/jpeg" contentLength="59580" contentLanguage="Spanish"/> </Object> <Object name="testing_folders/" url="https://s3-eu-west-1.amazonaws.com/test-malaga2/testing_folders/"> <Metadata lastModified="2018-12-10 12:24:54.000 +0100" eTag="d41d8cd98f00b204e9800998ecf8427e" contentType="application/x-directory"/> </Object> <Object name="testing_folders/personalData.txt" url="https://s3-eu-west-1.amazonaws.com/test-malaga2/testing_folders/personalData.txt"> <Metadata lastModified="2018-12-10 12:30:35.000 +0100" instanceLength="33" eTag="7960fb01e91834eb9d5ccbacdf45d0e5" contentType="application/octet-stream" contentLength="33" contentLanguage="Spanish"/> </Object> </Bucket> </ListBucket>If an error occurred during the adapter's execution (status
-1), the adapter does not return anything.
- Operation
Download:- If the adapter was executed successfully (status
1), the adapter returns the downloaded blob (text, XML, binary doc etc.). - If the object or bucket do not exist the status
-1is returned.
- If the adapter was executed successfully (status
Operation
GetAccessControlList:Sample output for the operation GetAccessControlList
XML<AccessControlList> <Object Grant="e0188cd1cbfbb71222450e8e416e138172b036cdf3646ab51fb0ae6334d5ae51" Permission="FULL_CONTROL"/> <Object Grant="7779a9de4e188ca2c3fd5ef47f12f2a0fd3b9b30d283e343e0a55746d8df4802" Permission="READ"/> <Object Grant="7779a9de4e188ca2c3fd5ef47f12f2a0fd3b9b30d283e343e0a55746d8df4802" Permission="READ_ACP"/> </AccessControlList>Operation
GetBucketPolicy:JAVA{ "Version":"2012-10-17", "Statement":[ } "Sid":"AddPerm", "Effect":"Allow", "Principal":"*", "Action":"s3:GetObject", "Resource":"arn:aws:s3:::softprojectamazons3input/*" } ] }