What is it and why should we care?
# Learn about metadata
# Learn about GraphQL vs REST
# Use Alteryx to query the API
# What is metadata?
# How and where can we see this data in Tableau? (prior to 2019.4)
# Why is this important for us and our customers?
The Tableau Metadata API enables you to discover and query assets and metadata indexed by Tableau Catalog.
You can do the following tasks:
- Discover data published to your server or online instance
- Track lineage
- Perform impact analysis
The Catalog indexes information about Tableau content and assets. The MetaData API surfaces this information. The relationship among the content and assets is called the relationship.
GraphQL is a query language for APIs that describes how to ask for and return only the data that you are interested in. It's using a type system that you define. It's not tied to a database technology or storage engine.
- Internally developed at Facebook in 2012
- Open-sourced in 2015
- Huge adoption among many tech companies
Why is this important? And why should we care?
How does REST work?
What is CRUD?
What are the limitations of REST?
1. Multiple endpoints
2. Versioning difficult
3. You receive all data from a request
4. Multiple unnecessary requests / travel of data
How is GraphQL helping here?
1. One endpoint
2. Versioning easier
3. Only get the data that you specify / describe
4. Get many resources in a single request
5. Bring your own code and data
What data is in the api?
1. General Tableau Content
2. Tableau Online and Server specific content
3. External assets associated with Tableau content
Data sources - both published and embedded
Workbooks
Sheets - including dashboards and stories
Fields: calculated, column - as they relate to the data source, group, bin, set, hierarchy, combined, and combined set
Filters: data source
Parameters
Flows
Sites
Projects
Users
Certifications and certifiers
Data quality warnings and messages
The Metadata API treats information about any data that comes from outside of the Tableau environment as external assets. External assets include the following:
Databases - includes local files, remote connections to servers, and web data connectors (WDC)
Tables - includes queries (custom SQL)
1. Give me a list of users on the server
2. Give me a list of users on the server and their workbooks
3. What types of database and table assets are used on my site?
Resources:
- https://help.tableau.com/current/api/metadata_api/en-us/index.html
- https://graphql.org/
- https://graphql.org/swapi-graphql/