Metadata API
What is it and why should we care?
What we are going to do
# Learn about metadata
# Learn about GraphQL vs REST
# Use Alteryx to query the API
Some questions upfront..
# 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?
So what is this API all about
The Tableau Metadata API enables you to discover and query assets and metadata indexed by Tableau Catalog.
So what is this API all about
You can do the following tasks:
- Discover data published to your server or online instance
- Track lineage
- Perform impact analysis
What is metadata in Tableau?
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
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.
GraphQL
- 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?
GraphQL vs REST
How does REST work?
What is CRUD?
GraphQL vs REST
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
GraphQL vs REST
GraphQL vs REST
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
GraphQL
Example of GraphQL
The model of the Metadata API
What data is in the api?
1. General Tableau Content
2. Tableau Online and Server specific content
3. External assets associated with Tableau content
General 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
Tableau Online / Server
Sites
Projects
Users
Certifications and certifiers
Data quality warnings and messages
External Assets
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)
Practice Questions
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?
Thank you!
Resources:
- https://help.tableau.com/current/api/metadata_api/en-us/index.html
- https://graphql.org/
- https://graphql.org/swapi-graphql/
What is the Metadata API and Why should we care?
By Andre de Vries
What is the Metadata API and Why should we care?
- 233