Tableau REST

Overview

You can use this Snap to invoke Tableau's REST API.


Tableau REST Snap dialog

Prerequisites

None.

Limitations

  • Supports Tableau 10.5.
  • To publish hyper files without packaging them as a data source, the file must contain exactly one schema in one table.

Snap views

View Description Examples of upstream and downstream Snaps
Input Data in document format.
Output REST output sent to the output view with Tableau REST XML (for example, Headers and REST Status line) with response entity converted from XML to JSON. Examples:
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 when 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 an error occurs.
  • 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

Note:
  • 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 (Plus Icon): Indicates that you can add fields in the field set.
  • Remove icon (Minus Icon): Indicates that you can remove fields from the field set.
Field / Field set Type Description
Label String Required. Specify a unique name for the Snap. Modify this to be more appropriate, especially if there are more than one of the same Snap in the pipeline.
REST operation String/Expression

Required. Specify or select the Tableau REST operation to perform. For a list of Tableau REST operations, see the Tableau API Reference documentation.

Default value: N/A

Example: publish_datasource

Timeout Integer/Expression Specify the timeout for HTTP in seconds.

Default value: 60

Example: 90

Maximum retries Integer/Expression Specify the maximum number of HTTP request retries.

Default value: 2

Example: 10

Upload file String/Expression Specify the path of the file that you want to upload.
Note:
  • If you enter a relative path, this Snap considers it as an SLDB file. If this field is left empty, HTTP entity and Batch Size fields are ignored.
  • If you enter an expression in this field, the input document is used to evaluate the expression. Each input document invokes one file upload. This field does not support wildcard or glob pattern.
  • Datasource and Workbook files should be same version as Tableau REST API (for example the .tde tableau data extract file should have been created from Tableau version 9.x for the publish data source REST operation).
Important: Used only for publish datasource and publish workbook REST operations to write data into Tableau.

Default value: N/A

Example: date.txt

Chunk size Integer/Expression Specify the chunk size (in kilobytes) to upload. Specify 0 if you do not want chunking mechanism to be used during upload/publish.
Note: This field only applies to publishing Tableau workbooks or Tableau datasources operations with an upload file defined. This is a recommended setting for large files and is mandatory for file sizes greater than 64 MB.

Default value: 1000

Example: 2000

Snap execution Dropdown list 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.

Behavior Change

In the 4.23 release, the Tableau REST Snap had a defect where it used site ID and user ID from the Tableau Account even if the selected REST operation required a site ID and/or user ID from the input document. This issue is fixed in the 4.24 release, so that the Snap uses values for the said IDs from the input document when available. Since this fix changes the Snap behavior, it is possible for production Pipelines to fail after the 4.24 release. Hence, you need to reconfigure the Tableau REST Snap using the site ID and user ID values from the input document.

Troubleshooting

  • Start new development with more simpler REST operations like query sites before troubleshooting more complex REST operations like publish datasource.
  • You may wish to use a second tool (For example, curl) for independent verification of Tableau Server configuration.
  • Tableau uses ID with GUID like values as opposed to worded names for input parameters. For example, SiteID is used instead of Site Name.

Examples