ZipFile Read

In this article

Overview

You can use this Snap to extract files from an archive file and write them to the binary output view.

The archive format is automatically detected by examining the file header.  The supported formats are PKZIP and 7-Zip. 

Snap Type

The ZipFile Read Snap is a Read type Snap that reads files from archive files.

Prerequisites


Support for Ultra Pipelines

 Does not support Ultra Pipelines

Limitations

None.

Known Issues

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

Upstream Snap is optional. Any Snap with a document output view can be connected upstream.

The Snap does not require input data. Input documents may be used to evaluate any JavaScript expression in the File property. It may contain value(s) to evaluate the JavaScript expression in the File property.

Output

Binary



  • Min: 1

  • Max: 1

  • File Writer

  • Binary Router

  • JSON Parser

Binary data read from the source specified in the File property with header information about the binary stream.

Each file extracted from the provided zip file is written as binary object to this output view. The header of the binary object has details about the file extracted like content-location, content-type, content-length, last-modified, and zip-filename.

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. The available options are:

  • 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 rest of the 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.

Account

This Snap uses account references created on the Accounts page of SnapLogic Manager to handle access to this endpoint. This Snap supports a Basic auth account, an AWS S3 auth account, SSH Auth account, SMB account, or no account. See Configuring Binary Accounts for information on setting up accounts that work with this Snap.

Account types supported by each protocol are as follows:

Protocol

 Account types

Protocol

 Account types

sldb

no account

s3

AWS S3

ftp

Basic Auth

sftp

Basic Auth, SSH Auth 

ftps

Basic Auth

hdfs

no account

http

no account

https

no account

smb

SMB

wasb

Azure Storage

wasbs

Azure Storage

gs

Google Storage

Required settings for account types are as follows:

Account Type

 Settings

Account Type

 Settings

Basic Auth

Username, Password

AWS S3

Access-key ID, Secret key

SSH Auth

Username, Private key, Key Passphrase

SMB

Domain, Username, Password

Azure Storage

Account name, Primary access key

Google Storage

Approval prompt, Application scope, Auto-refresh token
(Read-only properties are Access token, Refresh token, Access token expiration, OAuth2 Endpoint, OAuth2 token and Access type.)

Snap Settings

  • Asterisk ( * ): Indicates a mandatory field.

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

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

  • Add icon (): Indicates that you can add fields in the field set.

  • Remove icon (): Indicates that you can remove fields from the field set.

Field Name

Field Type

Description



Field Name

Field Type

Description



Label*

Default ValueZipFile Read
ExampleZipFile Read

String

Specify the name for the Snap. You can modify this to be more specific, especially if you have more than one of the same Snap in your Pipeline.

File*


Default value: [None] 
Example: contact.zip



String/Expression

Specify the URL for the zip file source. It should start with a file protocol. The supported file protocols are:

  • http

  • https

  • s3

  • sftp

  • ftp

  • ftps

  • sldb

  • smb

  • wasb

  • wasbs

  • gs

This Snap supports S3 Virtual Private Cloud (VPC) endpoint.

  • Ensure the file name, folder name, or the file path does not contain '?' character because it is not fully supported and when present, the Snap might fail.

  • The FTPS file protocol works only in explicit mode. The implicit mode is not supported.

Prevent URL encoding



Default Value: Deselected



Checkbox

 

Number of retries


Default Value: 0
Example:  3



Integer/Expression

Specify the maximum number of retry attempts that the Snap must make in case there is a network failure, and the Snap is unable to read the target file.

If the value is larger than 0, the Snap first downloads the target file to a temporary zip file. If any error occurs during the download, the Snap waits for the time specified in the Retry interval and attempts to download the file again from the beginning. When the download is successful, the Snap starts to unzip the data and stream the data from the temporary file to the downstream Pipeline. All temporary local files are deleted when they are no longer needed.

Minimum value: 0

Retry interval (seconds)



Default Value: 1
Example: 3

Integer/Expression

Specify the minimum number of seconds for which the Snap must wait before attempting recovery from a network failure.

Minimum value: 1

Advanced properties

Use this field set to define additional properties for the Snap.

SAS URI

Dropdown

Values

String/Expression

Provide a value for the SAS URI.

Snap Execution

 

Default ValueExecute only
Example: Validate & Execute

Dropdown list

Select one of the following three modes in which the Snap executes:

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