- スキーマ:
OBJECT_DEPENDENCIES ビュー¶
このAccount Usageビューには、オブジェクトの依存関係ごとに1行が表示されます。
たとえば、単一のテーブルからビューを作成する場合、ビューはテーブルに依存します。Snowflakeは、テーブルへのビューの依存関係を記録するために1行を返します。
ただし、ビューの作成が2つのテーブルに依存している場合、Snowflakeは1行を返して最初のテーブルへのビューの依存関係を記録し、別の1行で2番目のテーブルへのビューの依存関係を記録します。このパターンは、特定のオブジェクトに多くの依存関係がある場合でも継続します。
列¶
列名 |
データ型 |
説明 |
---|---|---|
REFERENCED_DATABASE |
TEXT |
参照されるオブジェクトの親データベース。 |
REFERENCED_SCHEMA |
TEXT |
参照されるオブジェクトの親スキーマ。 |
REFERENCED_OBJECT_NAME |
TEXT |
参照されるオブジェクトの名前。 |
REFERENCED_OBJECT_ID |
NUMBER |
参照されるオブジェクトのオブジェクト ID。 |
REFERENCED_OBJECT_DOMAIN |
TEXT |
参照されるオブジェクトのドメイン(例: |
REFERENCING_DATABASE |
TEXT |
参照しているオブジェクトの親データベース。 |
REFERENCING_SCHEMA |
TEXT |
参照しているオブジェクトの親スキーマ。 |
REFERENCING_OBJECT_NAME |
TEXT |
参照しているオブジェクトの名前。 |
REFERENCING_OBJECT_ID |
NUMBER |
参照しているオブジェクトのオブジェクト ID。 |
REFERENCING_OBJECT_DOMAIN |
TEXT |
参照しているオブジェクトのドメイン(例: |
DEPENDENCY_TYPE |
TEXT |
依存関係のタイプ( |
一般的な使用上の注意¶
このビューの待機時間は最大3時間です。
サポートされているオブジェクトとその依存関係の型の完全なリストについては、 サポートされているオブジェクトの依存関係 をご参照ください。
このビューは、ビューを使用可能にする前に依存関係を含めるため、2022年1月22日に埋め戻されました。Snowflakeは、この日付以降も依存関係を記録し続けます。
この日付より前の依存関係が欠落しているためにビューまたは UDF が無効であり、欠落している依存関係が後で修正された場合、Snowflakeは、ビューまたは UDF の依存関係を記録しないことに注意してください。
たとえば、2021年12月1日にテーブルに依存するビューを作成し、同じ日にテーブルをドロップしてから、2022年2月1日にテーブルのドロップを解除した場合、Snowflakeは、そのテーブルに依存するビューを記録しません。
回避策として、ビューまたは UDF を作成または置換して、このビューが依存関係を記録するようにします。
このビューの制限と、このビューが他のSnowflake機能およびオブジェクトとどのように関連するかについての詳細は、以下をご参照ください。
データ共有の使用上の注意¶
- 一般的なメモ:
ビューの更新は、共有が削除されていないことを前提としています。
ビュースキーマ(つまり、列名、データ型、および値)は、次の例外を除いて同じままです。
コンシューマーアカウントの REFERENCED_OBJECT_ID 列の値は、共有オブジェクトでは常に NULL です。
この値により、顧客はプロバイダーアカウントでソースオブジェクトを検出できなくなります。
REFERENCED_OBJECT_DOMAIN の値は、テーブルのようなオブジェクトではすべて
TABLE
です。
- Snowflakeオブジェクト:
Account Usageビューなどの共有オブジェクトが、参照されるオブジェクトとしてサポートされるようになりました。
たとえば、ユーザー定義ビューが LOGIN_HISTORY などの別のAccount Usageビューのデータに依存している場合、 OBJECT_DEPENDENCIES ビューは LOGIN_HISTORY ビューを参照されたオブジェクトとして指定します。
- 名前の変更に関するメモ:
プロバイダーが共有データベース、共有スキーマ、または共有オブジェクトの名前を変更すると、次のようになります。
コンシューマ OBJECT_DEPENDENCIES ビューの記録には、名前が変更されたオブジェクトではなく、名前が変更される前のデータベース、スキーマ、またはオブジェクトの 元の 名前の記録が表示されます。
新たに名前が変更された共有オブジェクトは、コンシューマー OBJECT_DEPENDENCIES ビューに表示されないため、コンシューマーはプロバイダーアカウントでオブジェクトのライフサイクルを決定できません。名前が変更されたオブジェクトがコンシューマーアカウントのローカル OBJECT_DEPENDENCIES ビューに表示されるためには、参照している新規オブジェクトが新たに名前が変更されたオブジェクトを参照する必要があります。
共有データベースの名前を変更すると、コンシューマーアカウントの依存関係が保持されます。
共有スキーマまたは共有スキーマ内の共有オブジェクトの名前を変更すると、コンシューマーアカウントの依存関係が壊れます。
コンシューマーが共有データベースの名前を変更すると、そのデータベースに対する既存の依存関係がすべて壊れます。その結果、Snowflakeは、コンシューマーアカウントの OBJECT_DEPENDENCIES ビューから対応する記録を削除します。
たとえば、共有データベースに
db1_shared.views.view_1_shared
という名前のビューが含まれているとします。コンシューマーは、共有データベースの名前をmydb
に変更します。ビューの完全修飾名はmydb.views.view_1_shared
になりました。db1_shared
という名前のデータベースへの依存関係が壊れているため、Snowflakeはコンシューマーの OBJECT_DEPENDENCIES ビューでdb1_shared.views.view_1_shared
を指定する行を削除します。- サポート対象外:
参照されるオブジェクトの
BY_ID
依存関係の型はサポートされていません。