管理タグシステムテーブルのリファレンス
このページでは、管理タグシステムテーブルのスキーマとサンプルクエリーについて説明します。このテーブルには、顧客が作成したタグとシステム生成タグを含め、アカウント内の各 管理タグ キーのレコードが含まれています。これを使用して、アカウント内のどのタグが管理されているかをプログラムによって特定します。
テーブルパス : system.tags.governed_tags
ベータ版
このシステムテーブルはベータ版です。
管理タグシステムテーブルには、削除されたものを含むすべての管理タグ定義の現在のスナップショットが含まれています。管理タグが削除されると、そのdeleted_at Timestampが入力されます。現在の管理タグのリストを取得するには、deleted_atがnullの行にフィルターを適用します。アカウントの管理タグを取得するを参照してください。
管理タグのテーブルスキーマ
管理タグシステムテーブルは次のスキーマを使用します:
列名 | データ型 | 説明 | 例 |
|---|---|---|---|
| string | この管理タグが属するアカウントのID。 |
|
| string | 管理タグのIDは、権限管理に使用されます。 |
|
| string | 管理タグキーの名前。 |
|
| timestamp | 管理タグが削除された日時。 |
|
| timestamp | 管理タグが最後に変更された時刻。 |
|
主キーは account_id と id を組み合わせたものです。
クエリーの例
実行する前に、パラメーターの値を自分のものに置き換えてください。
アカウントの管理タグを取得
削除されたタグをフィルターして、現在のアカウントの管理タグのリストを取得します:
SELECT
account_id,
id,
tag_key,
change_time
FROM system.tags.governed_tags
WHERE deleted_at IS NULL;
結果セットを、アカウントの現在の管理タグの標準リストとして使用します。
どのタグ割り当てが統制されているかを特定します
どの Unity Catalog タグ割り当てが管理タグキーを使用しているかを特定するために、管理タグを情報スキーマの カラムタグ と結合します:
WITH governed_tags AS (
SELECT account_id, id, tag_key
FROM system.tags.governed_tags
WHERE deleted_at IS NULL
),
assignments AS (
SELECT
catalog_name, schema_name, table_name, column_name, tag_name, tag_value
FROM system.information_schema.column_tags
)
SELECT
a.catalog_name,
a.schema_name,
a.table_name,
a.column_name,
a.tag_name,
a.tag_value,
CASE WHEN g.tag_key IS NOT NULL THEN TRUE ELSE FALSE END AS is_governed
FROM assignments a
LEFT JOIN governed_tags g
ON a.tag_name = g.tag_key;
各列のタグ割り当てには、タグキーが管理タグキーと一致する場合にis_governed = trueが含まれます。