S3 Browser

In this article

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.

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

S3 Browser Settings

Snap Type

The S3 Browser Snap is a Read-type Snap that reads objects from S3.

Prerequisites

None.

Support for Ultra Pipelines 

Works in Ultra Pipelines. 

Limitations and Known Issues

None.

Snap Views

Type

Format

Number of Views

Examples of Upstream and Downstream Snaps

Description

Type

Format

Number of Views

Examples of Upstream and Downstream Snaps

Description

Input 

Document

  • Min: 0

  • Max: 1

  • Mapper

  • S3 Copy

Key/value pairs used to evaluate expression properties in this Snap. 

Output

Document

 

  • Min: 1

  • Max: 2

  • S3 Download

  • Mapper

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

  • 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: /

 

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 while running the Pipeline by choosing one of the following options from the When errors occur list under the Views tab:

  • Stop Pipeline Execution: Stops the current pipeline execution when the Snap encounters an error.

  • 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

Field Name

Field Type

Field Dependency

Description

Field Name

Field Type

Field Dependency

Description

Label*

 

Default Value: S3 Browser
Example: Browse IT Resources

String

N/A

Specify a unique name for the Snap.

 

Bucket*

 

Default Value: N/A
Examples: 

String/Expression/Suggestion

N/A

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>

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.

 

Prefix

Default Value: None
Examples: 

  • test

  • test/

  • abc/xyz/

String/Expression/Suggestion

N/A

Specify the prefix of S3 object key names.

Filter (Glob)

Default Value: **
Examples: 

  • *.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

String/Expression

N/A

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

Show Advanced Properties

Default Value: Deselected

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.

Maximum Object Keys

Default Value: All
Example: 2500

 

String/Integer/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.

Ignore Empty Result

Default Value: Selected

Checkbox

Appears on selecting 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.

 

 

Maximum Retries*

Default Value: 3
Example: 5

Integer/Expression

Appears on selecting Show Advanced Properties checkbox.

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

 

Pass Through

 

Default Value: Deselected

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 .

 

Delimiter


Default Value: None
Example: /

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.

Snap Execution

Default Value: Validate & Execute
Example: Execute only

Dropdown list

N/A

Select 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.

Example

Basic Use Case - Managing Data in S3

This basic use case demonstrates how to perfrom the following operations using the Amazon S3 Snaps:

  • Upload a single JSON file in the S3 object

  • Copy the file

  • List the S3 Object and its attributes

  • Download the file

  • Delete the file

  1. Configure key-value pairs containing parameters to pass to the Pipeline during execution.

  2. Configure the JSON Generator Snap with sample data as follows.

  3. Configure the JSON Formatter Snap to format the data. You can view the JSON binary data in the output preview of the Snap.

  4. Configure the S3 Upload Snap to upload the binary data to S3 objects residing in the S3 bucket.

  5. Configure the S3 Copy Snap to copy the S3 object from source folder to target folder.

  6. Configure the S3 Browser Snap to list the attributes for S3 objects.

  7. Configure the S3 Download Snap to download S3 objects.

  8. As the output is in binary format, you need to convert the binary data to document data using the Binary to Document Snap.

  9. Configure the S3 Delete Snap to delete the S3 objects. You can view the status of the deleted object in the output preview.


Download this Pipeline. 

Downloads

 

  File Modified

File Example_Managing_Data_in_S3.slp

Jun 03, 2022 by Kalpana Malladi

Snap Pack History


Related Links