AWS S3: Put Node

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

Node Properties

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

Credential Configuration

There are two options for configuring credentials:

  • Choose a Service Credential: Retrieves your AWS credentials from the selected service credential.

    • Credential Name Template: Choose which of your application’s AWS service credentials you would like to use. Note: Service credentials are not accessible from Edge Workflows, so only direct configuration is available for them. This field is templatable.
  • Enter Connection Info: Configure the AWS credentials directly within the node. All fields are required.

    • AWS Region Template: The AWS region to connect to. This field is templatable.
    • AWS Access Key ID Template: The AWS access key ID associated with the AWS account you wish to use. This field is templatable.
    • AWS Secret Access Key Template: The AWS secret access key associated with the AWS account you wish to use. This field is templatable.

We recommend that you create an AWS Key/Secret pair specifically for use in the Workflow Engine - a key that only has access to the proper AWS S3 buckets. We also recommend that you store these values as service credentials.

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

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 name of the file to upload, including the extension. If you wish to upload the file to a subdirectory within the bucket, the path to the file should be included in this field. (e.g. “path/to/my/file.ext”)
  • 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 GEA version 1.23.0 and higher.

Result Path

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"
}

Was this page helpful?


Still looking for help? You can also search the WEGnology Forums or submit your question there.