Skip to end of banner
Go to start of banner

S3 Browser

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 47 Current »

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

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

  • Asterisk (*): Indicates a mandatory field.

  • Suggestion icon ((blue star)): Indicates a list that is dynamically populated based on the configuration.

  • Expression icon ( (blue star) ): Indicates the value is an expression (if enabled) or a static value (if disabled). Learn more about Using Expressions in SnapLogic.

  • Add icon ((blue star)): Indicates that you can add fields in the fieldset.

  • Remove icon ((blue star)): Indicates that you can remove fields from the fieldset.

Field Name

Field Type

Field Dependency

Description

Label*

Default ValueS3 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.

Do not add S3:/// before the bucket name, because the Snap can fail.

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.

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

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.

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

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.

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

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.

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

Default ValueValidate & 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.

    S3 Browser confiiguration settings
  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

  1. Download and import the Pipeline into SnapLogic.

  2. Configure Snap accounts as applicable.

  3. Provide Pipeline parameters as applicable.

  File Modified
You are not logged in. Any changes you make will be marked as anonymous. You may want to Log In if you already have an account.
No files shared here yet.
  • Drag and drop to upload or browse for files
  • Snap Pack History

    Release

    Snap Pack Version

    Date

    Type

    Updates

    May 2024

    main26341

    Stable

    Enhanced the S3 Select Snap to capture metadata and lineage information from the input document.

    February 2024

    436patches25360

    Latest

    Fixed an issue with the Amazon S3 Snaps that displayed a null pointer exception when the Access Key ID or Secret Key field was empty while utilizing the S3 Express Bucket in the S3 Account. The Snaps now throw the configuration exception if either field is empty.

    February 2024

    main25112

    Stable

    Updated and certified against the current Snaplogic Platform release.

    November 2023

    435patches24238

    Latest

    Added support for Amazon S3 Express One Zone in the Amazon S3 Snap Pack.

    November 2023

    main23721

    Stable

    Updated and certified against the current Snaplogic Platform release.

    August 2023

    main22460

    Stable

    Updated and certified against the current SnapLogic Platform release.

    May 2023

    433patches21816

    Latest

    The Amazon S3 Snaps automatically detect the Maximum session duration value for the Cross-Account IAM role (1 through 12 hours). The Snaps round down the value to the nearest hour. So, if the Snap administrator sets the Maximum session duration at 3 hours and 45 minutes, the Snaps read it as 3 hours. The Snaps also refresh the session before it expires. However, the automatic session refresh does not support the case of very large file upload or download that takes longer than the maximum session duration.

    May 2023

    main21015

    Stable

    Upgraded with the latest SnapLogic Platform release.

    February 2023

    432patches20385

    Latest

    Added support for Ultra Task Pipelines.

    February 2023

    main19844

    Stable

    Upgraded with the latest SnapLogic Platform release.

    November 2022

    main18944

    Stable

    • The S3 Browser Snap output now includes the Storage Class field, which indicates the archived status of the S3 object.

    • The S3 Download Snap no longer fails even when the pipeline has multiple Snaps after 430patches18348.

    October 2022

    430patches18674

    Latest

    • Introduced the following Snaps:

      • S3 Archive enables you to archive an S3 object and change its storage class.

      • S3 Restore enables you to restore an archived S3 object.

      • S3 Select enables you to retrieve a subset of data from an S3 object.

    • The S3 Download, S3 Archive, S3 Copy, S3 Delete, S3 Restore, and S3 Upload Snaps do not have the increased number of active threads accumulated, as they are now released immediately after the execution.

    • The S3 Download Snap now does not fail even when the pipeline has multiple Snaps after 430patches18348.

    • The S3 Browser Snap output now includes the Storage Class field, which indicates the archived status of the S3 object.

    August 2022

    430patches17354

    Latest

    The KMS Region field in the S3 Account now suggests the regions when you click the suggestion (blue star) icon.

    August 2022

    main17386

    Stable

    Introduced the Amazon S3 Snap Pack, which enables you to browse, copy, delete, download, or upload objects in S3. This Snap Pack contains the following Snaps:

    • S3 Browser: Lists the attributes of Amazon S3 objects in a specific bucket matching the prefix.

    • S3 Copy: Sends a copy request to the AWS S3 service to copy an Amazon S3 object from a source bucket to a target bucket.

    • S3 Delete: Removes an object from the specified bucket.

    • S3 Download: Downloads Amazon S3 objects from the S3 bucket.

    • S3 Upload: Uploads binary data to Amazon S3 objects.

    • S3 Presigned: Generates a presigned URL in the output document to access an Amazon S3 object.


    • No labels