Refresh Extract

Description

This job triggers a refresh of a data extract (data source). It uses this endpoint.

Orchestra uses the Python package: Tableau User Client to make these requests. Orchestra searches for the Datasource ID for you using the project_name and datasource_name parameters. If Orchestra cannot find the Datasource the task will fail.

Use Cases

We recommend creating a Refresh extract task for every 'Data Source' in Tableau.

This way, you can use Orchestra to trigger your refreshes on a cron or event based schedule. This has a number of advantages vs. using Tableau's in-built scheduler:

  • You can co-ordinate tasks outside of Tableau - these would typically be specific dbt job runs or operations that you know need to succeed before building your dashboards.

    • A common use-case is to have a dbt run job that transform the data so it is ready for Tableau to use. This way, you can ensure data pushed to Tableau adheres to data quality constraints.

  • You can use Orchestra to trigger jobs across Tableau accounts

  • You can refresh the data extracts independently of each other

  • When Tableau jobs run, cost is incurred. Running these operations on a schedule you set explicitly ensures these costs do not go out of hand

Parameters

These parameters are required to run the Extract refresh task

NameData typeRestrictionsExample

Datasource name

string

N.A.

datasource_name

Project name

string

N.A.

project_name

For Orchestra to be able to trigger a data extract you must ensure any credentials that the extract requires are embedded within the extract. You can ensure this by editing the data source and clicking 'Publish'. Then selecting 'Embed credentials'. See image below.

Error handling

Python Client

Orchestra uses the Tableau User Client to make the requests. This package handles common errors from Tableau. Orchestra parses the code, summary, and detail to help you debug any issues.

Notes

Embedding OAuth Credentials

Some connectors in Tableau connect use OAuth credentials. These credentials are short lived and only last a few hours. Therefore if you embed the credentials for a connector that uses OAuth it will fail if you configure the task to run on a schedule. We recommend using a different connector that does not rely on OAuth credentials. You can visit the Tableau documentation to learn more.

Last updated