Freigabeangebote mit SQL als Verbraucher verwalten – Beispiele

Im Folgenden finden Sie Beispiele für gängige Aufgaben, die Verbraucher mit SQL-Befehlen programmatisch erledigen können:

Verfügbare Freigabeangebote anzeigen

Zeigt die Freigabeangebote an, die dem Verbraucher, der den Befehl ausführt, zur Verfügung stehen. Weitere Informationen über den Befehl SHOWAVAILABLELISTINGS finden Sie unter SHOWAVAILABLELISTINGS.

Beschreibung

Anmerkungen

Verfügbare Freigabeangebote anzeigen.

IS_SHARED_WITH_ME = TRUE verwenden, um nur die Freigabeangebote anzuzeigen, die für den Verbraucher, der den Befehl ausführt, privat sind. IS_IMPORTED = TRUE verwenden, um nur importierte Freigabeangebote anzuzeigen.

SHOW AVAILABLE LISTINGS
Copy

Verfügbare Freigabeangebote beschreiben

Nachdem SHOW AVAILABLE LISTINGS ausgeführt wurde, um die verfügbaren Freigabeangebote und die globalen Namen der Freigabeangebote zu ermitteln, kann ein Verbraucher DESCRIBE AVAILABLE LISTING ausführen, um Beschreibungen der Spalten in den Freigabeangeboten zu erhalten, die ihm zur Verfügung stehen. Weitere Informationen über den Befehl DESCRIBEAVAILABLELISTING finden Sie unter DESCRIBEAVAILABLELISTING.

Beschreibung

Anmerkungen

Spalten der Freigabeangebote beschreiben.

listing_global_name verwenden, um das zu beschreibende globale Freigabeangebot zu identifizieren. Wenn die Spalte is_ready_for_import TRUE lautet, sind die Daten bereits in der Region vorhanden und können vom Verbraucher sofort importiert werden.

DESCRIBE AVAILABLE LISTING < listing_global_name >
Copy

Anfrage für ein Freigabeangebot und automatische Abfrage der Verfügbarkeit

Nachdem SHOW AVAILABLE LISTINGS ausgeführt wurde, um die verfügbaren Freigabeangebote zu ermitteln, kann ein Verbraucher die Prozedur SYSTEM$REQUEST_LISTING_AND_WAIT verwenden, um ein Freigabeangebot anzufordern und automatisch die Verfügbarkeit abzufragen. Ein Verbraucher kann diese Prozedur auch verwenden, wenn die Spalte is_ready_for_import FALSE lautet. Weitere Informationen über die gespeicherte Prozedur SYSTEM$REQUEST_LISTING_AND_WAIT finden Sie unter SYSTEM$REQUEST_LISTING_AND_WAIT.

Beschreibung

Anmerkungen

Anfrage für ein bestimmtes Freigabeangebot und Abfrage der Verfügbarkeit.

<timeout_mins> gibt den Zeitraum in Minuten an, in dem das Freigabeangebot erfüllt werden muss. Die Standardeinstellung ist 240 Minuten oder 4 Stunden.

Wenn ein angefragtes Freigabeangebot verfügbar wird oder bereits verfügbar ist, wird die Meldung Success: Listing <listing_global_name> is ready to be imported zurückgegeben.

Wenn der Timeout-Zeitraum überschritten ist, wird die Meldung Error: Timed out waiting for the listing to be available after <timeout_mins> min(s) zurückgegeben.

Um ein Freigabeangebot anzufordern, ohne auf die Erfüllung des Freigabeangebots zu warten, geben Sie 0 (Null) für den Wert <timeout_mins> ein. Wenn der Wert 0 ist, wird die Meldung Success: Listing <listing_global_name> requested successfully, but not waiting to confirm fulfillment zurückgegeben.

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

Datenbank aus einem Freigabeangebot erstellen

Nach der Anfrage eines Freigabeangebots kann ein Verbraucher den Befehl CREATE DATABASE … FROM LISTING … verwenden, um eine Datenbank aus einem Freigabeangebot zu erstellen. Weitere Informationen über den Befehl CREATE DATABASE … FROM LISTING … finden Sie unter CREATE DATABASE … FROM LISTING ….

Beschreibung

Anmerkungen

Datenbank aus einem Freigabeangebot erstellen

<name> gibt den Bezeichner der Datenbank an. Er muss für Ihr Konto eindeutig sein. Der Bezeichner muss mit einem alphabetischen Zeichen beginnen und darf keine Leerzeichen oder Sonderzeichen enthalten, es sei denn, die gesamte Zeichenfolge des Bezeichners ist in doppelte Anführungszeichen eingeschlossen. Beispiel: "My object". Bei Bezeichnern, die in doppelte Anführungszeichen eingeschlossen sind, ist auch die Groß-/Kleinschreibung zu beachten.

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

End-to-End-Beispiel

Das folgende Beispiel zeigt, wie Sie die oben beschriebenen SQL-Befehle verwenden, um Freigabeangebote als Verbraucher zu verwalten. Das Beispiel geht davon aus, dass der Verbraucher bereits Zugang zu einem Freigabeangebot für COVID-19 Daten mit dem Namen GZ1MXZFTF1 erhalten hat und dass das Freigabeangebot in der Region des Verbrauchers verfügbar ist. Das Beispiel geht auch davon aus, dass der Verbraucher die Rolle sysadmin erhalten hat, die erforderlich ist, um eine Datenbank aus einem Freigabeangebot zu erstellen.

-- Switch to sysadmin role
USE ROLE sysadmin;

-- Show available listings with a filter for shared listings
-- Note that you can optionally filter for private shared listings using IS_SHARED_WITH_ME = TRUE
-- The example assumes that the response returns a listing with a listing_global_name of GZ1MXZFTF1
SHOW AVAILABLE LISTINGS;

-- Get the global name and title of listings and filter on the title
SELECT "global_name", "title"
  FROM TABLE(RESULT_SCAN(LAST_QUERY_ID()))
  WHERE "is_imported" = false
    AND "title" LIKE '%COVID-19%';

-- Request the listing returned in `SHOW AVAILABLE LISTINGS` and wait for completion
CALL SYSTEM$REQUEST_LISTING_AND_WAIT('GZ1MXZFTF1');

-- Accept legal terms for the listing. Email verification is required to create the database from listing GZ1MXZFTF1
CALL SYSTEM$ACCEPT_LEGAL_TERMS('DATA_EXCHANGE_LISTING', 'GZ1MXZFTF1');

-- Create database from the listing
CREATE DATABASE test_california_covid_import
  FROM LISTING 'GZ1MXZFTF1';

-- Use the new database
USE DATABASE test_california_covid_import;

-- Query the 'COVID.CASES' table and limit the results to 100 rows
SELECT * FROM COVID.CASES LIMIT 100;
Copy