Skip to content

AWS S3 ​

Upload, download, delete, duplicate, move, and list files in AWS S3 buckets with multipart support

This node signs in with a credential: AWS Signature V4. See Connect a credential.

Actions ​

Steps this node can perform. Add one from Add a step, then pick the action.

Upload to S3 ​

Upload a file from EFS (workflow reference file) to S3 bucket with optional metadata, tags, and encryption

Settings

FieldTypeRequiredDescription
Source TypeChoiceYesSource of file to upload: inline filename or file upload
Options: Inline, File
Default: inline
ContentTextData content to write to S3 (text, JSON, CSV, etc.)
FileFileFile to upload to S3 (attach new file or reference file from previous node)
Bucket NameTextYesTarget S3 bucket name
Object KeyTextYesS3 object key (path and filename in S3)
Content-TypeTextOverride MIME type (auto-detected from key extension if not set)
Storage ClassChoiceS3 storage class (default: STANDARD)
Options: Standard, Intelligent-Tiering, Standard-IA, One Zone-IA, Glacier Instant Retrieval, Glacier Flexible Retrieval, Glacier Deep Archive
Server-Side EncryptionChoiceEncryption method for data at rest
Options: None, AES256, AWS KMS
KMS Key IDTextKMS key ID (required if using aws:kms encryption)
MetadataObjectCustom metadata key-value pairs
TagsObjectObject tags as key-value pairs
ACLChoiceAccess Control List (default: private)
Options: Private, Public Read, Public Read-Write, Authenticated Read, Bucket Owner Read, Bucket Owner Full Control

Output

Later steps use this data by picking this step in the $ picker. For example, bucket is $.<step ID>.output.bucket.

json
{
  "bucket": "string",
  "etag": "string",
  "key": "string",
  "location": "string",
  "serverSideEncryption": "string",
  "size": 0,
  "storageClass": "string",
  "success": false,
  "uploadedAt": "string",
  "versionId": "string"
}

Example values show the shape of the data, not real values. See Using data from earlier steps.

Field descriptions
FieldTypeDescription
bucketText
etagText
keyText
locationText
serverSideEncryptionText
sizeNumber
storageClassText
successYes / No
uploadedAtText
versionIdText

Download from S3 ​

Download a file from S3 to EFS (becomes a reference file for subsequent nodes)

Settings

FieldTypeRequiredDescription
Bucket NameTextYesSource S3 bucket name
Object KeyTextYesS3 object key to download
Destination File NameTextFile name in EFS (defaults to S3 object filename if not provided)
Version IDTextSpecific version to download (for versioned buckets)

Output

Later steps use this data by picking this step in the $ picker. For example, bucket is $.<step ID>.output.bucket.

json
{
  "bucket": "string",
  "contentType": "string",
  "destFileName": "string",
  "downloadedAt": "string",
  "etag": "string",
  "key": "string",
  "lastModified": "string",
  "metadata": {},
  "size": 0,
  "success": false,
  "versionId": "string"
}

Example values show the shape of the data, not real values. See Using data from earlier steps.

Field descriptions
FieldTypeDescription
bucketText
contentTypeText
destFileNameText
downloadedAtText
etagText
keyText
lastModifiedText
metadataObject
sizeNumber
successYes / No
versionIdText

Delete from S3 ​

Delete an object from S3 bucket (creates delete marker for versioned buckets)

Settings

FieldTypeRequiredDescription
Bucket NameTextYesS3 bucket name
Object KeyTextYesS3 object key to delete
Version IDTextSpecific version to delete (for versioned buckets)

Output

Later steps use this data by picking this step in the $ picker. For example, bucket is $.<step ID>.output.bucket.

json
{
  "bucket": "string",
  "deleteMarker": false,
  "deletedAt": "string",
  "key": "string",
  "success": false,
  "versionId": "string"
}

Example values show the shape of the data, not real values. See Using data from earlier steps.

Field descriptions
FieldTypeDescription
bucketText
deleteMarkerYes / No
deletedAtText
keyText
successYes / No
versionIdText

Duplicate in S3 ​

Server-side copy of an object within or across S3 buckets (no data transfer through client)

Settings

FieldTypeRequiredDescription
Same BucketYes / NoCopy within the same bucket (true) or across different buckets (false)
Default: true
BucketTextYesS3 bucket name (used for both source and destination when sameBucket=true)
Source KeyTextYesSource S3 object key (path/filename)
Destination BucketTextDestination S3 bucket name (only used when sameBucket=false)
Destination KeyTextYesDestination S3 object key (path/filename)
Storage ClassChoiceStorage class for destination object (optional - inherits from source if not set)
Options: Standard, Intelligent-Tiering, Standard-IA, One Zone-IA, Glacier Instant Retrieval, Glacier Flexible Retrieval, Glacier Deep Archive

Output

Later steps use this data by picking this step in the $ picker. For example, copiedAt is $.<step ID>.output.copiedAt.

json
{
  "copiedAt": "string",
  "destBucket": "string",
  "destKey": "string",
  "etag": "string",
  "metadataCopied": false,
  "serverSideEncryption": "string",
  "sourceBucket": "string",
  "sourceKey": "string",
  "sourceVersionId": "string",
  "storageClass": "string",
  "success": false,
  "versionId": "string"
}

Example values show the shape of the data, not real values. See Using data from earlier steps.

Field descriptions
FieldTypeDescription
copiedAtText
destBucketText
destKeyText
etagText
metadataCopiedYes / No
serverSideEncryptionText
sourceBucketText
sourceKeyText
sourceVersionIdText
storageClassText
successYes / No
versionIdText

Move in S3 ​

Move an object within or between S3 buckets (server-side copy + delete source). Simplified version always copies metadata from source.

Settings

FieldTypeRequiredDescription
Same BucketYes / NoMove within the same bucket (true) or between different buckets (false)
Default: true
BucketTextYesS3 bucket name (used for both source and destination when sameBucket=true)
Source KeyTextYesSource S3 object key
Destination BucketTextDestination S3 bucket name (only used when sameBucket=false)
Destination KeyTextYesDestination S3 object key
Storage ClassChoiceStorage class for destination object
Options: Standard, Intelligent-Tiering, Standard-IA, One Zone-IA, Glacier Instant Retrieval, Glacier Flexible Retrieval, Glacier Deep Archive

Output

Later steps use this data by picking this step in the $ picker. For example, destBucket is $.<step ID>.output.destBucket.

json
{
  "destBucket": "string",
  "destKey": "string",
  "etag": "string",
  "movedAt": "string",
  "sourceBucket": "string",
  "sourceDeleteError": "string",
  "sourceDeleted": false,
  "sourceKey": "string",
  "storageClass": "string",
  "success": false,
  "versionId": "string"
}

Example values show the shape of the data, not real values. See Using data from earlier steps.

Field descriptions
FieldTypeDescription
destBucketText
destKeyText
etagText
movedAtText
sourceBucketText
sourceDeleteErrorText
sourceDeletedYes / No
sourceKeyText
storageClassText
successYes / No
versionIdText

List Files in S3 ​

List objects in an S3 bucket, optionally filtered by prefix. Returns one page of results with a continuation token for fetching the next page.

Settings

FieldTypeRequiredDescription
Bucket NameTextYesS3 bucket to list
PrefixTextFilter keys by prefix (e.g. uploads/2024/)
RecursiveYes / NoList all keys recursively under prefix (true) or only immediate keys (false)
Default: false
Max KeysNumberNumber of items per page (1–1000, default 100)
Default: 100
Continuation TokenTextToken from a previous list result to fetch the next page

Output

Later steps use this data by picking this step in the $ picker. For example, bucket is $.<step ID>.output.bucket.

json
{
  "bucket": "string",
  "count": 0,
  "isTruncated": false,
  "items": [
    {
      "etag": "string",
      "key": "string",
      "lastModified": "string",
      "size": 0,
      "storageClass": "STANDARD"
    }
  ],
  "nextContinuationToken": "string",
  "prefix": "string",
  "success": false
}

Example values show the shape of the data, not real values. See Using data from earlier steps.

Field descriptions
FieldTypeDescription
bucketText
countNumber
isTruncatedYes / No
items[]List
items[].etagTextEntity tag of the object
items[].keyTextObject key
items[].lastModifiedTextLast modified time
items[].sizeNumberObject size in bytes
items[].storageClassTextStorage class, e.g. STANDARD
nextContinuationTokenText
prefixText
successYes / No