Home > docs > plugins v2 > S3 Task
The s3 task allows users to work with S3-compatible object stores.
To be able to use the task in a Concord flow, it must be added as a dependency:
configuration:
dependencies:
- mvn://com.walmartlabs.concord.plugins:s3-task:2.9.0
This adds the task to the classpath and allows you to invoke the task in a flow:
action - (mandatory) action to perform:
endpoint - string, the store API endpoint, if not specified the default
Amazon S3 endpoint is used;region - (mandatory) string, the store’s region;autoCreateBucket - boolean, create the s3 bucket specified if required;pathStyleAccess - boolean, enables the path-style access
which is used by some of S3 implementations;auth - (mandatory) authentication parameters:
basic
accessKey - string, the endpoint’s access key;secretKey - string, the endpoint’s secret key;bucketName - (mandatory) string, name of the object’s bucket;objectKey - (mandatory) string, the object’s key;ignoreErrors - boolean, if true any errors that occur during
the execution will be ignored and stored in the result variable;The getObject action is used to download objects from the store and save them
as temporary files in the process’ working directory.
- task: s3
in:
action: "getObject"
region: "us-east-1"
auth:
basic:
accessKey: "..."
secretKey: "..."
bucketName: "myBucket"
objectKey: "myObject"
out: result
- log: "Saved as ${result.path}"
The result is stored in the result variable:
ok - boolean, true if the execution is successful;path - string, path of the downloaded object;error - string, error message (if ignoreErrors is false).The putObject action is used to upload files from the process’ working
directory into the object store.
- task: s3
in:
action: "putObject"
region: "us-east-1"
auth:
basic:
accessKey: "..."
secretKey: "..."
bucketName: "myBucket"
objectKey: "myObject"
src: "local.file"
out: result