再共有者としての受信データの再共有¶
再共有者として、プロバイダーのリストからデータを取得し、元の状態で、または自身のデータで変換して他のアカウントと共有できます。このトピックでは、受信データを再共有する方法について説明します。
前提条件¶
プロバイダーのリストは、``resharing.enabled``が``true``に設定されている必要があります。
独自のデータベースにセキュアビューを作成する必要があります。インポートしたデータベースを直接変更することはできません。
同じロールが共有を作成し、リストに付与する必要があります。
制限事項¶
再共有はリスト経由でのみ有効になります。直接共有やアプリを再共有することはできません。
インポートしたデータベースやUniform Listing Locator(ULLs)からのデータオブジェクトを別の共有に直接アタッチすることはできません。受信リストからデータオブジェクトを再共有するには、データベースにセキュアビューを作成する必要があります。
再共有者は、再共有が許可されている受信データ製品のテーブル、動的テーブル、およびビューのみを再共有できます。
再共有リストは障害復旧をサポートしていません。
再共有ワークフロー¶
プロバイダーのリストからインポートしたデータベースを作成します。
インポートしたデータベースのデータを参照するセキュアビューを独自のデータベースに作成します。
共有を作成し、セキュアビューのSELECTを共有に付与します。
共有を使用して新しいリストを作成します。
CREATE DATABASE imported_db FROM LISTING provider_listing;
CREATE DATABASE reshared_db;
CREATE SECURE VIEW reshared_db.public.reshared_view
AS SELECT * FROM imported_db.public.provider_table;
CREATE SHARE my_reshare;
GRANT USAGE ON DATABASE reshared_db TO SHARE my_reshare;
GRANT USAGE ON SCHEMA reshared_db.public TO SHARE my_reshare;
GRANT SELECT ON VIEW reshared_db.public.reshared_view TO SHARE my_reshare;
注釈
再共有リストから作成されたインポートしたデータベースには、REFERENCE_USAGEの付与は必要ありません。
クロスリージョンの再共有¶
注釈
再共有リストの自動フルフィルメントを有効にする前に、自動フルフィルメントのコスト</collaboration/provider-understand-cost-auto-fulfillment>`を理解してください。Snowflakeでは、自動フルフィルメントのコストと使用状況をモニターするためのいくつかのビューも提供しています。詳細については、 :doc:/collaboration/provider-listings-auto-fulfillment-monitor-view-costs` をご参照ください。
他のリージョンのコンシューマーとデータを再共有するには、リストの自動フルフィルメントを有効にする必要があります。:codenowrap:`auto-fulfillment`プロパティには、リージョン間で再共有する際に指定する必要がある``warehouse``フィールドが含まれています。同じリージョン内で再共有する場合、このフィールドは省略できます。
クロスリージョンでデータを再共有するには、下流でさらに複製するためのデータのローカルコピーが必要です。Snowflakeは、これを管理するための動的テーブルを自動的に作成します。指定したウェアハウスは、これらの動的テーブルの作成とリフレッシュに使用されます。
auto_fulfillment:
warehouse: my_wh
再共有用に作成された動的テーブルを表示するには、:doc:`SYSTEM$SHOW_DYNAMIC_TABLES_CREATED_FOR_RESHARING </sql-reference/functions/system_show_dynamic_tables_created_for_resharing>`システム関数を使用できます。
コンシューマーによるさらなる再共有の有効化¶
作成したリストをコンシューマーにさらに再共有してもらうには、``resharing.enabled``を``true``に設定して、ご自身のリストで再共有を有効にします。これをプロバイダーとして構成する詳細については、:doc:`/collaboration/resharing-as-provider`を参照してください。
トラブルシューティング¶
コンシューマーに「The listing has resharing restrictions that prevent access to the underlying data(リストには、基盤となるデータへのアクセスを妨げる再共有の制限があります)」というエラーが表示される場合は、プロバイダーと協力して問題を解決してください。このエラーは次の場合に発生する可能性があります。
プロバイダーが``enabled``を``false``に設定して再共有を無効にした。
プロバイダーが、再共有と互換性のないガバナンスポリシーまたはコンテキスト関数をベーステーブルに追加または変更した。