Versions Compared

Key

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

On this Page

Table of Contents
maxLevel2
excludeOlder Versions|Additional Resources|Related Links|Related Information

Snap type:

Transform


Description:

This Snap converts the value of the "content" key in the input document to a binary data at the output view.

 
  • Expected upstream Snaps: Any Snap with a document output view, such as Structure Snap with a "content" key/value pair in the output document
  • Expected downstream Snaps: Any Snap with a binary input view, such as File Writer, HDFS Writer.
  • Expected input: Document data with a "content" key/value pair, the value of the "content" key should be a byte array or a string or a character array.
  • Expected output: The output view provides the binary data copied from the value to the "content" key in the input document data. If the input document data contains fields other than the "content" key/value pair, the input data (other than the "content") is inserted into the header part of the output binary data. One use case would be to connect Salesforce Attachment Download Snap as an upstream Snap to download a file attached to an SObject record.


Prerequisites:

[None]


Support and limitations:


Account: 

Accounts are not used with this Snap.


Views:


InputThis Snap has at most one document input view.
OutputThis Snap has at most one binary output view.
ErrorThis Snap has at most one document error view and produces zero or more documents in the view.


Settings

Label



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

Encode or Decode



Required. Select if the content should be Base64 encoded or Base64 decoded or none (BYTE_ARRAY). The options are:

  • ENCODE_BASE64
  • DECODE_BASE64
  • DOCUMENT
  • NONE
  • BYTE_ARRAY

If the input "content" data has already been Base64-encoded and ENCODE_BASE64 is selected, the Snap will not encode the content again. In the same way, if the input "content" data has not been Base64-encoded and DECODE_BASE64 is selected, the Snap will not attempt to decode the content. The format option DOCUMENT allows you to serialize the document into a SnapLogic-specific JSON represenation, which allows you to deserialize types such as Dates when read back using a BinaryToDocument Snap.

BYTE_ARRAY is used to pass raw binary data.  For example, a compressed .zip file can be created in many formats.  The safest way to convert such a file between binary and document is with BYTE_ARRAY.

When NONE is selected, the Snaplex's default platform specific encoding is used.This can be used for string text such as a .xml or a .csv format.  Because this uses platform specific encoding, it can vary between Snaplexes; therefore it is not advised to use NONE when passing data between pipelines that may be running in Snaplexes which run different operating systems.


Example: BYTE_ARRAY
Default value:    ENCODE_BASE64 

Binary header properties

Specifies the properties to add to the binary document's header. Click + to add a binary header.

Info
  • You can access the properties in a binary document header in the expression properties of downstream Snaps. For example, a 'content-location' property added to the header in this Snap can be referenced in the File name property of a File Writer Snap with the expression: $['content-location']. 

  • If you configure the Snap to output a single binary document, the headers are computed from the first input document. 

Example: Status can be specified using the Snap Header properties. 

Default value: None 

Expression

The value to use for a property in the binary header.

Default value: None

Target Path

Enter the target JSON path where the value from the expression will be written.

Example: $['content-location'] to write the property 'content-location'.

Default value: None

Multiexcerpt include macro
nameSnap Execution
pageAnaplan Read


Multiexcerpt include macro
nameSnap_Execution_Introduced
pageAnaplan Read

Examples


Downloading a PDF File Attached to a Salesforce Account Record

To download a PDF file attached to a Salesforce Account record, prepare a pipeline of Salesforce Attachment Download Snap + Document to Binary Snap + File Writer Snap.

  • Salesforce Attachment Download Snap: Enter an Attachment ID.
  • Binary to Document Snap: Select "[BYTE_ARRAY]" for the Encode or Decode property. (Salesforce Attachment Download Snap provides Base64-decoded content data.)
  • File Writer Snap: Enter the output file URL in the File name property.

The following pipeline reads the data in a .json format, encodes the data into a binary format and then decodes the data into output view.

The File Reader Snap reads the JSON data to be encoded to a binary format:

The Binary to Document encodes the data from the input stream, the respective output preview as displayed below:

The Document to Binary Snap decodes the data into an output preview as displayed below:

Excerpt Include
Transform Snap Pack
Transform Snap Pack
nopaneltrue