例えばDWHやデータマートのあるテーブルの整形ロジックを変更した時、どのワークブックが影響を受けるか気になる時ってありますよね。こんな時、ワークブックとテーブルの対応表があればメンテナンスがしやすいのですが、一から手動で作成・運用していくのは辛くなってくるものです……
そこで有効なのがTableauメタデータAPI!
本記事ではメタデータAPIを利用してワークブックとテーブルの対応表を取得する方法をご紹介します。
メタデータAPIで何ができる?
メタデータAPIを利用することでTableau CloudまたはTableau Server上にあるワークブックやそれに紐づくデータなどメタデータに関する情報をGraphQLを用いて取得することができます。
ブラウザツールでメタデータAPIを試してみる
メタデータAPIをすぐに試すことができる環境として、GraphiQLというブラウザツールが用意されています。今回はこちらのツールを使ってメタデータAPIを試してみます。
1. Tableau Cloud/Serverにサインイン
GraphiQLを利用するためには、あらかじめTableau CloudまたはTableau Serverにサインインしておく必要があります。
2. GraphiQLにアクセス
サインインできたら、次はGraphiQLにアクセスします。
URLは以下の通りです。
https://<server-name>/metadata/graphiql/
例)https://us-west-2b.online.tableau.com/metadata/graphiql/
アクセスに成功すると以下のような画面が表示されます。
※画面左側がクエリ編集画面、右側が出力表示画面になっています。
3. GraphQLを用いてメタデータを抽出
ワークブック名とワークブックに紐づくテーブル名を抽出するために下記クエリを実行します。
query getWorkbooksAndTables {
workbooks {
id
name
upstreamTables {
id
name
}
}
}
※GraphQLのスキーマに関する情報は下記ドキュメントをご参照ください
実行すると、画面右側に出力結果が表示されます。
まとめ
メタデータAPIはGraphQLを用いることで1つのエンドポイントで多くの情報を抽出することができます。今回紹介したGraphiQLでのメタデータ取得方法は、単発で情報を取り出すことはできますが、運用には不向きです。余力があれば運用を見据えた活用方法も本ブログでご共有できればと思いますm(__)m