外部テーブルおよび Apache Iceberg™ テーブルへのアクセスをリクエストする

このトピックでは、プロバイダーがアプリで共有する外部テーブルおよび Apache Iceberg™ テーブルへのアクセスをコンシューマーに許可するようプロバイダーがアプリを構成する方法について説明します。

Snowflake Native App の外部テーブルとIcebergテーブルについて

Snowflake Native App Framework により、プロバイダーは 外部テーブル および Apache Iceberg™ テーブル をコンシューマーと共有することができます。一般的な情報については、 外部およびIcebergテーブルのサポート をご参照ください。

外部テーブルまたはIcebergテーブルをアプリに含めるには:

  1. アプリにテーブルを追加する。 Snowflake Native App でデータのコンテンツを共有する をご参照ください。

  2. マニフェストに外部テーブルとIcebergテーブルのエントリーを追加する

  3. 外部テーブルおよびIcebergテーブルへのアクセス許可をリクエストする

マニフェストに外部テーブルとIcebergテーブルのエントリーを追加する

外部テーブルまたは Iceberg テーブルをアプリに含めるには、プロバイダーは次の例に示すようにマニフェスト ファイルにエントリーを追加する必要があります。

restricted_features:
  EXTERNAL_DATA:
  description: “The reason for enabling an external or Iceberg table.”
Copy

外部テーブルおよびIcebergテーブルへのアクセス許可をリクエストする

セキュリティとコストを考慮し、コンシューマーはアプリに外部テーブルまたはIcebergテーブルの使用許可を明示的に与える必要があります。

注釈

アプリがセットアップスクリプトで外部テーブルまたはIcebergテーブルを直接解決しようとすると、コンシューマーがアプリにまだ権限を与えていない場合、セットアップスクリプトは失敗します。外部データにアクセスする場合、例えば外部テーブルからビューを作成する場合、プロバイダーはセットアップスクリプト内のストアドプロシージャでビューを作成する必要があります。コンシューマーがアプリに許可を与えた後、アプリはストアド・プロシージャを呼び出すことができます。

コンシューマーがアプリから外部テーブルやIcebergテーブルへのアクセスを許可するための Snowsight を作成するために、 Python Permission SDK は以下の機能を提供します。

request_external_data() -> None

Snowsight に、アプリが必要とする外部テーブルまたはIcebergテーブルへのアクセスを許可するかどうかをコンシューマーに求めるダイアログを表示します。

is_external_data_enabled() -> boolean

コンシューマーがアプリに外部テーブルまたはIcebergテーブルの使用を許可しているかどうかを判断します。許可されていれば True を返します。それ以外の場合は False を返します。