消費者として SQL でリストを管理する - 例

以下は、コンシューマーが SQL コマンドを使用してプログラムで実行できる一般的なタスクの例です。

利用可能なリストを表示する

コマンドを実行しているコンシューマーが使用できるリストを表示します。SHOW AVAILABLE LISTINGS コマンドの詳細については、 SHOW AVAILABLE LISTINGS をご参照ください。

説明

メモ

利用可能なリストを表示します。

コマンドを実行しているコンシューマーと非公開で共有されているリストのみを表示するには、 IS_SHARED_WITH_ME = TRUE を使用します。インポートされたリストだけを表示するには、 IS_IMPORTED = TRUE を使用します。

SHOW AVAILABLE LISTINGS
Copy

利用可能なリストについて説明する

コンシューマーは SHOW AVAILABLE LISTINGS を実行して利用可能なリストとグローバルリスト名を識別した後に、 DESCRIBE AVAILABLE LISTING を実行して利用可能なリストの列の説明を取得できます。DESCRIBE AVAILABLE LISTING コマンドの詳細については、 DESCRIBE AVAILABLE LISTING をご参照ください。

説明

メモ

リストの列について説明します。

listing_global_name を使用して、説明するグローバルリストを識別します。 is_ready_for_import 列が TRUE の場合、データはすでにリージョンに存在するため、コンシューマーはすぐにインポートすることができます。

DESCRIBE AVAILABLE LISTING < listing_global_name >
Copy

リストをリクエストし、可用性を自動的にポーリングする

コンシューマーは SHOW AVAILABLE LISTINGS を実行して利用可能なリストを識別した後に、 SYSTEM$REQUEST_LISTING_AND_WAIT ストアドプロシージャを使用してリストをリクエストし、可用性を自動的にポーリングすることができます。コンシューマーは、 is_ready_for_import 列が FALSE である場合にも、このストアドプロシージャを使用できます。 SYSTEM$REQUEST_LISTING_AND_WAIT ストアドプロシージャの詳細については、 SYSTEM$REQUEST_LISTING_AND_WAIT をご参照ください。

説明

メモ

リストをリクエストし、可用性をポーリングします。

<timeout_mins> には、リストのフルフィルメントの待機期間を分単位で指定します。デフォルトは240分または4時間です。

リクエストされたリストが利用可能になるか、すでに利用可能な場合は、 Success: Listing <listing_global_name> is ready to be imported というメッセージが返されます。

タイムアウト時間を超えると、 Error: Timed out waiting for the listing to be available after <timeout_mins> min(s) というメッセージが返されます。

リストのフルフィルメントを待たずにリストをリクエストするには、 <timeout_mins> の値に0(ゼロ)を入力します。値が0の場合、 Success: Listing <listing_global_name> requested successfully, but not waiting to confirm fulfillment というメッセージが返されます。

CALL SYSTEM$REQUEST_LISTING_AND_WAIT( ' <listing_global_name> ' [ , <timeout_mins>. ] );
Copy

リストからデータベースを作成する

コンシューマーはリストをリクエストした後に、 CREATE DATABASE ... FROM LISTING ... コマンドを使用して、リストからデータベースを作成できます。CREATE DATABASE ... FROM LISTING ... コマンドの詳細については、 CREATE DATABASE ... FROM LISTING ... をご参照ください。

説明

メモ

リストからデータベースを作成する

<name> にはデータベース識別子を指定します。アカウントに対して一意である必要があります。識別子はアルファベットで始まる必要があり、識別子の文字列全体が二重引用符で囲まれている場合を除き、スペースや特殊文字を含めることはできません。例: "My object"。二重引用符で囲まれた識別子も大文字と小文字が区別されます。

CREATE DATABASE <name> FROM LISTING '<listing_global_name>';
Copy