ApplicationExperienceEdge 1.8.0

AWS S3: Put Node

The AWS S3: Put Node allows a workflow to upload a file into an S3 bucket.

AWS S3: Put Node

Node Properties

There are three main configuration sections for the AWS S3: Put Node …

Credential Configuration

AWS S3: Get Node Credentials

There are three parts to configuring credentials, and all of them are templatable:

We recommend that you create an AWS Key/Secret pair specifically for use in the Workflow Engine - keys that only have access to the proper AWS S3 buckets.
We also recommend that you store these values as workflow globals.

AWS Permissions

In order to perform a put operation, the AWS user must have, at minimum, the following IAM Policy:

{
  "Version": "YYYY-MM-DD",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["s3:PutObject"],
      "Resource": ["arn:aws:s3:::<bucket-name>/*"]
    }
  ]
}

File Configuration

AWS S3: Put Node Config

Next is to configure the fields required by S3. All applicable fields are templatable:

  • Bucket Name: (Required) The S3 bucket to upload to.
  • File Name: (Required) The full file path to upload to.
  • File Encoding: (Required) The encoding of the data being uploading. Defaults to UTF-8.
  • File Type: (Required) MIME type of the file being uploaded.
  • Server-Side Encryption: Enables AES-256 encryption on the uploaded file. See docs.

File Contents

There are two different ways to input the contents of your file. Both are templatable:

AWS S3: Put Node File Content

  • File Content: The content to upload. If left blank, your configured file will be uploaded without any content.

AWS S3: Put Node File URL

  • File URL: (Required) The URL where the file you wish to upload can be found. This option is useful when using the Temporary URL Output option in a notebook.

For Edge Workflows, the ability to upload via URL is only available in Edge Agent Version 1.23.0 and higher.

Result Path

AWS S3: Put Node Output

The success or failure of the operation can optionally be placed at the specified payload path. If the operation fails, the result object will contain an error key in addition to the success state.

Node Example

The following is an example of a successful operation:

{
  "success": "true"
}

Node Errors

The following is an example of a failed operation:

{
  "success": "false",
  "error": "Access Denied"
}