外部テーブルおよび Apache Iceberg™ テーブルへのアクセスをリクエストする¶
このトピックでは、プロバイダーがアプリで共有する外部テーブルおよび Apache Iceberg™ テーブルへのアクセスをコンシューマーに許可するようプロバイダーがアプリを構成する方法について説明します。
Snowflake Native App の外部テーブルとIcebergテーブルについて¶
Snowflake Native App Framework により、プロバイダーは 外部テーブル および Apache Iceberg™ テーブル をコンシューマーと共有することができます。一般的な情報については、 外部およびIcebergテーブルのサポート をご参照ください。
外部テーブルまたはIcebergテーブルをアプリに含めるには:
アプリにテーブルを追加する。 Snowflake Native App でデータのコンテンツを共有する をご参照ください。
マニフェストに外部テーブルとIcebergテーブルのエントリーを追加する¶
外部テーブルまたは Iceberg テーブルをアプリに含めるには、プロバイダーは次の例に示すようにマニフェスト ファイルにエントリーを追加する必要があります。
restricted_features:
EXTERNAL_DATA:
description: “The reason for enabling an external or Iceberg table.”
外部テーブルおよびIcebergテーブルへのアクセス許可をリクエストする¶
セキュリティとコストを考慮し、コンシューマーはアプリに外部テーブルまたはIcebergテーブルの使用許可を明示的に与える必要があります。
注釈
アプリがセットアップスクリプトで外部テーブルまたはIcebergテーブルを直接解決しようとすると、コンシューマーがアプリにまだ権限を与えていない場合、セットアップスクリプトは失敗します。外部データにアクセスする場合、例えば外部テーブルからビューを作成する場合、プロバイダーはセットアップスクリプト内のストアドプロシージャでビューを作成する必要があります。コンシューマーがアプリに許可を与えた後、アプリはストアド・プロシージャを呼び出すことができます。
コンシューマーがアプリから外部テーブルやIcebergテーブルへのアクセスを許可するための Snowsight を作成するために、 Python Permission SDK は以下の機能を提供します。
request_external_data() -> None
Snowsight に、アプリが必要とする外部テーブルまたはIcebergテーブルへのアクセスを許可するかどうかをコンシューマーに求めるダイアログを表示します。
is_external_data_enabled() -> boolean
コンシューマーがアプリに外部テーブルまたはIcebergテーブルの使用を許可しているかどうかを判断します。許可されていれば
True
を返します。それ以外の場合はFalse
を返します。