このページでは、管理タグのシステム テーブル スキーマについて説明し、サンプル クエリを含めます。 このテーブルには、顧客が作成したタグやシステムによって生成されたタグなど、アカウント内の 管理タグ キーごとにレコードが含まれています。 これを使用して、アカウント内のどのタグが管理されているかをプログラムで判断します。
テーブル パス: system.tags.governed_tags
Important
このシステム テーブルは ベータ版です。
管理タグ システム テーブルには、削除されたタグ定義を含むすべての管理タグ定義の現在のスナップショットが含まれています。 管理タグが削除されると、その deleted_at タイムスタンプが設定されます。 管理タグの現在の一覧を取得するには、 deleted_at が nullされている行にフィルター処理します。
アカウントの管理タグを取得するを参照してください。
管理タグ テーブル スキーマ
管理タグ システム テーブルでは、次のスキーマを使用します。
| 列名 | データの種類 | 説明 | Example |
|---|---|---|---|
account_id |
文字列 | この管理タグが属するアカウントの ID。 | 7af234db-66d7-4db3-bbf0-956098224879 |
id |
文字列 | アクセス許可の管理に使用される管理タグの ID。 | ca886134-876c-4671-a38b-332edf48c602 |
tag_key |
文字列 | 管理されるタグ キーの名前。 | system.certification_status |
deleted_at |
timestamp | 管理タグが削除された時刻。
null タグが削除されない場合は 。 |
2025-02-20T23:26:27.655Z |
change_time |
timestamp | 管理タグが最後に変更された時刻。 | 2025-02-20T23:26:27.655Z |
主キーはaccount_idと組み合わせてid。
クエリの例
実行する前に、パラメーター値を独自の値に置き換えます。
アカウントの管理タグを取得する
削除されたタグをフィルターで除外して、アカウントの管理タグの現在の一覧を取得します。
SELECT
account_id,
id,
tag_key,
change_time
FROM system.tags.governed_tags
WHERE deleted_at IS NULL;
結果セットは、アカウントの現在の管理タグの正規リストとして使用します。
管理されているタグの割り当てを特定する
管理タグを情報スキーマの 列タグ と結合して、管理タグ キーを使用する Unity カタログ タグの割り当てを決定します。
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 が含まれます。