AWS S3
Type ID: s3 · Kind: Action · Trace: TOOL
Interact with AWS S3 to upload and retrieve objects.
Credentials
aws
Resources & operations
- Object (
object)- Upload (
upload) — Upload an object to S3 - Get (
get) — Get an object from S3
- Upload (
Properties
Common
| Property | Key | Type | Required | Default | Possible values | Shown when |
|---|---|---|---|---|---|---|
| Resource | resource | options | Yes | object | Object (object) | — |
| Operation | operation | options | Yes | upload | Upload (upload), Get (get) | resource = object |
Object → Upload
| Property | Key | Type | Required | Default | Possible values | Shown when |
|---|---|---|---|---|---|---|
| Bucket Name | bucketName | string | Yes | '' | S3 bucket name | resource = object, operation = upload |
| Object Key | objectKey | string | Yes | '' | S3 object key | resource = object, operation = upload |
| Binary Property Name | binaryPropertyName | string | Yes | data | Name of the binary property containing the file data to upload | resource = object, operation = upload |
Object → Get
| Property | Key | Type | Required | Default | Possible values | Shown when |
|---|---|---|---|---|---|---|
| Bucket Name | bucketName | string | Yes | '' | S3 bucket name | resource = object, operation = get |
| Object Key | objectKey | string | Yes | '' | S3 object key | resource = object, operation = get |
| Binary Property Name | binaryPropertyName | string | Yes | data | Name of the binary property to write the downloaded file data to | resource = object, operation = get |
| Return Binary Data | returnBinaryData | boolean | No | true | true / false (include downloaded file as binary data in output) | resource = object, operation = get |
| Generate Download URL | generateDownloadUrl | boolean | No | false | true / false (generate a temporary presigned download URL) | resource = object, operation = get |
| Download URL Expiration Seconds | downloadUrlExpiresIn | number | No | 3600 | How long the generated download URL stays valid (1–604800 seconds) | resource = object, operation = get, generateDownloadUrl = true |
Notes
- Requires an aws credential; the credential ID is read from
credentials.id. A missing ID throwsAWS credential ID is required. The resolved credential must includeaccessKeyId,secretAccessKey, andregion, otherwiseAWS credentials must include accessKeyId, secretAccessKey, and regionis thrown. - Uses the AWS SDK (
@aws-sdk/client-s3); anS3Clientis constructed per execution from the resolved region and access keys. Commands honorcontext.executionControls.abortSignal. - Upload reads the first input item's binary property (
binaryPropertyName, base64), decodes it, and sends aPutObjectCommandwith the binary'smimeTypeasContentType. Throws if there are no input items, no binary for the property, or no base64data. Output:{ success: true, bucket, key, url }, whereurlis the public object URLhttps://{bucket}.s3.{region}.amazonaws.com/{key}. - Get: when
generateDownloadUrlis true, a presignedGetObjectCommandURL is produced via@aws-sdk/s3-request-presignerwith an attachmentContent-Disposition;downloadUrlExpiresInmust be between 1 and 604800 seconds or it throws. WhenreturnBinaryDatais false, only aHeadObjectCommandruns and the JSON result is returned (no binary). When true, aGetObjectCommanddownloads the body, rejecting objects larger than the 10 MB binary file size limit (MAX_BINARY_FILE_SIZE_BYTES), and the bytes are attached underbinary[binaryPropertyName](base64data,mimeType,fileName,fileSize). Output JSON:{ success: true, bucket, key, url, [downloadUrl, downloadUrlExpiresIn] }.