- スキーマ:
OBJECT_DEPENDENCIES ビュー¶
このAccount Usageビューは、オブジェクト依存関係を表示します。オブジェクト依存関係は、ビューがテーブルを参照する場合など、オブジェクトがベースオブジェクトを参照するが、データを具現化またはコピーしない場合に生じます。
たとえば、単一のテーブルからビューを作成する場合、ビューはテーブルに依存します。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時間です。 
- サポートされているオブジェクトとその依存関係の型の完全なリストについては、 サポートされているオブジェクトの依存関係 をご参照ください。 
- データがあるオブジェクトから別のオブジェクトにコピーされたり具現化されたりするようなデータの移動は、オブジェクト依存関係にはなりません。たとえば、 CREATE TABLE AS SELECT (CTAS)、 INSERT、 MERGE のようなテーブルに対する操作は、データ移動が発生するため、このビューには含まれません。 
- このビューは、ビューを使用可能にする前に依存関係を含めるため、2022年1月22日に埋め戻されました。Snowflakeは、この日付以降も依存関係を記録し続けます。 - この日付より前の依存関係が欠落しているためにビューまたは UDF が無効であり、欠落している依存関係が後で修正された場合、Snowflakeは、ビューまたは UDF の依存関係を記録しないことに注意してください。 - たとえば、2021年12月1日にテーブルに依存するビューを作成し、同じ日にテーブルをドロップしてから、2022年2月1日にテーブルのドロップを解除した場合、Snowflakeは、そのテーブルに依存するビューを記録しません。 - 回避策として、ビューまたは UDF を作成または置換して、このビューが依存関係を記録するようにします。 
データ共有の使用上の注意¶
- 一般的なメモ:
- ビューの更新は、共有が削除されていないことを前提としています。 - ビュースキーマ(つまり、列名、データ型、および値)は、次の例外を除いて同じままです。 - コンシューマーアカウントの 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依存関係の型はサポートされていません。