Allgemeine Informationen zum Verwalten von Freigabeangeboten mit SQL¶
Anbieter können Freigabeangebote verwenden, um Datenprodukte mit Konten in jeder Snowflake-Region zu teilen. Um mehr über Freigabeangebote zu erfahren, besuchen Sie Allgemeine Informationen zu Freigabeangeboten.
Anbieter können die Befehle von SQL verwenden, um Freigabeangebote zu erstellen und zu verwalten und sie bestimmten Verbrauchern anzubieten. Um ein Freigabeangebot über SQL freizugeben, führen Anbieter die folgenden Aufgaben aus:
(Optional) Erstellen Sie ein Anbieterprofil, um Freigabeangebote anzubieten. Siehe Über Anbieter von Freigabeangeboten.
Bemerkung
Anbieter können keine bezahlten, personalisierten Freigabeangebote oder Freigabeangebote in privaten Datenbörsen anbieten.
Voraussetzungen für die Verwendung von Freigabeangeboten mit SQL¶
Snowflake-Nutzungsbedingungen für Anbieter und Verbraucher zustimmen.
Daten für Ihr Angebot vorbereiten. Siehe Daten für ein Freigabeangebot vorbereiten.
Überprüfen der Anbieterrichtlinien
Konfigurieren der Kontoberechtigungen
Freigabeangebot und Rolle des Eigentümers der Anwendung¶
Das Erstellen eines Freigabeangebots erfolgt über das Konto, das die Daten oder das Anwendungspaket enthält. Die Rolle, die ein Datenprodukt mit einem Freigabeangebot verbindet und das Angebot veröffentlicht, muss dieselbe Rolle sein, die das Anwendungspaket bzw. die Freigabe erstellt hat und damit Eigentümerin ist. Sie können die Berechtigung OWNERSHIP für eine Freigabe nicht übertragen.
Wenn Sie eine andere Rolle zum Erstellen und Verwalten des Freigabeangebots verwenden, weisen Sie der Rolle, die Eigentümerin des Anwendungspakets oder der Freigabe ist, die Berechtigung MODIFY für das Freigabeangebot zu. Beispiel:
- Rolle des Eigentümers der Freigabe oder des Anwendungspakets:
OWNERSHIP-Berechtigung für die Freigabe oder das Anwendungspaket. Berechtigung MODIFY für das Freigabeangebot.
- Rolle des Eigentümers des Freigabeangebots:
Berechtigung OWNERSHIP für das Freigabeangebot.
Globale Berechtigung CREATE DATA EXCHANGE LISTING
Innerhalb des Anbieterkontos können Sie eine der folgenden Möglichkeiten nutzen, um Freigabeangebote zu erstellen und zu verwalten:
- ACCOUNTADMIN:
Wenn Sie die Rolle ACCOUNTADMIN zum Erstellen und Verwalten von Freigabeangeboten verwenden, muss die Rolle ORGADMIN zuerst die Berechtigungen zum Einrichten der automatischen Auftragsausführung delegieren.
- Kundenspezifische Rolle:
Wenn Sie eine benutzerdefinierte Rolle verwenden, muss die Rolle ORGADMIN zuerst die Berechtigung zur Einrichtung der automatischen Auftragsausführung delegieren und zwar an die Rolle ACCOUNTADMIN, mit der dann der kundenspezifischen Rolle die entsprechenden Berechtigungen zugewiesen werden können.
Weitere Informationen zum Zuweisen von Berechtigungen für Data Sharing finden Sie unter Erteilen von Berechtigungen für andere Rollen.
Angebots-Manifest definieren¶
Um ein Freigabeangebot zu erstellen, müssen Sie zunächst ein Angebots-Manifest erstellen. Manifeste werden in YAML (https://yaml.org/spec/) geschrieben und enthalten ein Präfix sowie erforderliche und optionale Felder.
Um beispielsweise ein einfaches Freigabeangebot mit Titel und Angebotsbedingungen zu erstellen, definieren Sie ein Manifest ähnlich wie das Folgende:
title: A title for the listing.
subtitle: An optional subtitle.
description: A general description.
profile: Provider profile reference.
listing_terms: ...
targets: ...
Jedes Manifest enthält dann weitere Abschnitte, wie zum Beispiel:
auto_fulfillment: ...
Und eine Reihe von optionalen Feldern, wie data_dictionary
, business_needs
und mehr.
Ein einfaches Manifest würde Folgendes enthalten:
title: "MyFirstListing"
subtitle: "Example listing"
description: "This is my first listing!"
listing_terms:
type: "OFFLINE"
targets:
accounts: ["Org1.Account1"]
Weitere Informationen dazu finden Sie unter Referenz zum Freigabeangebots-Manifest.
Weitere Beispiele und Anwendungsfälle im Zusammenhang mit der Verwaltung von Freigabeangeboten über SQL finden Sie unter Freigabeangebote mit SQL als Anbieter verwalten – Beispiele.
Freigabeangebot mit SQL erstellen¶
Um ein Freigabeangebot zu erstellen, verwenden Sie den Befehl CREATE LISTING. Dabei geben Sie einen Namen und die Details des Freigabeangebots inline in einem YAML-Manifest an, das das Freigabeangebot beschreibt. Freigabeangebote, die mit CREATE LISTING … erstellt wurden, werden automatisch veröffentlicht. Nachdem ein Freigabeangebot erstellt wurde, können Sie es mit ALTER LISTING ändern, was auch das Veröffentlichen und Zurückziehen einschließt.
Beachten Sie, dass im Gegensatz zu Snowsight beim Erstellen eines Freigabeangebots mit SQL die zugehörige Freigabe bereits existieren muss.
Zusätzlich können die Freigabeangebote beschrieben, angezeigt, veröffentlicht und zurückgezogen und gelöscht werden.
Bemerkung
Das Erstellen eines Freigabeangebots mit SQL ist konzeptionell ähnlich wie Daten oder Apps für bestimmte Verbraucher über ein privates Freigabeangebot bereitstellen. Sie sollten mit dem Erstellen, Anzeigen und Veröffentlichen von Freigabeangeboten mit Snowsight und Provider Studio vertraut sein, bevor Sie Freigabeangebote mit SQL erstellen. Weitere Informationen dazu finden Sie unter Daten oder Apps für bestimmte Verbraucher über ein privates Freigabeangebot bereitstellen.
Bevor Sie Ihr Freigabeangebot erstellen, stellen Sie sicher, dass Sie alle Voraussetzungen erfüllt haben.
Wenn Sie beispielsweise eine Freigabeangebot my1stlisting
im Status DRAFT mit dem Titel „My first SQL listing“ über die Freigabe myshare
erstellen möchten, führen Sie den folgenden Befehl aus:
CREATE EXTERNAL LISTING my1stlisting
SHARE myshare AS
$$
title: "My first SQL listing"
description: "This is my first listing"
listing_terms:
type: "OFFLINE"
targets:
accounts: ["Org1.Account1"]
$$ PUBLISH=FALSE REVIEW=FALSE;
Bemerkung
Freigabeangebote werden anhand ihres NAME-Wertes identifiziert. Der NAME-Wert eines Freigabeangebots ist der Bezeichner, der beim erstmaligen Erstellen des Freigabeangebots angegeben wurde. Im obigen Beispiel lautet der NAME-Wert des Freigabeangebots MY1STLISTING. Während Titel, Untertitel und andere Merkmale eines Freigabeangebots geändert werden können, kann NAME nicht durch Angabe eines anderen Namens in yaml geändert werden. Verwenden Sie ALTER LISTING … RENAME TO, um ein Freigabeangebot umzubenennen. Befehle wie ALTER LISTING, SHOW LISTINGS, DESCRIBE LISTING und DROP LISTING verwenden alle den NAME-Wert, um ein Freigabeangebot zu identifizieren. Derr NAME-Wert eines Freigabeangebots wird in Snowsight nicht angezeigt, denn dort werden Freigabeangebote anhand ihres Titels identifiziert.
Weitere Beispiele und Anwendungsfälle für das Verwalten von Freigabeangeboten mit SQL finden Sie unter Freigabeangebote mit SQL als Anbieter verwalten – Beispiele.
Freigabeangebote mit SQL veröffentlichen¶
Sie können Freigabeangebote über ALTER LISTING … PUBLISH und ALTER LISTING … UNPUBLISH veröffentlichen bzw. zurückziehen.
Weitere Informationen zum Veröffentlichen von Freigabeangeboten mit Snowsight finden Sie unter Freigabeangebot veröffentlichen.
Beachten Sie, dass Freigabeangebote automatisch veröffentlicht werden können, wenn sie mit CREATE LISTING erstellt werden.
Um zum Beispiel das zuvor unveröffentlichte Freigabeangebot zu veröffentlichen, führen Sie den folgenden Befehl aus:
ALTER LISTING MY1STLISTING PUBLISH;
Außerdem kann ein Freigabeangebot erst gelöscht werden kann, wenn seine Veröffentlichung zurückgezogen wurde. Um die Veröffentlichung eines zuvor veröffentlichten Freigabeangebots zurückzuziehen, führen Sie einen Befehl ähnlich dem folgenden aus:
ALTER LISTING MY1STLISTING UNPUBLISH;
Weitere Beispiele und Anwendungsfälle für das Verwalten von Freigabeangeboten mit SQL finden Sie unter Freigabeangebote mit SQL als Anbieter verwalten – Beispiele.
Definition eines Freigabeangebots mit SQL erweitern¶
Das vorherige Beispiel enthielt keine Ziele oder Verwendungsbeispiele. Sie können den Befehl ALTER LISTING verwenden, um die Eigenschaften eines Angebots zu ändern. In diesem Beispiel aktualisieren wir eine bestehendes Angebot, um Ziele und Beispiel-SQL hinzuzufügen. Beachten Sie, dass das ursprüngliche YAML-Manifest um neue Inhalte erweitert wird.
Um ein Freigabeangebot so zu ändern, dass es zusätzliche Felder enthält, führen Sie einen Befehl ähnlich dem folgenden aus:
ALTER LISTING MY1STLISTING AS
$$
title: "My First SQL Listing"
description: "This is my first listing"
listing_terms:
type: "OFFLINE"
targets:
accounts: ["Org1.Account1"]
usage_examples:
- title: "this is a test sql"
description: "Simple example"
query: "select *"
$$;
Weitere Beispiele und Anwendungsfälle für das Verwalten von Freigabeangeboten mit SQL finden Sie unter Freigabeangebote mit SQL als Anbieter verwalten – Beispiele.
Freigabeangebot mit SQL untersuchen¶
Ähnlich wie bei Tabellen und anderen SQL-Elementen können Freigabeangebote beschrieben und angezeigt werden. DESCRIBE LISTING nimmt einen einzelnen Angebotsnamen als Parameter und gibt Details zu diesem Angebot zurück. SHOW LISTINGS kann Informationen zu einer Gruppe von Angeboten liefern, wenn Sie einen LIKE
-Filter verwenden, oder zu allen Angeboten, die von einem bestimmten Konto erstellt wurden, wenn kein Filter angegeben wird.
Um die Details zu Freigabeangebot MY1STLISTING anzuzeigen, führen Sie einen Befehl wie den folgenden aus:
SHOW LISTINGS LIKE 'MY1STLISTING';
Um alle Angebote anzuzeigen, auf die Ihre Rolle Zugriff hat, führen Sie einen Befehl wie den folgenden aus:
SHOW LISTINGS;
Um das Freigabeangebot MY1STLISTING zu beschreiben, führen Sie einen Befehl wie den folgenden aus:
DESC LISTING MY1STLISTING;
Freigabeangebot mit SQL löschen¶
Um ein Freigabeangebot zu entfernen, müssen Sie die Veröffentlichung des Angebots zunächst zurückziehen. Sie sollten mit dem Entfernen von Freigabeangeboten mit Snowsight vertraut sein, bevor Sie Angebote mit SQL löschen. Weitere Informationen zum Entfernen von Freigabeangeboten mit Snowsight finden Sie unter Freigabeangebote als Anbieter entfernen.
Um die Veröffentlichung eines Freigabeangebots zurückzuziehen, führen Sie einen Befehl wie den folgenden aus:
ALTER LISTING MY1STLISTING UNPUBLISH;
Um eine Freigabeangebot zu löschen, führen Sie einen Befehl wie den folgenden aus:
DROP LISTING IF EXISTS MY1STLISTING