スキーマ:

ACCOUNT_USAGE

AGGREGATE_ACCESS_HISTORY ビュー

このAccount Usageビューは、Snowflakeにあるすべてのワークロードの アクセス履歴 を集計します。ワークロードに高度に反復的なトランザクションクエリが含まれる場合は、それらのクエリのアクセスパターンも頻繁に繰り返されます。このようなアクセス履歴情報は、集計してして表示した方が効率的です。

AGGREGATE_ACCESS_HISTORY ビューには、1分間隔でクエリを繰り返した場合の経時的な集計である ACCESS_HISTORY ビュー と類似のデータが含まれます。

このビューには、分析クエリとトランザクションクエリの両方に関連するアクセス履歴情報も提供されます。対照的に、 ACCESS_HISTORY ビューQUERY_HISTORY ビュー に現れるクエリのみに関連するアクセス履歴情報を含んでおり、特定の短期間のトランザクションクエリを含んでいないことに注意してください。

列名

データ型

説明

INTERVAL_START_TIME

TIMESTAMP_LTZ

測定ウィンドウの開始時間。

INTERVAL_END_TIME

TIMESTAMP_LTZ

測定ウィンドウの終了時間。

QUERY_PARAMETERIZED_HASH

TEXT

同一のパラメーター化されたクエリを識別するための一意の ID。 QUERY_PARAMETERIZED_HASH 列 をご参照ください。

USER_NAME

TEXT

クエリを発行したユーザー。

CALLS

NUMBER

INTERVAL_START_TIME と INTERVAL_END_TIME で指定され、特定のパラメーター化されたクエリとユーザーによってトリガーされた時間のウィンドウの間に発生したアクセス動作の回数。

DIRECT_OBJECTS_ACCESSED

ARRAY

ユーザー定義関数(つまり、 UDFs および UDTFs)、ストアドプロシージャ、テーブル、ビュー、およびクエリで明示的に、またはアスタリスク(つまり *)を使用するなど、ショートカットを介して直接指定される列などのデータオブジェクトの JSON 配列。

このフィールドには仮想列を返すことができます。

UDFs に関するその他の注意事項については、 UDF の注意事項 をご参照ください。

BASE_OBJECTS_ACCESSED

ARRAY

列、外部関数、 UDFs、およびストアドプロシージャなど、クエリを実行するすべてのベースデータオブジェクトの JSON 配列。

ACCESS_HISTORY ビュー の例では、最初の配列のフィールドは UDF を指定しています。最初の配列にあるこれらの同じフィールドは、該当する場合、ストアドプロシージャも指定します。

次の点に注意してください。

  • データ共有のコンシューマーアカウントで共有ビューにアクセスする場合、このフィールドはビュー名またはビュー列(仮想列を含む)を指定します。

  • UDFs に関するその他の注意事項については、 UDF の注意事項 をご参照ください。

OBJECTS_MODIFIED

ARRAY

クエリの書き込み操作に関連付けられたオブジェクトを指定する JSON 配列。

UDF とストアドプロシージャの配列は、 ACCESS_HISTORY ビュー の例にある baseSourcesdirectSources の配列で示されたものと同じで、アクセス方法によって左右されます。簡潔にするために、例では UDF とストアドプロシージャ配列を省略しています。

UDFs に関するその他の注意事項については、 UDF の注意事項 をご参照ください。

OBJECT_MODIFIED_BY_DDL

OBJECT

データベース、スキーマ、テーブル、ビュー、および列に対する DDL 操作を指定します。これらの操作には、テーブルやビューに対する行アクセスポリシーを指定するステートメント、列に対するマスキングポリシーを指定するステートメント、オブジェクトや列に対するタグの更新(例: タグの設定、タグ値の変更)も含まれます。

POLICIES_REFERENCED

ARRAY

中間のオブジェクトまたは列に設定されたポリシーを含む、列に設定された強制マスキングポリシーとテーブルに設定された強制行アクセスポリシーに関する情報を指定します。

DIRECT_OBJECTS_ACCESSED、 BASE_OBJECTS_ACCESSED、 OBJECTS_MODIFIED、および POLICIES_REFERENCED 列の JSON 配列のフィールドについて以下で説明します。

フィールド

データ型

説明

columnId

NUMBER

アカウント内で一意の列 ID。この値は、 COLUMNS ビューの column_id 列にある値と同じです。

columnName

TEXT

アクセスされた列の名前。ポリシーの場合は、マスキングポリシーが設定されている列名を指定します。

objectId

NUMBER

特定のアカウントおよびドメイン内で一意であるオブジェクトの識別子。この番号は一致します。

objectName

TEXT

アクセスされたオブジェクトの完全修飾名。

マスキングポリシーが列に設定されている場合、または行アクセスポリシーがテーブルまたはビューに設定されている場合、値は、行アクセスポリシーが設定されているテーブルまたはビュー、またはその列の1つにマスキングポリシーが設定されているテーブルまたはビューの完全修飾名を参照します。

ステージにアクセスした場合、この値は次のようになります。

  • username (ユーザーステージ)

  • table_name (テーブルステージ)

  • stage_name (名前付きステージ)

objectDomain

TEXT

次のいずれかを使用します。 EXTERNAL TABLEFUNCTIONMATERIALIZED VIEWPROCEDURESTAGESTREAM、 または VIEW

FUNCTION は、UDFs、UDTFs、および外部関数を指定することに注意してください。

ポリシーの場合は、行アクセスポリシーが設定されているオブジェクトのドメインを指定します。

location

TEXT

データが外部ロケーションからアクセスされる場合の外部ロケーションの URL (例: s3://mybucket/a.csv)。

クエリがステージにアクセスしない場合、このフィールドは省略されます。

stageKind

TEXT

ステージに書き込むときは、 TableUserInternal Named、または External Named のいずれかです。

クエリがステージにアクセスしない場合、このフィールドは省略されます。

baseSources

TEXT

directSources で指定された列のソース列として機能する列。これらの列により、列系統を支援します。

directSources

TEXT

データが書き込まれるターゲットテーブルのソース列として機能する、 SQL ステートメントのデータ 書き込み 部分で特に言及されている列。これらの列により、列系統を支援します。

policyName

TEXT

パイプの完全修飾名。

policyId

NUMBER

特定のアカウントおよびドメイン内で一意であるポリシーの識別子。この値は、 MASKING_POLICIES ビュー にあるマスキングポリシーの識別子、または ROW_ACCESS_POLICIES ビュー にある行アクセスポリシーの識別子と一致します。

policyKind

TEXT

MASKING_POLICY または ROW_ACCESS_POLICY のいずれか

argumentSignature

TEXT

UDF またはストアドプロシージャにある各引数の名前とデータ型。

dataType

UDF またはストアドプロシージャの戻り値のデータ型。

この値は、同じ名前で戻り値の型が異なる2つ以上の UDFs を区別するのに役立ちます。

OBJECT_MODIFIED_BY_DDL 列のフィールドは以下の説明のとおりです。

フィールド

データ型

説明

objectDomain

TEXT

DDL 操作によって定義または変更されたオブジェクトのドメイン。これには、 タグ付け可能なすべてのオブジェクトMASKING POLICYROW ACCESS POLICY、および TAG が含まれます。

objectId

NUMBER

特定のアカウントおよびドメイン内で一意であるオブジェクトの識別子。DDL 操作によって定義および変更されます。

objectName

TEXT

DDL 操作によって定義または変更されるオブジェクトの完全修飾名。

operationType

TEXT

テーブル、ビュー、または列に対する操作を指定する SQL キーワード: ALTERCREATEDROPREPLACE、または UNDROP

properties

ARRAY

オブジェクトや列を作成、変更、ドロップまたはドロップ解除するときにオブジェクトまたは列のプロパティを指定する JSON 配列。プロパティにはアトミックと複合の2種類があります。

properties フィールドの場合は、

  • アトミック: プロパティごとに1つの値(例: comment は1つの文字列値を持ち、 enabled プロパティはブール値であり、1つの値を持ちます)。

  • 複合: プロパティに複数の値(例: タグの allowed_values、マスキングポリシー)。

複合プロパティは JSON 配列に記録されます。たとえば、テーブルに EMAIL という名前の列が1つある場合、その列は以下のように記録されます。

columns: {
  "email": {
    objectId: {
      "value": 1
    },
    "subOperationType": "ADD"
  }
}
Copy

subOperationType の値は、次のいずれかになります。

  • ADD は、複合プロパティの追加を指定します(例: 列を追加、許容値を設定)。

  • DROP は、複合プロパティの削除を指定します。

  • ALTER は、複合プロパティの変更を指定します。

objectId は、識別子を持たないタグ値を除いて、列またはオブジェクトの識別子を指定します。

使用上の注意

  • ビューの待機時間は最大180分(3時間)です。

  • このAccount Usageビューを使用して、過去365日(1年)以内のSnowflakeオブジェクト(例: テーブル、ビュー、列)の集計されたアクセス履歴をクエリできます。