S3 Browser

Overview

You can use this Snap to list the attributes of S3 objects in a specific bucket matching the prefix. It internally lists all S3 objects with the specified bucket name and prefix, and then applies the filter if any.

Note: AWS S3 does not define any folder object and the '/' characters are part of the S3 object key names.


Snap views

View Description Examples of upstream and downstream Snaps
Input Key/value pairs used to evaluate expression properties in this Snap.
Output The output displays the following attributes:
  • bucket: The S3 bucket name.

  • objectKey: The S3 object with the prefix.

  • path: The path to the S3 bucket.

  • size: The size of the S3 object.

  • lastModified: The date when the S3 object was last modified.

  • storage-class: The Storage Class field, which indicates the archived status of the S3 object.

  • ownerDisplayName: The display name of the S3 owner.

  • ownerID: The ID of the S3 owner.

The attributes for each S3 object matching the specific Snap field values. For example, if you have the following S3 objects with the prefix "foo/" in the bucket "mrtest":

Important:
  • foo/bar/ban

  • foo/bar/bash

  • foo/bar/baz

  • foo/batbat/baz

  • foo/boo

If the S3 Browser Snap has the following properties, then the Snap produces output documents for all the five S3 objects.
  • Bucket: mrtest

  • Prefix: foo/

  • Filter: **

  • Delimiter:

If the S3 Browser Snap has the following properties, then the Snap produces only one output document for foo/boo.

  • Bucket: mrtest

  • Prefix: foo/

  • Filter: **

  • Delimiter: /

Warning: When you use the Cross Account IAM Role in the S3 account, the ownerDisplayName and ownerID fields may be empty in the output document.
Error

Error handling is a generic way to handle errors without losing data or failing the Snap execution. You can handle the errors that the Snap might encounter when running the pipeline by choosing one of the following options from the When errors occur list under the Views tab. The available options are:

  • Stop Pipeline Execution Stops the current pipeline execution when an error occurs.
  • Discard Error Data and Continue Ignores the error, discards that record, and continues with the remaining records.
  • Route Error Data to Error View Routes the error data to an error view without stopping the Snap execution.

Learn more about Error handling in Pipelines.

Snap settings

Legend:
  • Expression icon (): Allows using pipeline parameters to set field values dynamically (if enabled). SnapLogic Expressions are not supported. If disabled, you can provide a static value.
  • SnapGPT (): Generates SnapLogic Expressions based on natural language using SnapGPT. Learn more.
  • Suggestion icon (): Populates a list of values dynamically based on your Snap configuration. You can select only one attribute at a time using the icon. Type into the field if it supports a comma-separated list of values.
  • Upload : Uploads files. Learn more.
Learn more about the icons in the Snap settings dialog.
Field / Field set Type Description
Label String

Required. Specify a unique name for the Snap. Modify this to be more appropriate, especially if more than one of the same Snaps is in the pipeline.

Default value: S3 Browser

Example: Browser IT Resources
Bucket String/Expression/ Suggestion

Required. Specify or select the S3 bucket name, from where the S3 objects are to be listed.

Bucket names are unique globally and can be accessed without the region name in most cases. If you cannot access a bucket name without its region name, you can specify the region information with the following syntax: <S3_bucket_name>@<region_name>

Warning: Do not add S3:/// before the bucket name, because the Snap can fail.
Note: If you enter an incorrect region name, but the bucket name is valid, the AWS S3 service might successfully access the bucket without errors.
  • You can access an S3 bucket in an S3 Virtual Private Cloud (VPC) endpoint by specifying the bucket name with the following syntax:

    • <S3_bucket_name>@<VPC_S3_endpoint>

  • You can access an S3 Express One Zone bucket with the following syntax:

    • <bucket-name>--<region>-<available-zone>--x-s3

  • S3 Express One Zone does not support the following bucket name pattern:

    • <bucket>@<region_info>.

  • S3 Express One Zone does not support VPC.

Default value: N/A

Examples:
Prefix String/Expression/ Suggestion

Specify the prefix of S3 object key names.

Note:
  • When you specify the Bucket and Prefix field values and leave default values for the remaining fields, the Snap lists all S3 objects matching the prefix in the bucket.

    You can select an object key from the suggested list and use it for the prefix. The maximum length of the suggested list is 1,000.

  • S3 Express One Zone only supports prefixes that end in a delimiter.

Default value: None.

Examples:
  • test

  • test/

  • abc/xyz/

Filter (Glob) String/Expression

Specify the filter the Snap should use internally to list all S3 objects.

Note: The Snap matches the specified Bucket and Prefix and then applies the filter. A glob pattern of <Prefix> + <Filter> is applied to the entire string of each S3 object key.
The definition of the glob pattern is as follows:
  • The * character matches zero or more characters of an S3 object name without crossing '/' boundaries.

  • The ** characters match zero or more characters crossing '/' boundaries.

  • The ? character matches exactly one character of a name component.

  • The backslash character (\) is used to escape characters that would otherwise be interpreted as special characters. The expression \\ matches a single backslash and "\{" matches a left brace.

  • The [ ] characters are a bracket expression that matches a single character of a name component out of a set of characters. For example, [abc] matches "a", "b", or "c". You may use the hyphen (-) to specify a range, so [a-z] specifies a range that matches from "a" through "z" (inclusive). These forms can be mixed so [abce-g] matches "a", "b", "c", "e", "f" or "g". If the character after the [ is a ! then it is used for negation so [!a-c] matches any character except "a", "b", or "c".

  • In a bracket expression, the *, ? and \ characters match themselves. The (-) character matches itself if it is the first character in the brackets, or the first character after the ! if negating.

  • The { } characters are a group of subpatterns, where the group matches if any subpattern in the group matches. The "," character is used to separate the subpatterns. Groups cannot be nested.

  • Leading period and dot characters in names are treated as regular characters in match operations. For example, the "*" glob pattern matches file name ".login".

Default value: **

Example:
  • *.csv Matches an object name that represents a file name ending in .csv

  • * .* Matches object names containing a dot

  • {.csv, .json} Matches object names ending with .csv or .json

  • foo.? Matches object names starting with foo. and a single character extension

  • home/*/*Matches home/gus/data

  • home/**. Matches home/gus and home/gus/data

Show Advanced Properties Checkbox

Displays Advanced Properties when you select this checkbox.

Select this checkbox to display the advanced properties.

Deselect this checkbox to hide the advanced properties.

Default status: Deselected

Maximum Object Keys String/Expression Appears on selecting Show Advanced Properties checkbox.

Specify the maximum number of object keys at the output view. ‘All’ or an empty field produces all matching object key names.

Note: If the Delimiter is blank, the Maximum Object Keys are the number of object keys in the first output view plus the number of common prefixes in the second output view regardless of the the second output view being open or closed.
Ignore Empty Result Checkbox

Appears when you select the Show Advanced Properties checkbox.

Select this checkbox if you want the Snap to produce no output when there is no matching S3 object key. Else, the Snap outputs a blank document when there are no matching S3 object keys.

Default status: Selected

Maximum Retries Integer/Expression

Appears on selecting Show Advanced Properties checkbox.

Required. Specify the maximum number of retry attempts to perform in case of a temporary network loss.

Default value: 3

Example: 5

Pass through Checkbox Appears on selecting Show Advanced Properties checkbox.

Select this checkbox to pass the input document to the output view as a value under the 'original' key.

Default status: Deselected

Delimiter String/Expression

Appears on selecting Show Advanced Properties checkbox.

Specify an optional delimiter to produce object keys that contain the same string between the prefix and the first occurrence of the delimiter.

A delimiter '/' causes the Snap to produce a nonrecursive object-key listing.

Note: When the Delimiter field is not empty and if there is a common prefix, it is displayed in the second output view. The common prefix is similar to a subfolder with one or more S3 objects in it.
Snap execution Dropdown list
Choose one of the three modes in which the Snap executes. Available options are:
  • Validate & Execute: Performs limited execution of the Snap and generates a data preview during pipeline validation. Subsequently, performs full execution of the Snap (unlimited records) during pipeline runtime.
  • Execute only: Performs full execution of the Snap during pipeline execution without generating preview data.
  • Disabled: Disables the Snap and all Snaps that are downstream from it.

Default value: Execute only

Example: Validate & Execute

Examples