Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

In this article

Table of Contents
minLevel1
maxLevel7

...

The ZipFile Write Snap is a Write-type Snap that reads writes files from archive files.

...

Multiexcerpt macro
hiddenfalse
nameKI
fallbackfalse
  • This Snap Pack no longer natively supports RSA-SHA1 authentication with the Secure File Transfer Protocol (SFTP). To enable support for RSA-SHA1 authentication, set the following property from the Node Properties section of the Snaplex UI:

-Djsch.server_host_key=ssh-rsa -Djsch.client_pubkey=ssh-rsa

With the 4.33 GA release of the Binary Snap Pack, support for some algorithms for SFTP connection negotiation is removed for improved security and because we’ve updated the library used to connect to SFTP sources. If you want to revert to the previous settings, you can set the following jcc.jvm_options from the Node Properties section of the Snaplex UI. To update Cloudplexes, contact SnapLogic Support.

-Djsch.kex=ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1
-Djsch.server_host_key=ssh-rsa,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521
-Djsch.client_pubkey=ssh-rsa,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521
-Djsch.cipher=aes128-ctr,aes128-cbc,3des-ctr,3des-cbc,blowfish-cbc,aes192-ctr,aes192-cbc,aes256-ctr,aes256-cbc
-Djsch.check_ciphers=aes256-ctr,aes192-ctr,aes128-ctr,aes256-cbc,aes192-cbc,aes128-cbc,3des-ctr,arcfour,arcfour128,arcfour256
-Djsch.check_kexes=diffie-hellman-group14-sha1,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521
-Djsch.check_signatures=ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521

...

Type

Format

Number of Views

Examples of Upstream and Downstream Snaps

Description

Input 

Document

  • Min: 1

  • Max: ∞

Downstream Snap is optional. Any Snap with a document input view can be connected downstream.

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

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

...

Field Name

Field Type

Description

Label* 

Default ValueZipFile Write
ExampleZipFile Write

String

Specify a unique name for the Snap.

File name*


Default Value: N/A
Example: contact.zip

String/Expression

Specifies the URL of the file where the output binary data is written. The supported file protocols are:

  • sldb:

  • http:

  • sftp:

  • ftp:

  • ftps:

  • s3:

  • hdfs:

  • webdhfs:

  • smb:

  • wasb:

  • wasbs:

  • gs:

This Snap supports S3 Virtual Private Cloud (VPC) endpoint. For example, s3://my-bucket@bucket.vpce-028b7814794578709-vu0vvauy.s3.us-west-2.vpce.amazonaws.com
This property works similar to the File name property of the File Writer Snap. For additional information refer the Settings section of the File Writer Snap.

When using expressions to build a file name, ensure that the resulting file name does not contain characters that are not supported by the target platform. For example, a file name that contains the special character ":" is not supported in SMB.

Note
  • Ensure the file name does not contain '?' character because it is not supported. The Snap fails with an error if you include the '?' character.

  • When the Snap zips multiple binary data and when the File name property is an expression (such as $Filename), all file name values in the headers of the binary data should be the same. Otherwise, the Snap will throw an exception.

Multiexcerpt include macro
nameAcceptable File Paths
pageFile Writer

Multiexcerpt include macro
nameLint Warning
pageFile Writer

File action*

Default valueOverwrite
Example: Ignore

String/Expression

The action to perform if the file already exists. The options available include:

  • Overwrite: If Overwrite is selected, the Snap attempts to write the file without checking for the file's existence for  better performance and the "fileAction" field will be "overwritten" in the output view data.

  • Ignore: The Snap does not overwrite the existing file and will do nothing but write the status and file name to its output view.

  • Error:  If Error is selected, the error displays in the Pipeline Run Log. If an error view is defined, the error will be written there as well.

Info

Write files to Azure Blob Storage along with Content Type

You can prevent the Snap from writing files always to Azure Blob Storage (WASB: or WASBS: file protocol) with the application/octet-stream content-type. To do so, configure a binary header property in an upstream Snap, such as JSON Formatter or Mapper, to match the file contents – application/zipapplication/java-archive and so on; and pass it as the $content-type (case-sensitive) for the file.

Binary header property in upstream SnapImage RemovedBinary header property in upstream SnapImage Added
Note

For wasb:// and wasbs:// file protocols, only the Overwrite file action is supported.

Base directory

Default Value: N/A
Example: testFolder

String

The root directory for all the files added to .zip file.

Use input view label

Default Value: Deselected  

Checkbox

If true, the input view label is used for all names of the files added to the zip file. Otherwise, the input view ID is used instead, when input binary stream does not have its content-location in its header. When this option is selected, if there are more than one binary input streams in an input view, for the second input stream and after, the file names will be the input view label appended with '_n'. If the label is in the format of 'name.ext', '_n' will be append to the 'name', e.g. name_2.ext for the second input stream.

If you select this option, and  if Base directory is testFolder and the input view label is test.csv, the file name for the first binary input stream in that input view will be testFolder/test.csv, and the second, testFolder/test_2.csv, and the third, testFolder/test_3.csv, and so on.

Number of retries

Default Value: 0
Example3

Integer/Expression

Specifies the maximum number of retry attempts when the Snap fails to write. If the value is larger than 0, the Snap first stores the input data in a temporary zip file before writing to the target file.

Ensure that the local drive has sufficient free disk space as large as the expected target file size.

Minimum value: 0

Retry interval (seconds)

Default Value: 1
Example: 3

Integer/Expression

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

Minimum value: 1

AWS Canned ACL

Default Value: 1
Example: PublicRead

The predefined ACL grants (from AWS) to use when writing a file to S3. Choose a Canned ACL from the available options:

  • None

  • Private

  • PublicRead

  • PublicReadWrite

  • AuthenticatedRead

  • LogDeliveryWrite

  • BucketOwnerRead

  • BucketOwnerFullControl

  • AwsExecRead

Watch the video for more information about AWS Canned ACL.

Learn more about AWS Canned ACLs.

Note

This field appears only when your account type is set to AWS S3.

Advanced properties

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

SAS URI

Dropdown

The URI of the Shared Access Storage (SAS) to be accessed. Supported SAS types are:

  • Service SAS on container

  • Service SAS on blob

  • Account SAS

Note

If you specify the SAS URI value in the Snap settings, then the settings provided in the account (if any account is attached) are ignored.

Values

String/Expression

Provide a value for the SAS URI.

Multiexcerpt include macro
nameSnap Execution
pageSOAP Execute

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.

...