AWS S3: Get Node

The AWS S3: Get Node allows a workflow to retrieve a file and its metadata from an S3 bucket.

AWS S3: Get Node

Node Properties

There are three main configuration sections for the AWS S3: Get 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 get operation, the AWS user must have, at minimum, the following IAM Policy:

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

File Configuration

AWS S3: Get Node Config

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

  • Bucket Name: (Required) The S3 bucket where your file is located.
  • File Name: (Required) The full path to a file within the specified bucket. Limited to 1024 characters.

Result

AWS S3: Get Node Output

  • Result Type: Specifies how the file should be returned:

    • Get File Contents: Place the file’s data on the payload. Files retrieved by this method have a maximum size of five megabytes.
    • Get Download Link: Place a link to the file on the payload
    • File Encoding: (Required) The encoding of the file that you’re retrieving. Defaults to UTF-8.
  • Result Path: (Required) The result of the operation will be placed in an object at the specified payload path.

When the operation successfully executes, the result will contain two keys: the value retrieved from AWS S3, and some metadata about the file.
When the the operation encounters an error, the result will contain a single error key.

Node Example

The AWS S3: Get Node’s output varies with the selected result type:

  • When Get File Contents is selected, the result will look like the following:

      {
        "value":
          "1, 2, 3, 4
          12,  340,  360,  417
          45,  318,  342,  391
          56,  362,  406,  419",
        "metadata": { ... }
      }
  • When Get Download Link is selected, the result will look like the following:

      {
          "value": "https://<region>.amazonaws.com/<bucket-name>/<key>",
          "metadata": { ... }
      }

Node Errors

In the case of an error, the resulting object will contain an error key instead of the normal value and metadata keys.

{
  "error": "Access Denied"
}

Was this page helpful?


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