Snowflake Data Clean Rooms: Anbieter-API-Referenzhandbuch¶
Überblick¶
Dieses Referenzhandbuch listet die gespeicherten Prozeduren in der Clean Rooms API auf, mit denen ein Anbieter einen Reinraum erstellen, konfigurieren und freigeben kann.
Prozeduren existieren innerhalb der folgenden Schemata:
samooha_by_snowflake_local_db.provider
– Anbieterspezifische Prozeduren. Diese Prozeduren können nur für Reinräume aufgerufen werden, die von dem aktuellen Konto erstellt wurden.samooha_by_snowflake_local_db.consumer
– Verbraucherspezifische Prozeduren. Diese Prozeduren können nur für Reinräume aufgerufen werden, zu denen das aktuelle Konto als Verbraucher eingeladen wurde.samooha_by_snowflake_local_db.library
– Allgemeine Prozeduren, die entweder vom Ersteller des Reinraums (Anbieter) oder von einem Teilnehmer des Reinraums (Verbraucher) aufgerufen werden.
Auf diese Prozeduren kann von jeder Befehlszeilenumgebung aus zugegriffen werden, die Snowflake-Prozeduren unterstützt, einschließlich Notebooks, Arbeitsmappen und CLI.
Anforderungen¶
Für die API benötigen Sie die Rolle samooha_app_role
und das Warehouse app_wh
. Führen Sie die folgenden Befehle aus, bevor Sie die hier beschriebenen Prozeduren anwenden:
USE ROLE samooha_app_role;
USE WAREHOUSE app_wh;
Wenn Sie nicht über die Rolle SAMOOHA_APP_ROLE verfügen, wenden Sie sich an Ihren Kontoadministrator.
Reinräume erstellen, konfigurieren und löschen¶
provider.view_cleanrooms¶
Beschreibung: Listet alle vorhandenen Reinräume auf, die von diesem Anbieterkonto erstellt wurden.
Argumente: Keine
Rückgabe: (Tabelle) Eine Liste der von diesem Anbieterkonto erstellten Reinräume. Reinräume müssen nicht für Verbraucher freigegeben, installiert oder von ihnen genutzt werden. Gelöschte Reinräume werden aus der Datenbank gelöscht und werden nicht in dieser Liste angezeigt.
Beispiel:
call samooha_by_snowflake_local_db.provider.view_cleanrooms();
provider.describe_cleanroom¶
Beschreibung: Erhalten Sie eine Zusammenfassung von Informationen über einen Reinraum, wie z. B. Vorlagen, Join-Richtlinien, Spaltenrichtlinien und Verbraucher.
Argumente:
cleanroom_name (string) – Name des Reinraums, über den Sie Informationen erhalten möchten.
Rückgabe: (string) Eine Zusammenfassung der Metadaten des Reinraums.
Beispiel:
call samooha_by_snowflake_local_db.provider.describe_cleanroom($cleanroom_name);
provider.cleanroom_init¶
Beschreibung: Erzeugt einen Reinraum mit dem angegebenen Namen in Ihrem Konto. Diese Prozedur kann eine Minute oder mehr in Anspruch nehmen. Der Reinraum wird erst nach dem Aufruf von create_or_update_cleanroom_listing
in der Web-App oder für Teilnehmer sichtbar sein.
Argumente:
cleanroom_name (string) – Name des Reinraums, maximal 80 Zeichen. Der Name enthält [A‑Z,a‑z,0‑9, ,_].
distribution (Zeichenfolge, Optional) – Einer der folgenden Werte:
INTERNAL (Default) – Clean Room ist nur für Benutzer in derselben Organisation sichtbar und löst vor Änderung der Standardversion keinen Sicherheitsscan aus.
EXTERNAL – Der Reinraum ist produktionsbereit und kann auch außerhalb des Unternehmens genutzt werden. Der Reinraum löst einen Sicherheitsscan aus, bevor die Standardversion geändert wird. Wenn Sie die Verteilung ändern möchten, nachdem ein Reinraum erstellt wurde, rufen Sie
alter package
wie hier gezeigt auf:alter application package samooha_cleanroom_<CLEANROOM_ID> SET DISTRIBUTION = EXTERNAL;
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
-- Create an internal clean room
call samooha_by_snowflake_local_db.provider.cleanroom_init($cleanroom_name, 'INTERNAL');
provider.set_default_release_directive¶
Beschreibung: Gibt die Version und den Patch eines Reinraums an, die von Teilnehmern geladen werden, wenn sie eine neue Browsersitzung in der Web-App starten oder von einer API auf den Reinraum zugreifen. Diese muss aufgerufen werden, bevor der Reinraum mit den Verbrauchern geteilt werden kann.
Die Reinraum-Anwendung erstellt eine neue Version eines Reinraums, wenn Sie Python-Code hochladen oder ändern. Wenn Sie möchten, dass den Benutzern die neueste Version zur Verfügung gestellt wird, rufen Sie diese Prozedur mit der neuen Versionsnummer auf. Um die verfügbaren Versionen anzuzeigen und die aktuelle Standardversion zu erfahren, führen Sie aus:
show versions in application package samooha_cleanroom_<CLEANROOM_ID>;
Alle Reinräume werden mit den folgenden Versions- und Patchnummern erstellt:
Version: V1_0
Patch: 0
Bemerkung
Wenn die Reinraumverteilung auf EXTERNAL eingestellt ist, kann diese Prozedur erst aufgerufen werden, nachdem der Reinraum-Sicherheitsscan in den Zustand APPROVED übergegangen ist. Um den Sicherheitsstatus anzuzeigen, rufen Sie view_cleanrooom_scan_status
auf.
Argumente:
cleanroom_name (string) – Name des Reinraums.
version (string) – Version. Muss immer „V1_0“ sein.
patch (string) – Vom Verbraucher geladene Patch-Nummer. Dieser Wert beginnt bei 0, und Sie sollten ihn erhöhen, sobald eine neue Reinraumversion verfügbar ist. Sie können die verfügbaren Versionen wie oben beschrieben anzeigen.
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.provider.set_default_release_directive($cleanroom_name, 'V1_0', '0');
provider.drop_cleanroom¶
Beschreibung: Löschen des Reinraums. Teilnehmer, die den Reinraum installiert haben, können ihn nicht mehr betreten oder nutzen. Der Reinraum wird beim nächsten Aktualisieren des Browsers nicht mehr in der Web-App angezeigt.
Argumente:
cleanroom_name (string) – Name des zu löschenden Reinraums.
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.provider.drop_cleanroom($cleanroom_name);
provider.enable_consumer_run_analysis¶
Beschreibung: Ermöglicht es dem Verbraucher, Analysen im Reinraum durchzuführen. Diese Funktion ist in allen neuen Reinräumen standardmäßig aktiviert, sodass diese Prozedur nur ausgeführt werden muss, wenn Sie die Verbraucheranalyse für einen Reinraum ausdrücklich deaktiviert haben.
Wichtig
Diese Prozedur muss aufgerufen werden, bevor ein Verbraucher einen Reinraum installiert. Wenn diese Fähigkeit nach der Installation eines Reinraums geändert wird, muss der Reinraum neu installiert werden, um die neue Konfiguration zu berücksichtigen.
Argumente:
cleanroom_name (string) – Name des Reinraums, in dem Verbraucheranalysen erlaubt sind.
consumer_accounts (Array aus Zeichenfolgen) – Die Konto-Locator aller Verbraucher, für die dieses Feature aktiviert werden soll. NOTE: Diese Verbraucher müssen bereits zum Reinraum hinzugefügt worden sein.
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.provider.enable_consumer_run_analysis($cleanroom_name, ['<CONSUMER_ACCOUNT_LOCATOR_1>']);
provider.disable_consumer_run_analysis¶
Beschreibung: Verhindert, dass die angegebenen Verbraucher in dem angegebenen Reinraum Analysen durchführen können. Standardmäßig dürfen alle Verbraucher eine Analyse in einem Reinraum durchführen.
Wichtig
Diese Prozedur muss aufgerufen werden, bevor ein Verbraucher einen Reinraum installiert. Wenn dies geändert wird, nachdem ein Verbraucher seinen Reinraum bereits installiert hat, muss er den Reinraum neu installieren, damit die neue Konfiguration berücksichtigt wird.
Argumente:
cleanroom_name (string) – Reinraum, in dem die Verbraucheranalyse deaktiviert ist.
consumer_accounts (Array aus Zeichenfolgen) – Konto-Locator von Verbrauchern, die in diesem Reinraum keine Analyse durchführen können. NOTE: Diese Verbraucher müssen dem Reinraum bereits hinzugefügt worden sein.
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.provider.disable_consumer_run_analysis($cleanroom_name, ['<CONSUMER_ACCOUNT_LOCATOR_1>']);
library.is_consumer_run_enabled¶
Beschreibung: Prüft, ob in diesem Reinraum vom Verbraucher ausgeführte Analysen zugelassen sind.
Argumente:
cleanroom_name (string) – Name des zu prüfenden Reinraums.
Rückgabe: (string) Ob in diesem Reinraum Verbraucheranalysen zugelassen sind oder nicht.
Beispiel:
call samooha_by_snowflake_local_db.library.is_consumer_run_enabled($cleanroom_name)
provider.create_or_update_cleanroom_listing¶
Beschreibung: Publiziert einen neuen Reinraum oder aktualisiert einen bestehenden Reinraum. Sie sollten diese Methode immer dann aufrufen, wenn Sie Änderungen an einem Reinraum vornehmen, um sicherzustellen, dass die Änderungen an die Verbraucher weitergegeben werden.
Wenn Sie einen Reinraum zum ersten Mal veröffentlichen, kann es eine Weile dauern, bis der Reinraum in der Web-App angezeigt wird (bis zu 15 Minuten).
Wenn Sie Aktualisierungen an einem Reinraum vornehmen, ohne diese Methode anschließend aufzurufen, gibt es keine Garantie, dass die Änderungen an die Verbraucher weitergegeben werden.
Bemerkung
Sie müssen die Freigaberichtlinie mindestens einmal festlegen, bevor Sie diese Prozedur aufrufen. Weitere Informationen finden Sie unter provider.set_default_release_directive.
Argumente:
cleanroom_name (string) – Name des zu veröffentlichenden oder zu aktualisierenden Reinraums.
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.provider.create_or_update_cleanroom_listing($cleanroom_name);
provider.add_ui_form_customizations¶
Beschreibung: Definiert eine UI für eine Vorlage in einem Reinraum, wenn in der Web-App darauf zugegriffen wird. Dies ist nützlich, wenn Sie Verbrauchern die Möglichkeit geben, Vorlagenparameter wie Tabellen oder Spalten auszuwählen. Sie müssen mindestens Werte für display_name, description und methodology in dem Argument template_information angeben.
Argumente:
cleanroom_name (string): Der Name des Reinraums, der diese Vorlage enthält. Das eingereichte Formular gilt nur für die angegebene Vorlage im angegebenen Reinraum.
template_name (string): Name der Vorlage, für die diese UI gilt. Dies ist nicht der für den Benutzer sichtbare Titel, der über das Feld template_information.display_name festgelegt wird.
template_information (Dict): Informationen, die dem Benutzer in der UI angezeigt werden. Enthält die folgenden Felder:
display_name
(Erforderlich): Anzeigename der Vorlage in der Web-App.description
(Erforderlich): Beschreibung der Vorlage.methodik
(Erforderlich): Beschreibung, wie der Verbraucher das Formular verwenden soll, um eine Analyse durchzuführen.warehouse_hints
(Objekt): Empfiehlt, welche Art von Warehouse für die Analyse zu verwenden ist. Dies ist ein Objekt mit den folgenden Feldern:warehouse_size
: Siehe warehouse_size in CREATE WAREHOUSE für gültige Werte.snowpark_optimized
(boolean): Ob ein Snowpark-optimiertes Warehouse für die Verarbeitung der Abfrage verwendet werden soll. Für die meisten Anwendungsfälle des maschinellen Lernens empfiehlt Snowflake TRUE.
render_table_dropdowns
(Objekt): Ob die Standard-Dropdown-Listen angezeigt werden sollen, mit denen der Benutzer auswählen kann, welche Anbieter- und/oder Verbrauchertabellen er in der Abfrage verwenden möchte. Dies ist ein Objekt mit den folgenden Feldern:render_consumer_table_dropdown
: (Boolesch, Voreinstellung = TRUE) Falls TRUE, zeigen Sie die Standardauswahl für Verbrauchertabellen. Wenn FALSE, blenden Sie den Selektor für Verbrauchertabellen aus. Die Vorlage kann über die Vorlagenvariablemy_table
auf die ausgewählten Werte als Liste zugreifen.render_provider_table_dropdown
: (Boolesch, Standard = TRUE) Falls TRUE, zeigen Sie den Standard-Selektor für die Tabelle des Anbieters an. Falls FALSE, blenden Sie den Selektor für Anbieterabellen aus. Die Vorlage kann über die Vorlagenvariablesource_table
auf die ausgewählten Werte als Liste zugreifen.
details (Dict): Definiert vom Benutzer konfigurierbare Eingabefelder, die Werte an die Vorlage übergeben. Dies ist ein Wörterbuch mit Schlüssel/Objekt-Paaren, wobei jedes Paar ein vom Benutzer konfigurierbares UI-Element darstellt. Der Schlüssel ist der Name einer beliebigen Zeichenfolge, der als Variable in der Vorlage JinjaSQL angezeigt wird. Der Wert ist ein Objekt, das das UI-Element definiert. Jedes Objekt hat die folgenden Felder:
<field_name>: { 'display_name': <string>, 'description': <string>, 'methodology': <string>, ['type': <enum>,] ['default': <value>,] ['choices': <string array>,] ['infoMessage': <string>,] ['size': <enum>] ['required': <bool>,] ['group': <string>,] ['references': <enum>] ['provider_parent_table_field': <string>,] ['consumer_parent_table_field': <string>] }
display_name
(erforderlich): Anzeigename der Element-UIdescription
(erforderlich): Beschreibung, die unter dem Namen erscheintmethodology
(Erforderlich): Beschreibung, wie der Verbraucher das Formular verwenden soll, um eine Analyse durchzuführentype
: Der Typ des UI-Elements. Wenn für dieses Eingabefeld Referenzen angegeben sind, dann lassen Sie diesen Eintrag weg (der Typ wird für Sie ermittelt). Unterstützte Werte:any
(Standard): Reguläres Texteingabefeld.boolean
: Wahr/Falsch-Selektorinteger
: Verwenden Sie Pfeile, um die Zahl zu ändernmultiselect
: Wählen Sie mehrere Elemente aus einer Dropdown-Liste ausdropdown
: Wählen Sie ein Element aus einer Dropdown-Listedate
: Datumsselektor
default
: Standardwert für dieses Elementchoices
: (Array aus Zeichenfolgen) Liste der Auswahlmöglichkeiten für Dropdown- und Multiselect-ElementeinfoMessage
: Informativer Hovertext wird neben dem Element angezeigtsize
: Elementgröße. Unterstützte Werte:XS
,S
,M
,L
,XL
required
: Ob ein Wert für den Benutzer erforderlich ist. Geben Sie TRUE oder FALSE an.group
: Ein Gruppenname, der verwendet wird, um Elemente in der UI zu gruppieren. Verwenden Sie denselben Gruppennamen für Artikel, die in der UI zusammen gruppiert werden sollen. Wenn Sie die standardmäßigen Dropdown-Listen ausblenden, können Sie die speziellen Argumente{{ source_table }}
und{{ my_table}}
in der benutzerdefinierten Vorlage verwenden und dann Ihre eigene Dropdown-Liste definieren, die die gewünschten Tabellen enthält. Weitere Informationen zur Verwendung dieser speziellen Variablen bei der Definition der benutzerdefinierten Vorlage finden Sie unter provider.add_custom_sql_template.references
: Erstellt eine Dropdown-Liste mit Tabellen oder Spalten, die im Reinraum verfügbar sind, ohne dass Sie diese im Voraus kennen oder einzeln auflisten müssen. Falls verwendet, muss Typ entweder „multiselect“ oder „dropdown“ sein. Die folgenden Zeichenfolgenwerte werden unterstützt:PROVIDER_TABLES
: Dropdown-Liste mit allen für den Benutzer zugänglichen Tabellen des Anbieters im ReinraumPROVIDER_JOIN_POLICY
: Dropdown-Liste aller Spalten, die mit der durchprovider_parent_table_field
angegebenen Tabelle des Anbieters verbunden werden könnenPROVIDER_COLUMN_POLICY
: Dropdown-Liste aller Spalten mit einer Spaltenrichtlinie in der durchprovider_parent_table_field
angegebenen Tabelle des AnbietersCONSUMER_TABLES
: Dropdown-Liste mit allen für den Benutzer zugänglichen Verbrauchertabellen im ReinraumCONSUMER_COLUMNS
: Dropdown-Liste aller Spalten in der durch consumer_parent_table_field angegebenen Verbrauchertabelle, auf die der Benutzer zugreifen kann. Sie sollten keine Verbraucher-Spaltenreferenzen in vom Anbieter ausgeführten Vorlagen verwenden, da der Verbraucher möglicherweise Join- und Spaltenrichtlinien anwendet, was dazu führen kann, dass eine Abfrage fehlschlägt, wenn die Richtlinie für die Spalte nicht beachtet wird.CONSUMER_JOIN_POLICY
: Dropdown-Liste mit allen Spalten, die mit der durchconsumer_parent_table_field
angegebenen Verbrauchertabelle verknüpft werden könnenCONSUMER_COLUMN_POLICY
: Dropdown-Liste aller Spalten mit einer Spaltenrichtlinie in der durchconsumer_parent_table_field
angegebenen Verbrauchertabelle
provider_parent_table_field
: Geben Sie den Namen des UI-Elements an, in dem der Benutzer eine Tabelle des Anbieters auswählt (geben Sie hier nicht den Tabellennamen selbst an). Verwenden Sie diese Option nur, wenn Referenzen aufPROVIDER_COLUMN_POLICY
oderPROVIDER_JOIN_POLICY
eingestellt ist.consumer_parent_table_field
: Geben Sie den Namen des UI-Elements an, in dem der Benutzer eine Verbrauchertabelle auswählt (geben Sie hier nicht den Tabellennamen selbst an). Verwenden Sie diese Funktion nur, wenn Referenzen aufCONSUMER_COLUMNS
,CONSUMER_JOIN_POLICY
oderCONSUMER_COLUMN_POLICY
eingestellt ist.
output_config (Dict) Legt fest, wie die Ergebnisse der Vorlagen in der Webanwendung grafisch dargestellt werden sollen. Wenn Sie keine Angaben machen, werden die Ergebnisse nicht in einem Diagramm, sondern nur in einer Tabelle angezeigt. Wenn Sie kein Diagramm wünschen, geben Sie für dieses Argument ein leeres Objekt {} an. Erlaubte Felder:
measure_columns
: Namen der Spalten, die Messgrößen und Dimensionen enthalten, die in dem von der Webanwendung erzeugten Diagramm verwendet werden sollen.default_output_type
: Das Standardformat für die Anzeige der Ergebnisse. Der Benutzer kann das Anzeigeformat in der Regel in der UI ändern, wenn die Daten im richtigen Format vorliegen. Unterstützte Typen:TABLE
: (Standard) TabellenformatBAR
: Balkendiagramm, das sich gut für den Vergleich verschiedener Kategorien eignetLINE
: Zeilendiagramm, das gut geeignet ist, um Trends im Zeitverlauf oder kontinuierliche Daten darzustellenPIE
: Kreisdiagramm, das sich für die Darstellung von Proportionen oder Prozentsätzen eignet
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
-- Specify the display name, description, and warehouse, and hide the default table dropdown lists.
-- Define the following two fields in the UI:
-- A provider table selector that shows all provider tables. Chosen tables can be accessed by the template with the variable 'a_provider_table'
-- (This dropdown list is equivalent to setting `render_table_dropdowns.render_provider_table_dropdown: True`)
-- A column selector for the tables chosen in 'a_provider_table'. Chosen columns can be accessed by the template with the variable 'a_provider_col'
call samooha_by_snowflake_local_db.provider.add_ui_form_customizations(
$cleanroom_name,
'prod_custom_template',
{
'display_name': 'Custom Analysis Template',
'description': 'Use custom template to run a customized analysis.',
'methodology': 'This custom template dynamically renders a form for you to fill out, which are then used to generate a customized analysis fitting your request.',
'warehouse_hints': {
'warehouse_size': 'xsmall',
'snowpark_optimized': FALSE
},
'render_table_dropdowns': {
'render_consumer_table_dropdown': false,
'render_provider_table_dropdown': false
},
'activation_template_name': 'activation_my_template',
'enabled_activations': ['consumer', 'provider']
},
{
'a_provider_table': {
'display_name': 'Provider table',
'order': 3,
'description': 'Provider table selection',
'size': 'S',
'group': 'Seed Audience Selection',
'references': ['PROVIDER_TABLES'],
'type': 'dropdown'
},
'a_provider_col': {
'display_name': 'Provider column',
'order': 4,
'description': 'Which col do you want to count on',
'size': 'S',
'group': 'Seed Audience Selection',
'references': ['PROVIDER_COLUMN_POLICY'],
'provider_parent_table_field': 'a_provider_table',
'type': 'dropdown'
}
},
{
'measure_columns': ['col1', 'col2'],
'default_output_type': 'PIE'
}
);
Daten registrieren und abmelden¶
Verwenden Sie den folgenden Befehl, um Datenbanken, Schemas und Objekte zu registrieren und die Registrierung aufzuheben. Tabellen und Ansichten müssen registriert werden, bevor sie mit dem Reinraum verknüpft werden können. Wenn Sie eine Datenbank oder ein Schema registrieren, werden alle Objekte in dieser Datenbank oder diesem Schema registriert.
Erfahren Sie mehr über die Registrierung von Daten
provider.register_db¶
Beschreibung: Ermöglicht die Verknüpfung einer Datenbank und aller darin enthaltenen Objekte mit einzelnen Reinräumen in dieser Reinraumumgebung. Diese Prozedur gewährt SAMOOHA_APP_ROLE USAGE- und SELECT-Berechtigungen auf der Datenbank, die von der Reinraumumgebung für den Datenzugriff verwendet wird.
Sie müssen über MANAGE GRANTS Zugriff auf die Datenbank haben, um diese Prozedur aufrufen zu können. Andere Anbieter in dieser Reinraumumgebung können diese Objekte dann in ihre eigenen Reinräume einbinden, ohne eine eigene SELECT-Berechtigung zu benötigen.
Erfahren Sie mehr über die Registrierung von Daten
Wichtig
Diese Prozedur registriert keine Objekte, die nach dem Aufruf der Prozedur erstellt wurden. Wenn der Datenbank neue Objekte hinzugefügt wurden und Sie diese ebenfalls registrieren möchten, müssen Sie diese Prozedur erneut aufrufen.
Argumente:
db_name (string) – Name der zu registrierenden Datenbank.
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.provider.register_db('SAMOOHA_SAMPLE_DATABASE');
library.register_schema¶
Beschreibung: Ähnlich wie register_db
, arbeitet aber auf Schema-Ebene. Sie müssen über die Berechtigung MANAGE GRANTS für das Schema verfügen, um diese Prozedur aufrufen zu können.
Diese Prozedur gewährt SAMOOHA_APP_ROLE USAGE- und SELECT-Berechtigungen für das Schema, das von der Reinraumumgebung für den Zugriff auf Daten verwendet wird.
Wenn Sie ein verwaltetes Zugriffsschema registrieren möchten (d. h. ein Schema, das mit dem Parameter WITH MANAGED ACCESS erstellt wurde), verwenden Sie stattdessen library.register_managed_access_schema
.
Wichtig
Diese Prozedur registriert keine Objekte, die nach dem Aufruf der Prozedur erstellt wurden. Wenn der Datenbank neue Objekte hinzugefügt wurden und Sie diese ebenfalls registrieren möchten, müssen Sie diese Prozedur erneut aufrufen.
Argumente:
schema_name (Array aus Zeichenfolgen) – Ein Array mit einem oder mehreren vollständig qualifizierten Schemanamen, die registriert werden sollen.
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.library.register_schema(['SAMOOHA_SAMPLE_DATABASE.DEMO']);
library.register_managed_access_schema¶
Beschreibung: Ähnlich wie register_schema
, registriert jedoch ein Schema, das mit dem Parameter WITH MANAGED ACCESS erstellt wurde. Sie müssen über die Berechtigung MANAGE GRANTS für das Schema verfügen, um diese Prozedur aufrufen zu können.
Diese Prozedur gewährt SAMOOHA_APP_ROLE die Berechtigung zur Nutzung des verwalteten Schemas, das von der Reinraumumgebung für den Datenzugriff verwendet wird.
Wichtig
Diese Prozedur registriert keine Objekte, die nach dem Aufruf der Prozedur erstellt wurden. Wenn der Datenbank neue Objekte hinzugefügt wurden und Sie diese ebenfalls registrieren möchten, müssen Sie diese Prozedur erneut aufrufen.
Argumente:
schema_name (Array aus Zeichenfolgen) – Ein Array mit einem oder mehreren vollständig qualifizierten Schemanamen.
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.library.register_managed_access_schema(['SAMOOHA_SAMPLE_DATABASE.DEMO']);
library.register_objects¶
Beschreibung: Ermöglicht dem Reinraum den Zugriff auf Tabellen und Ansichten aller Arten, sodass sie durch den Aufruf von provider.link_datasets
für die Verknüpfung mit dem Reinraum verfügbar sind. Sie können breitere Gruppen von Objekten registrieren, indem Sie library.register_schema
, library.register_managed_access_schema
oder provider.register_db
aufrufen.
Diese Prozedur gewährt SAMOOHA_APP_ROLE die Berechtigung zur Nutzung des Objekts, das von der Reinraumumgebung für den Zugriff auf Daten verwendet wird.
Sie müssen über die Berechtigung MANAGE GRANTS für das Objekt verfügen, um diese Prozedur aufzurufen. Diese Prozedur kann nicht zur Registrierung einer Datenbank verwendet werden.
Argumente:
object_names (array) – Array mit vollständig qualifizierten Objektnamen. Diese Objekte können dann mit dem Reinraum verknüpft werden.
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiele
So registrieren Sie eine Tabelle und eine Ansicht:
call samooha_by_snowflake_local_db.library.register_objects(
['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS','SAMOOHA_SAMPLE_DATABASE.INFORMATION_SCHEMA.FIELDS']);
library.unregister_db¶
Beschreibung: Macht die Prozedur register_db
rückgängig und entfernt die Berechtigungen auf Datenbankebene, die der Rolle SAMOOHA_APP_ROLE und der nativen Snowflake Data Clean Room-Anwendung gewährt wurden. Dadurch wird auch jede Datenbank aus dem Selektor in der Web-App entfernt.
Argumente:
db_name (string) – Name der Datenbank, deren Registrierung aufgehoben werden soll.
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.library.unregister_db('SAMOOHA_SAMPLE_DATABASE');
library.unregister_schema¶
Beschreibung: Hebt die Registrierung eines Schemas auf, wodurch Benutzer daran gehindert werden, dessen Tabellen und Ansichten mit dem Reinraum zu verknüpfen.
Wenn Sie die Registrierung eines verwalteten Zugriffsschemas (d. h. eines Schemas, das mit dem Parameter WITH MANAGED ACCESS erstellt wurde) aufheben möchten, verwenden Sie stattdessen library.unregister_managed_access_schema
.
Argumente:
schema_name (array) – Schemas, deren Registrierung aufgehoben werden soll.
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.library.unregister_schema(['SAMOOHA_SAMPLE_DATABASE.DEMO']);
library.unregister_managed_access_schema¶
Beschreibung: Ähnlich wie unregister_schema
, hebt jedoch die Registrierung eines Schemas auf, das mit dem Parameter WITH MANAGED ACCESS erstellt wurde.
Argumente:
schema_name (array) – Verwaltete Schemas, die nicht mehr registriert werden sollen.
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.library.unregister_managed_access_schema(['SAMOOHA_SAMPLE_DATABASE.DEMO']);
library.unregister_objects¶
Beschreibung: Widerruft den Reinraum-Zugriff auf Tabellen und Ansichten aller Art. Die Objekte sind für Benutzer in allen von diesem Konto verwalteten Reinräumen nicht mehr verfügbar.
Argumente:
object_names (array) – Array der vollqualifizierten Objektnamen, für die der Zugriff widerrufen werden soll.
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiele
So heben Sie die Registrierung einer Tabelle und einer Ansicht auf:
call samooha_by_snowflake_local_db.library.unregister_objects(
['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS','SAMOOHA_SAMPLE_DATABASE.INFORMATION_SCHEMA.FIELDS']);
Daten und Tabellen verknüpfen¶
Verwenden Sie die folgenden Befehle, um Tabellen und Ansichten in einem Reinraum hinzuzufügen oder zu entfernen.
provider.view_provider_datasets¶
Beschreibung: Zeigt alle Datensätze an, die dem Reinraum hinzugefügt wurden.
Argumente:
cleanroom_name (string) – Name des Reinraums.
Rückgabe: (Tabelle) Liste der Anbieter-Datensätze in diesem Reinraum.
Beispiel:
call samooha_by_snowflake_local_db.provider.view_provider_datasets($cleanroom_name);
provider.link_datasets¶
Beschreibung: Verknüpft eine Snowflake-Tabelle oder eine Ansicht im Reinraum. Die Prozedur macht die Tabelle automatisch für den Reinraum zugänglich, indem es eine sichere Ansicht der Tabelle im Reinraum erstellt. Die Tabelle ist immer noch mit ihrer Quelle verknüpft, sodass Aktualisierungen in der Quelle in der sicheren Version im Reinraum wiedergegeben werden.
Alle hier verknüpften Elemente müssen zuerst registriert werden, und zwar auf Datenbank-, Schema- oder Objektebene.
Argumente:
cleanroom_name (string) – Name des Reinraums mit Zugriff auf die Objekte.
tables_list (Array aus Zeichenfolgen) – Liste der Tabellen oder Ansichten, die mit dem Reinraum verknüpft werden sollen. Objekte müssen registriert werden, bevor sie verknüpft werden können.
consumer_list (Array aus Zeichenfolgen, Optional) – Wenn vorhanden, können nur die hier aufgeführten Verbraucher auf diese Objekte zugreifen. Falls nicht vorhanden, kann jeder, der Zugang zum Reinraum hat, auf diese Daten zugreifen.
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.provider.link_datasets(
$cleanroom_name, ['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS', 'SAMOOHA_SAMPLE_DATABASE.DEMO.EXPOSURES']);
Bemerkung
Bevor Sie eine Ansicht mit dem Reinraum verknüpfen, muss ein Benutzer mit der Rolle ACCOUNTADMIN Folgendes in Snowflake ausführen:
grant reference_usage on database <DB NAME> to share in application package samooha_cleanroom_<cleanroom_name>;
provider.unlink_datasets¶
Beschreibung: Entfernt den Zugriff auf die angegebenen Tabellen im angegebenen Reinraum für alle Benutzer. Die angegebenen Tabellen müssen vom Anbieter verknüpft worden sein.
Argumente:
cleanroom_name (string) – Name des mit diesen Datensätzen verknüpften Reinraums.
tables_list (array) – Array aus Namen von Tabellen oder Ansichten, die aus dem Reinraum entkoppelt werden sollen.
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.provider.unlink_datasets($cleanroom_name, ['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS', 'SAMOOHA_SAMPLE_DATABASE.DEMO.EXPOSURES']);
provider.view_provider_datasets¶
Beschreibung: Zeigen Sie alle Tabellen und Ansichten an, die von einem beliebigen Anbieter in diesem Konto mit dem angegebenen Reinraum verknüpft sind.
Argumente:
cleanroom_name (string) – Der Name des Reinraums.
Rückgabe: Tabelle der Objekte, die mit dem angegebenen Reinraum verknüpft sind, zusammen mit dem Namen der internen Ansicht des Reinraums für jedes Objekt.
Beispiel:
call samooha_by_snowflake_local_db.provider.view_provider_datasets($cleanroom_name);
provider.restrict_table_options_to_consumers¶
Beschreibung: Steuert, ob ein bestimmter Verbraucher auf eine Tabelle im Reinraum zugreifen kann. Diese Prozedur ist nur ersetzen, sodass nur die hier angegebenen Benutzer auf eine hier aufgeführte Tabelle zugreifen können. Verbraucher, die über provider.link_datasets, einen früheren Aufruf dieser Prozedur oder eine andere Prozedur Zugriff erhalten haben, verlieren den Zugriff auf eine hier aufgeführte Tabelle, wenn sie nicht in der Liste stehen.
Argumente:
*cleanroom_name (string)
*access_details (Objekt) – Ein JSON-Objekt, bei dem der Name der vollständig qualifizierte Name einer Tabelle oder Ansicht und der Wert ein Array von Konto-Locator ist.
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.provider.restrict_table_options_to_consumers(
$cleanroom_name,
{
'DB.SCHEMA.TABLE1': ['CONSUMER_1_LOCATOR'],
'DB.SCHEMA.TABLE2': ['CONSUMER_1_LOCATOR', 'CONSUMER_2_LOCATOR']
}
);
Verwalten von Verknüpfungsrichtlinien¶
Verknüpfungsrichtlinien in Datenreinräumen sind nicht dasselbe wie Snowflake-weite Verknüpfungsrichtlinien. Verknüpfungsrichtlinien für Reinräume werden nur mit dieser Prozedur festgelegt; Verknüpfungsrichtlinien, die für Tabellen außerhalb von Reinräumen festgelegt wurden, werden von Reinräumen ignoriert.
provider.view_join_policy¶
Beschreibung: Zeigt die Verknüpfungsrichtlinien an, die derzeit auf den Reinraum angewendet werden.
Argumente:
cleanroom_name (string) – Name des abzufragenden Reinraums.
Rückgabe: (Tabelle) Liste der verknüpfbaren Zeilen in allen Tabellen oder Ansichten im Reinraum.
Beispiel:
call samooha_by_snowflake_local_db.provider.view_join_policy($cleanroom_name);
provider.set_join_policy¶
Beschreibung: Legt fest, auf welche Spalten der Verbraucher zugreifen kann, wenn er Vorlagen in diesem Reinraum ausführt. Beachten Sie, dass die Richtlinie nur ersetzen ist. Wenn die Prozedur also erneut aufgerufen wird, wird die zuvor festgelegte Verknüpfungsrichtlinie vollständig durch die neue ersetzt.
Wichtig
Verknüpfungsrichtlinien werden nur durchgesetzt, wenn die Vorlage die Filter join_policy
oder join_and_column_policy
JinjaSQL auf die zu verknüpfenden Zeilen anwendet.
Bemerkung
Verknüpfungsrichtlinien in Daten-Clean-Rooms sind nicht dasselbe wie Snowflake-weite Verknüpfungsrichtlinien. Verknüpfungsrichtlinien für Reinräume werden nur mit dieser Prozedur festgelegt; Verknüpfungsrichtlinien, die für Tabellen außerhalb von Reinräumen festgelegt wurden, werden von Reinräumen ignoriert.
Argumente:
cleanroom_name (string) – Name des Reinraums, in dem die Verknüpfungsrichtlinie durchgesetzt werden soll.
table_and_col_names (Array aus Zeichenfolgen) – Vollständig qualifizierter Spaltenname im Format
database_name.schema_name.table_or_view_name:column_name
. Beachten Sie die korrekte Verwendung von . versus : marks
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.provider.set_join_policy($cleanroom_name, ['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:EMAIL', 'SAMOOHA_SAMPLE_DATABASE.DEMO.EXPOSURES:EMAIL']);
Anbietervorlagen verwalten¶
Verwenden Sie die folgenden Befehle, um die Vorlagen/Analysen hinzuzufügen, die in diesem Reinraum unterstützt werden.
provider.view_added_templates¶
Beschreibung: Zeigt die vom Anbieter hinzugefügten Vorlagen im Reinraum an. Es gibt keine Methode, um alle Vorlagen in allen Reinräumen für diesen Anbieter aufzulisten.
Argumente:
cleanroom_name (string) – Der abzufragende Reinraum.
Rückgabe: (Tabelle) – Liste der im angegebenen Reinraum verfügbaren Vorlagen mit Details zu jeder Vorlage.
Beispiel:
call samooha_by_snowflake_local_db.provider.view_added_templates($cleanroom_name);
provider.view_template_definition¶
Beschreibung: Zeigt Informationen über eine bestimmte Vorlage an. Verbraucher, die sich eine Anbietervorlage ansehen, sollten consumer.view_template_definition
verwenden.
Argumente:
cleanroom_name (string) – Name des Reinraums mit dieser Vorlage.
template_name (string) – Name der Vorlage, über die Sie Informationen anfragen möchten.
Rückgabe: Die Definition der Vorlage (string)
Beispiel:
call samooha_by_snowflake_local_db.provider.view_template_definition($cleanroom_name, 'prod_overlap_analysis');
provider.add_templates¶
Beschreibung: Fügt dem Reinraum eine Liste von Vorlagen hinzu. Die vorhandene Vorlagenliste wird dadurch nicht ersetzt.
Argumente:
cleanroom_name (string) – Name des Reinraums, dem Vorlagen hinzugefügt werden sollen.
template_names (Array aus Zeichenfolgen) – Name der hinzuzufügenden Vorlagen. Dies sind nur von Snowflake zur Verfügung gestellte Vorlagen. Um eine benutzerdefinierte Vorlage hinzuzufügen, rufen Sie
add_custom_sql_template
auf. Zu den von Snowflake bereitgestellten Vorlagennamen gehören „prod_overlap_analysis“ und „prod_provider_data_analysis“.
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.provider.add_templates($cleanroom_name, ['prod_overlap_analysis']);
provider.clear_template¶
Beschreibung: Entfernt eine angegebene Vorlage aus dem Reinraum.
Argumente:
cleanroom_name (string) – Der Name des Reinraums.
template_name (string) – Name der Vorlage, die aus diesem Reinraum entfernt werden soll.
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.provider.clear_template($cleanroom_name, 'prod_custom_template');
provider.clear_all_templates¶
Beschreibung: Entfernt alle Vorlagen, die dem Reinraum hinzugefügt wurden.
Argumente:
cleanroom_name (string) – Name des Reinraums, aus dem alle Vorlagen entfernt werden sollen.
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.provider.clear_all_templates($cleanroom_name);
provider.set_column_policy¶
Beschreibung: Legt fest, welche Spalten in den Daten für eine bestimmte Vorlage im Reinraum als nicht zu verknüpfende Zeilen verfügbar sind. Die Spalten müssen entweder hier oder in set_join_policy
deklariert werden, um im Reinraum verwendet werden zu können. Die hier aufgeführten Spalten können überall in der Vorlage verwendet werden, außer als Verknüpfungsspalte. Eine Spalte kann nicht sowohl in einer Spaltenrichtlinie als auch in einer Verknüpfungsrichtlinie aufgeführt sein.
Standardmäßig ist die Spaltenrichtlinie für eine Tabelle leer, was bedeutet, dass keine Spalten in den Ergebnissen angezeigt werden.
Diese Prozedur ist die Verhaltensweise vollständig ersetzen, sodass sie bei jedem Aufruf die vorherige Spaltenliste vollständig überschreibt.
Beachten Sie, dass die Überprüfung der Spaltenrichtlinie durchgeführt wird, indem die SQL-Abfrage, die gegen die Daten ausgeführt werden soll, auf nicht zugelassene Spalten analysiert wird. Abfragen mit Platzhaltern werden von diesen Prüfungen möglicherweise nicht erfasst, sodass Sie bei der Gestaltung der Analysevorlage bedacht vorgehen sollten. Wenn einige Spalten wirklich nie abgefragt werden sollen, sollten Sie eine Ansicht Ihrer Quelltabelle erstellen, die diese sensiblen Spalten eliminiert, und stattdessen eine Verknüpfung in dieser Ansicht erstellen.
Argumente:
cleanroom_name (string) – Der Name des Reinraums.
analysis_and_table_and_cols(Array aus Zeichenfolgen) – Array von Spalten, die von Vorlagen verwendet werden können. Das Format ist:
template_name:full_table_name:column_name
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.provider.set_column_policy($cleanroom_name,
['prod_overlap_analysis:SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:STATUS',
'prod_overlap_analysis:SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:AGE_BAND',
'prod_overlap_analysis:SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:DAYS_ACTIVE']);
-- Same example, but using a variable name for the template.
call samooha_by_snowflake_local_db.provider.set_column_policy($cleanroom_name,
[$template_name || ':SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:STATUS',
$template_name || ':SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:AGE_BAND',
$template_name || ':SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:DAYS_ACTIVE']);
provider.view_column_policy¶
Beschreibung: Listet die derzeit im Reinraum aktiven Spaltenrichtlinien auf. Eine Spaltenrichtlinie legt fest, welche Tabellenspalten in welchen Vorlagen angezeigt werden können.
**Argumente:**cleanroom_name (string)
Rückgabe: (Tabelle) Welche Spalten in welchen Vorlagen verwendet werden können.
Beispiel:
call samooha_by_snowflake_local_db.provider.view_column_policy($cleanroom_name);
provider.add_custom_sql_template¶
Beschreibung: Fügt eine benutzerdefinierte JinjaSQL-Vorlage in den Reinraum ein. Dies macht die Vorlage für den Verbraucher aufrufbar.
Sie können diese API mehrmals aufrufen, um dem Reinraum mehrere benutzerdefinierte Vorlagen hinzuzufügen. Die Prozedur überschreibt alle vorherigen Vorlagen mit demselben Namen in diesem Reinraum.
Wenn die Vorlage vom Benutzer verwendet wird, um Ergebnisse beim Anbieter zu aktivieren, muss der Befehl die folgenden Anforderungen erfüllen:
Der Name der benutzerdefinierten Vorlage muss mit der Zeichenfolge
activation
beginnen. Zum Beispiel:activation_custom_template
.Die Vorlage muss eine Tabelle erstellen, die mit
cleanroom.activation_data_
beginnt. Zum Beispiel:CREATE TABLE cleanroom.activation_data_analysis_results AS ...
.Die Vorlage muss den eindeutigen Teil des Tabellennamens zurückgeben, der in der Definition erstellt wurde, d. h. die Zeichenfolge, die an
cleanroom.activation_data_
angehängt ist. Zum Beispiel:return 'data_analysis_results'
.
Die JinjaSQL-Vorlagen können auf zwei globale Variablen zugreifen:
source_table: Ein Array von Anbietertabellen. Wenn die Vorlage mit der Web-App ausgeführt wird, wird diese vom Verbraucher über ein Webformular ausgewählt. Wenn die Vorlage vom Code aus ausgeführt wird, wird diese an
consumer.run_analysis
unter Verwendung des Arguments provider_tables übergeben.my_table: Ein Array von Verbrauchertabellen. Wenn die Vorlage mit der Web-App ausgeführt wird, wird diese vom Verbraucher über ein Webformular ausgewählt. Wenn die Vorlage vom Code aus ausgeführt wird, wird diese an
consumer.run_analysis
unter Verwendung des Arguments consumer_tables übergeben.
Alle Anbieter- und Verbrauchertabellen müssen mit diesen Argumenten referenziert werden, da der Name der mit dem Reinraum tatsächlich verknüpften sicheren Ansicht ein anderer ist als der Tabellenname. Wichtig: Anbieter-Tabellen-Aliasse müssen p (oder p1), p2, p3, p4 usw. sein und Verbraucher-Tabellen-Aliasse müssen c (oder c1), c2, c3 usw. sein. Dies ist erforderlich, um die Sicherheitsrichtlinien im Reinraum durchzusetzen.
Alle vom Benutzer angegebenen Spalten in einer benutzerdefinierten JinjaSQL-Vorlage sollten mit den folgenden Filtern auf die Einhaltung der Verknüpfungs- und Spaltenrichtlinien überprüft werden:
join_policy: Prüft, ob ein Zeichenfolgenwert oder eine Filterklausel mit der Verknüpfungsrichtlinie konform ist
column_policy: Prüft, ob ein Zeichenfolgenwert oder eine Filterklausel mit der Spaltenrichtlinie konform ist
join_and_column_policy: Prüft, ob Spalten, die für eine Verknüpfung in einer Filterklausel verwendet werden, mit der Verknüpfungsrichtlinie konform sind, und ob Spalten, die als Filter verwendet werden, mit der Spaltenrichtlinie konform sind
Zum Beispiel wird in der Klausel {{ where_clause | sqlsafe | join_and_column_policy }}
eine Eingabe von where_clause = 'p.HEM = c.HEM und p.STATUS = 1'
geparst, um zu prüfen, ob p.HEM
in der Verknüpfungsrichtlinie und p.STATUS
in der Spaltenrichtlinie enthalten ist.
Hinweis: Verwenden Sie den Filter sqlsafe mit großer Vorsicht, da er es Teilnehmern ermöglicht, reine SQL in die Vorlage einzufügen.
Argumente:
cleanroom_name (string) – Name des Reinraums, auf den diese Vorlage angewendet wird.
template_name (string) – Name der Vorlage. Müssen alle Kleinbuchstaben, Zahlen, Leerzeichen oder Unterstriche sein. Aktivierungsvorlagen müssen einen Namen haben, der mit „Aktivierung“ beginnt.-
template (string) – Die JinjaSQL Vorlage.
sensitivity (Float, Optional) – Wenn die differentielle Privatsphäre für diesen Reinraum aktiviert ist, gibt dies die Stärke des differentiellen Datenschutzrauschens an, das auf die von dieser Vorlage verbrauchten Daten angewendet wird. Standardwert ist 1.0, keine Obergrenze. Setzen Sie diesen Wert auf den maximalen Betrag, den die Abfrage durch den Ausschluss einer einzelnen Zeile aus den Ergebnissen verändern könnte. Damit dieses Argument Wirkung zeigt, muss in diesem Reinraum die differentielle Privatsphäre aktiviert sein.
consumer_locators (Array aus Zeichenfolgen, Optional) – Ein Array mit einem oder mehreren Konto-Locator. Falls vorhanden, wird diese Vorlage nur für diese Konten in den Reinraum aufgenommen. Sie können diese Liste später ändern, indem Sie
provider.restrict_template_options_to_consumers
aufrufen. Wenn Sie keine Liste von Verbrauchern angeben, können alle Verbraucher die benutzerdefinierte Vorlage in dem angegebenen Reinraum verwenden.
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.provider.add_custom_sql_template(
$cleanroom_name, 'prod_custom_template',
$$
select
identifier({{ dimensions[0] | column_policy }})
from
identifier({{ my_table[0] }}) c
inner join
identifier({{ source_table[0] }}) p
on
c.identifier({{ consumer_id }}) = identifier({{ provider_id | join_policy }})
{% if where_clause %} where {{ where_clause | sqlsafe | join_and_column_policy }} {% endif %};
$$);
provider.restrict_template_options_to_consumers¶
Beschreibung: Steuert, welche Benutzer auf eine bestimmte Vorlage in einem bestimmten Reinraum zugreifen können. Diese Prozedur setzt alle Zugriffslisten außer Kraft, die zuvor durch eine andere Prozedur für ein Reinraum/Vorlagen-Paar festgelegt wurden.
Argumente:
cleanroom_name (string) – Der Name des Reinraums.
access_details(JSON-Object) – Der Name einer Vorlage und die Benutzer, die auf diese Vorlage in diesem Reinraum zugreifen können. Wenn eine Vorlage angegeben ist, können nur die hier aufgeführten Benutzer auf diese Vorlage in diesem Reinraum zugreifen. Dies ist ein Objekt mit einem untergeordneten Objekt pro Vorlage im folgenden Format:
{'template_name': ['user1_locator','user2_locator','userN_locator']}
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.provider.restrict_template_options_to_consumers(
$cleanroom_name,
{
'prod_template_1': ['CONSUMER_1_LOCATOR', 'CONSUMER_2_LOCATOR']
}
);
Verbraucherdefinierte Vorlagen¶
Mit den folgenden APIs können Sie die Anfrage eines Verbrauchers, eine Vorlage zum Reinraum hinzuzufügen, genehmigen oder ablehnen. Eine vom Verbraucher definierte Vorlage wird nur dann zu einem Reinraum hinzugefügt, wenn der Anbieter der Anfrage des Verbrauchers auf Hinzufügen zustimmt. Weitere Informationen finden Sie unter Mit dem Entwickler API benutzerdefinierte Vorlagen hinzufügen.
provider.list_template_requests¶
Beschreibung: Listet alle Anfragen von Verbrauchern auf, die eine vom Verbraucher definierte Vorlage zu einem Reinraum hinzufügen möchten. Dazu gehören ausstehende, genehmigte und abgelehnte Anfragen. Verwenden Sie diese, um nach ausstehenden Anfragen zu suchen und diese zu genehmigen (provider.approve_template_request
) oder abzulehnen (provider.reject_template_request
).
Wichtig
Sie müssen provider.mount_request_logs_for_all_consumers
einmal auf einem Reinraum aufrufen, bevor Sie diese Prozedur aufrufen. Es ist nicht nötig, sie mehr als einmal aufzurufen.
Argumente:
cleanroom_name (string) – Ansicht der Verbraucheranfragen zum Hinzufügen einer Vorlage zu diesem Reinraum.
Rückgabe: Eine Tabelle mit u. a. den folgenden Werten:
request_id (string) – ID der Anfrage, wird benötigt, um die Anfrage anzunehmen oder abzulehnen. consumer_identifier (string) – Konto-Locator der Person, die die Anfrage stellt. template_name (string) – Name der vom Verbraucher bereitgestellten Vorlage. template_definition (string) – Vollständige Definition der vom Verbraucher vorgeschlagenen Vorlage. status (string) – Status der Anfrage: PENDING, APPROVED, REJECTED.
Beispiel:
call samooha_by_snowflake_local_db.provider.list_template_requests($template_name);
provider.approve_template_request¶
Beschreibung: Genehmigt eine Anfrage zum Hinzufügen einer Vorlage zum Reinraum.
Argumente:
cleanroom_name (string) – Name des Reinraums, dem der Benutzer die Vorlage hinzufügen möchte.
request_id (string) – ID der zu genehmigenden Anfrage. Rufen Sie
provider.list_template_requests
auf, um die Anfrage IDs anzuzeigen.
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.provider.approve_template_request('dcr_cleanroom',
'01b4d41d-0001-b572');
provider.reject_template_request¶
Beschreibung: Lehnt eine Anfrage zum Hinzufügen einer Vorlage zu einem Reinraum ab.
Argumente:
cleanroom_name (string) – Name des Reinraums, dem der Benutzer die Vorlage hinzufügen möchte.
request_id (string) – ID der abzulehnenden Anfrage. Rufen Sie
provider.list_template_requests
auf, um die Anfrage IDs anzuzeigen.reason_for_rejection (string) – Grund für die Ablehnung der Anfrage.
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.provider.reject_template_request('dcr_cleanroom',
'01b4d41d-0001-b572',
'Failed security assessment');
Vorlagenketten¶
Verwenden Sie die folgenden Befehle, um Vorlagenketten zu erstellen und zu verwalten.
provider.add_template_chain¶
Beschreibung: Erzeugt eine neue Vorlagenkette. Vorlagen müssen vorhanden sein, bevor sie der Vorlagenkette hinzugefügt werden. Nachdem eine Vorlagenkette erstellt wurde, kann sie nicht mehr geändert werden, aber Sie können eine neue Vorlagenkette mit demselben Namen erstellen, um die alte zu überschreiben.
Argumente:
cleanroom_name (string) – Name des Reinraums, dem die Vorlagenkette hinzugefügt werden soll.
template_chain_name (string) – Name der Vorlagenkette.
templates (Array von Objekten) – Array von Objekten, eines pro Vorlage. Das Objekt kann die folgenden Felder enthalten:
template_name
(string) – Gibt die Vorlage an, die der Vorlagenkette hinzugefügt wird. Die Vorlage muss bereits zum Reinraum hinzugefügt worden sein, indem Sieprovider.add_template_chain
aufrufen.cache_results
(boolean) – Legt fest, ob die Ergebnisse der Vorlage vorübergehend gespeichert werden, damit andere Vorlagen in der Vorlagenkette darauf zugreifen können. Um Ergebnisse zwischenzuspeichern, geben Sie TRUE an.output_table_name
(string) – Wenncache_results
= TRUE, gibt dies den Namen der Snowflake-Tabelle an, in der die Vorlagenergebnisse gespeichert werden.jinja_output_table_param
(string) – Wenncache_results
= TRUE, gibt dies den Namen des Jinja-Parameters an, den andere Vorlagen enthalten müssen, um die inoutput_table_name
gespeicherten Ergebnisse zu akzeptieren.cache_expiration_hours
(Ganzzahl) – Wenncache_results
= TRUE, gibt dies die Anzahl der Stunden an, bevor die Ergebnisse im Cache gelöscht werden. Wenn der Cache abläuft, wird der Cache bei der nächsten Ausführung der Vorlagenkette mit den Ergebnissen der Vorlage aufgefrischt.
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.provider.add_template_chain(
$cleanroom_name,
'my_chain',
[
{
'template_name': 'crosswalk',
'cache_results': True,
'output_table_name': 'crosswalk',
'jinja_output_table_param': 'crosswalk_table_name',
'cache_expiration_hours': 2190
},
{
'template_name': 'transaction_insights',
'cache_results': False
}
]
);
provider.view_added_template_chains¶
Beschreibung: Listet die Vorlagenketten im angegebenen Reinraum auf.
Argumente:
cleanroom_name (string) – Der Name des Reinraums.
Rückgabe: (Tabelle) Beschreibung aller Vorlagenketten, die diesem Reinraum hinzugefügt wurden.
Beispiel:
call samooha_by_snowflake_local_db.provider.view_added_template_chains($cleanroom_name);
provider.view_template_chain_definition¶
Beschreibung: Gibt die Definition einer Vorlagenkette zurück.
Argumente:
cleanroom_name (string) – Name des mit dieser Vorlagenkette verbundenen Reinraums.
template_chain_name (string) – Name der mit diesem Reinraum verbundenen Vorlagenkette.
Rückgabe: (Tabelle) Beschreibung der angegebenen Vorlagenkette.
Beispiel:
call samooha_by_snowflake_local_db.provider.view_template_chain_definition($cleanroom_name, 'my_chain');
provider.clear_template_chain¶
Beschreibung: Löscht eine bestimmte Vorlagenkette aus einem bestimmten Reinraum. Die Kette wird nirgendwo gespeichert. Wenn Sie also die Kette neu erstellen möchten, müssen Sie sie von Grund auf neu erstellen.
Argumente:
cleanroom_name (string) – Der Reinraum, dem diese Vorlagenkette zugewiesen ist.
template_chain_name (string) – Die Vorlagenkette, die aus diesem Reinraum entfernt werden soll.
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.provider.clear_template_chain($cleanroom_name, 'my_chain');
provider.clear_all_template_chains¶
Beschreibung: Löscht alle Vorlagenketten aus dem angegebenen Reinraum.
Argumente:
cleanroom_name (string) – Name des Reinraums, aus dem alle Vorlagenketten gelöscht werden sollen.
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.provider.clear_all_template_chains($cleanroom_name);
Multi-Anbieter-Analyse¶
Diese Prozeduren ermöglichen die Multi-Anbieter-Analyse.
provider.enable_multiprovider_computation¶
Beschreibung: Diese Prozedur ermöglicht es, dass Tabellen von mehreren Snowflake-Reinräumen und möglicherweise verschiedenen Anbietern von einer einzigen, vom Verbraucher bereitgestellten Vorlage verwendet werden können. Legen Sie fest, welche Ihrer Reinräume in Kombination mit welchen anderen Reinräumen von welchen anderen Benutzern abgefragt werden können.
Argumente:
cleanroom_name (string) – Name eines Reinraums, den Sie besitzen. Alle Daten in diesem Reinraum können mit anderen unten aufgeführten Reinräumen geteilt werden, wenn der unten aufgeführte Benutzer dies anfragt.
consumer_account (string) – Konto-Locator eines Verbrauchers, der berechtigt ist, die Anfrage zu stellen und, falls genehmigt, eine Abfrage gegen alle Tabellen in diesem Reinraum in Kombination mit Daten aus allen unter
approved_other_cleanrooms
aufgeführten Reinräumen durchzuführen.approved_other_cleanrooms (Array aus Zeichenfolgen) – Array mit vollständig qualifizierten Namen von Reinräumen, mit denen Daten aus diesem Reinraum kombiniert werden können. Das Format der einzelnen Einträge ist
provider_org_name.provider_account_name.cleanroom_name
.
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
CALL samooha_by_snowflake_local_db.provider.enable_multiprovider_computation(
$cleanroom_name,
$consumer_account_locator,
'org1.account123',
$cleanroom_name_2);
provider.process_multiprovider_request¶
Beschreibung: Bewertet eine von einem Verbraucher gesendete Abfrage über mehrere Reinräume. Anfragen werden auf der Grundlage von Faktoren wie dem Alter der Anfrage und der Tatsache, ob der Anfragende und die Reinräume in einem früheren Aufruf an provider.enable_multiprovider_computation
aufgeführt sind, bewertet. Anfragen, die die Bewertung bestehen, werden genehmigt.
Standardmäßig müssen alle Multi-Anbieter-Anfragen mit dieser Prozedur bearbeitet werden. Wenn Sie es vorziehen, dass die Anfragen automatisch bearbeitet werden, rufen Sie provider.resume_multiprovider_tasks
auf.
Nachdem die Anfrage ausgewertet wurde, werden die Anfrage und der Auswertungsstatus in die Tabelle
- samp:
samooha_cleanroom_${CLEANROOM_NAME}. admin.request_log_multiprovider
geschrieben (und die Anfrage wird genehmigt, wenn sie die Prüfung besteht). Durch Abfragen dieser Tabelle können Sie eine Liste der Anfragen und des Bewertungsstatus einsehen:
SELECT * FROM samooha_cleanroom_Samooha_Cleanroom_Multiprovider_Clean_Room_1.admin.request_log_multiprovider;
Eine genehmigte Anfrage erlaubt es demselben Verbraucher, dieselbe Abfrage gegen dieselben Daten so oft wie gewünscht durchzuführen. Wenn Sie die Berechtigung später widerrufen möchten, müssen Sie den Genehmigungsstatus in der Protokolltabelle auf FALSE setzen:
UPDATE samooha_cleanroom_Samooha_Cleanroom_Multiprovider_Clean_Room_1.admin.request_log_multiprovider SET APPROVED=False WHERE <CONDITIONS>;
Argumente:
cleanroom_name (string) – Der Name Ihres Reinraums, den ein Verbraucher in eine Analyse mit mehreren Anbietern aufnehmen möchte.
consumer_account (string) – Der Verbraucherkonto-Locator des Benutzers, der eine Analyse mit mehreren Anbietern anfragt. Dieser Locator muss für diesen Reinraum und die anderen in der Anfrage aufgeführten Reinräume in einem Aufruf an
provider.enable_multiprovider_computation
genehmigt worden sein.request_id (string) – Zu genehmigende Anfrage ID von
provider.view_multiprovider_requests
. Alternativ können Sie auch „-1“ eingeben, um alle ausstehenden Anfragen zu genehmigen. Der Aufruf dieser Funktion mit einer bereits bearbeiteten Anfrage schlägt fehl.
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
CALL samooha_by_snowflake_local_db.provider.process_multiprovider_request($cleanroom_name_1, $consumer_account_locator, $request_id);
provider.view_multiprovider_requests¶
Beschreibung: Zeigt alle Anfragen für Multi-Anbieter-Analysen von einem bestimmten Konto und Reinraum.
Argumente:
cleanroom_name (string) – Zeigt Anfragen an, die diesen Reinraum betreffen.
consumer_account (string) – Zeigt Anfragen von diesem Konto an.
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.provider.process_multiprovider_request('my_cleanroom', [
'prod_overlap_analysis:SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:HASHED_EMAIL',
'prod_overlap_analysis:SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:REGION_CODE' ]);
provider.suspend_multiprovider_tasks¶
Beschreibung:
Argumente:
cleanroom_name (string) –
consumer_account (string) –
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.provider.process_multiprovider_request('my_cleanroom', [
'prod_overlap_analysis:SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:HASHED_EMAIL',
'prod_overlap_analysis:SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:REGION_CODE' ]);
provider.resume_multiprovider_tasks¶
Beschreibung:
Argumente:
cleanroom_name (string) –
consumer_account (string) –
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.provider.process_multiprovider_request('my_cleanroom', [
'prod_overlap_analysis:SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:HASHED_EMAIL',
'prod_overlap_analysis:SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:REGION_CODE' ]);
Anbieter-Aktivierung¶
Aktivierung bedeutet den Export von Ergebnissen an einen Anbieter, einen Verbraucher oder einen Dritten. Lesen Sie mehr über die Aktivierung.
provider.set_activation_policy¶
Beschreibung: Legt fest, welche Spalten innerhalb einer Aktivierungsvorlage verwendet werden können. Stellt sicher, dass nur vom Anbieter genehmigte Spalten mit der Aktivierungsvorlage verwendet werden können.
Argumente:
cleanroom_name (string) – Name des Reinraums, in dem die Aktivierung erlaubt sein soll.
columns (Array aus Zeichenfolgen) – Nur die hier aufgeführten Spalten können in einer Aktivierungsvorlage in diesem Reinraum verwendet werden. Das Format der Spaltennamen lautet
template_name:fully_qualified_table_name:column_name
. Beachten Sie die korrekte Verwendung der Markierungen Punkt . und Doppelpunkt :.
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.provider.set_activation_policy('my_cleanroom', [
'prod_overlap_analysis:SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:HASHED_EMAIL',
'prod_overlap_analysis:SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:REGION_CODE' ]);
provider.request_provider_activation_consent¶
Beschreibung: Sendet eine Anfrage an den Verbraucher, um dem Anbieter zu erlauben, eine bestimmte Vorlage auszuführen und die Ergebnisse an das Snowflake-Konto des Anbieters zu senden. Argumente:
cleanroom_name (string) – Reinraum, der die Aktivierungsvorlage enthält.
template_name (string) – Name der Aktivierungsvorlage, für die Sie die Genehmigung anfragen. Diese Vorlage muss dem Reinraum in einem früheren Aufruf hinzugefügt worden sein.
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.provider.request_provider_activation_consent(
$cleanroom_name, 'activation_my_activation_template');
Analysen als Anbieter durchführen¶
Erfahren Sie, wie Sie eine Anbieter-Analyse durchführen
provider.enable_provider_run_analysis¶
Beschreibung: Ermöglicht es dem Anbieter (Ersteller des Reinraums), Analysen in einem bestimmten Reinraum durchzuführen. Diese Funktion ist standardmäßig deaktiviert. Der Anbieter muss dennoch für jede Analyse automatische Sicherheitsprüfungen bestehen, indem er provider.submit_analysis_request
aufruft.
Erfahren Sie mehr über die Analyse des Anbieters
Wichtig
Diese Prozedur muss aufgerufen werden nach provider.add_consumers
und bevor ein Verbraucher einen Reinraum installiert. Wenn dies geändert wird, nachdem ein Verbraucher seinen Reinraum bereits installiert hat, muss er den Reinraum neu installieren, um die neue Konfiguration zu berücksichtigen.
Argumente:
cleanroom_name (string) – Name des Reinraums, der eine vom Anbieter durchgeführte Analyse ermöglichen soll.
consumer_accounts (Array aus Zeichenfolgen) – Konto-Locator aller Verbraucherkonten, die Daten zu diesem Reinraum hinzugefügt haben.
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.provider.enable_provider_run_analysis($cleanroom_name, ['<CONSUMER_ACCOUNT_LOCATOR>']);
provider.disable_provider_run_analysis¶
Beschreibung: Verhindert, dass der Anbieter (Ersteller des Reinraums) eine Analyse im Reinraum durchführt (dies ist standardmäßig deaktiviert).
Wichtig
Diese Prozedur muss aufgerufen werden nach provider.add_consumers
und bevor ein Verbraucher einen Reinraum installiert. Wenn dies geändert wird, nachdem ein Verbraucher seinen Reinraum bereits installiert hat, muss er den Reinraum neu installieren, damit die neue Konfiguration berücksichtigt wird.
Argumente:
cleanroom_name (string) – Name des Reinraums, in dem die vom Anbieter durchgeführte Analyse deaktiviert werden soll.
consumer_account_locator (string) – Dieselbe Liste von Namen von Verbraucherkonten, die an
provider.enable_provider_run_analysis
übergeben wird.
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.provider.disable_provider_run_analysis($cleanroom_name, ['<CONSUMER_ACCOUNT_LOCATOR>']);
library.is_provider_run_enabled¶
Beschreibung: Prüft, ob dieser Reinraum vom Anbieter durchgeführte Analysen erlaubt.
Argumente:
cleanroom_name (string) – Name des zu prüfenden Reinraums.
Rückgabe: (string) Ob dieser Reinraum vom Anbieter durchgeführte Analysen erlaubt oder nicht.
Beispiel:
call samooha_by_snowflake_local_db.library.is_provider_run_enabled($cleanroom_name)
provider.submit_analysis_request¶
Beschreibung: Fragt einen Verbraucher um die Berechtigung, die angegebene Vorlage in dem angegebenen Reinraum auszuführen. Alle folgenden Bedingungen müssen erfüllt sein, bevor Sie diese Prozedur aufrufen:
Der Anbieter muss in diesem Reinraum Anbieter-Analysen aktiviert haben.
Der Verbraucher muss für die angegebene Vorlage über genehmigte Anbieter-Analysen verfügen.
Alle join und column Richtlinien für die Verbraucherdaten und die Vorlage müssen beachtet werden.
Die Vorlage wird im Reinraum ausgeführt, und die Ergebnisse werden sicher im Reinraum gespeichert. Die Ergebnisse werden verschlüsselt, sodass nur der Anbieter die Ergebnisse sehen kann.
Argumente:
cleanroom_name (string) – Name des Reinraums, in dem die Vorlage ausgeführt werden soll.
consumer_account_locator (string) – Konto-Locator des Verbrauchers in diesem Reinraum, der Anbieter-Analysen durch den Aufruf von
consumer.enable_templates_for_provider_run
zugelassen hat.template_name (string) – Name der Vorlage, die ausgeführt werden soll.
provider_tables (array) – Liste der Anbietertabellen, die in der Vorlage angezeigt werden sollen. Diese Liste wird die Array-Variable
source_table
füllen.consumer_tables (array) – Liste der Verbrauchertabellen, die der Vorlage zur Verfügung gestellt werden sollen. Diese Liste wird die Array-Variable
my_table
füllen.analysis_arguments (Objekt) – JSON Objekt, bei dem jeder Schlüssel ein Argumentname ist, der in der von Ihnen erstellten Vorlage verwendet wird.
Rückgabe: (string) Eine Anfrage-ID, die dazu dient, den Status der Anfrage zu überprüfen und auch auf die Ergebnisse zuzugreifen. Speichern Sie diese ID, denn Sie werden sie benötigen, um die Analyseergebnisse anzuzeigen.
Beispiel:
call samooha_by_snowflake_local_db.provider.submit_analysis_request(
$cleanroom_name,
'<CONSUMER_ACCOUNT>',
'prod_overlap_analysis',
['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS'],
['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS'],
object_construct(
'dimensions', ['c.REGION_CODE'],
'measure_type', ['AVG'],
'measure_column', ['c.DAYS_ACTIVE']
));
provider.check_analysis_status¶
Beschreibung: Der Anbieter ruft diese Prozedur auf, um den Status der Anbieteranalyseanfrage zu überprüfen. Es kann eine erhebliche Verzögerung geben, bis Sie den Status einer Anfrage sehen können. Wenn eine Analyse als abgeschlossen markiert ist, rufen Sie provider.get_analysis_result
auf, um die Ergebnisse anzuzeigen.
Argumente:
cleanroom_name (string) – Name des Reinraums, in dem die Anfrage gestellt wurde.
request_id (string) – ID der Anfrage, zurückgegeben von
provider.submit_analysis_request
.consumer_account_locator (string) – Konto-Locator des Verbrauchers, an den die Anfrage gesendet wurde.
Rückgabe: (string) Status der Anfrage, wobei COMPLETED
einen erfolgreichen Abschluss der Analyse bedeutet.
Beispiel:
-- It can take up to 2 minutes for this to pick up the request ID after the initial request
call samooha_by_snowflake_local_db.provider.check_analysis_status(
$cleanroom_name,
$request_id,
'<CONSUMER_ACCOUNT>'
);
provider.get_analysis_result¶
Beschreibung: Holen Sie sich die Ergebnisse für eine vom Anbieter durchgeführte Analyse. Sie müssen warten, bis der Analysestatus als COMPLETED aufgeführt wird, bevor Sie die Ergebnisse abrufen können. Die Ergebnisse bleiben im Reinraum auf unbestimmte Zeit erhalten.
Argumente:
cleanroom_name (string) – Name des Reinraums, für den die Anfrage gesendet wurde.
request_id (string) – ID der Anfrage, zurückgegeben von
submit_analysis_request
.consumer_account_locator (string) – Konto-Locator des Verbrauchers, der an
submit_analysis_request
übergeben wird.
Ergebnisse: (Tabelle) Abfrageergebnisse.
Beispiel:
call samooha_by_snowflake_local_db.provider.get_analysis_result(
$cleanroom_name,
$request_id,
$locator
);
Verwalten Sie die gemeinsame Nutzung von Reinräumen¶
Verwenden Sie die folgenden Befehle, um die gemeinsame Nutzung eines Reinraums mit Verbrauchern zu verwalten.
provider.view_consumers¶
Beschreibung: Listet die Verbraucher auf, die Zugang zum Reinraum haben. Es wird nicht angezeigt, ob ein Verbraucher den Reinraum installiert hat.
Argumente:
cleanroom_name (string) – Der Reinraum von Interesse.
Rückgabe: (Tabelle) – Liste der Konten von Verbrauchern, die auf den Reinraum zugreifen können.
Beispiel:
call samooha_by_snowflake_local_db.provider.view_consumers($cleanroom_name);
provider.add_consumers¶
Beschreibung: Gewährt den angegebenen Benutzern Zugriff auf den angegebenen Reinraum. Der Reinraum kann sowohl über die Web-App als auch über API aufgerufen werden. Dabei werden die Verbraucherlisten aus früheren Aufrufen nicht überschrieben. Der Zugang zum Reinraum wird einem bestimmten Benutzer gewährt, nicht einem ganzen Konto. Beachten Sie, dass sich das Konto des Verbrauchers in der gleichen Snowflake-Region wie der Anbieter befinden muss, um auf einen Reinraum zugreifen zu können. Sie können Ihre Region überprüfen, indem Sie select current_region();
aufrufen.
Sie können die aktuelle Liste der Verbraucher einsehen, indem Sie provider.view_consumers
aufrufen.
Argumente:
cleanroom_name (string) – Name des Reinraums, der für die angegebenen Benutzer freigegeben werden soll. Benutzer können den Reinraum entweder über die API oder die Web-App installieren.
consumer_account_locators (string) – Eine durch Komma getrennte Liste von Verbraucherkonto-Locator, wie sie von CURRENT_ACCOUNT zurückgegeben wird. Diese Liste sollte die gleiche Anzahl von Einträgen in der gleichen Reihenfolge enthalten, wie sie in
consumer_account_names
enthalten ist.consumer_account_names (string) – Eine durch Kommata getrennte Liste von Namen von Konten für Verbraucher im Format
org_name.account_name
Organisationsnamen können durch Aufruf von CURRENT_ORGANIZATION_NAME abgerufen werden. Der Name des Kontos kann durch den Aufruf von CURRENT_ACCOUNT_NAME abgerufen werden. Diese Liste sollte die gleiche Anzahl von Elementen in der gleichen Reihenfolge enthalten, wie sie inconsumer_account_locators
aufgeführt sind.enable_differential_privacy_tasks (Boolesch, optional, Standardwert: FALSE) – Ob die differentielle Privatsphäre für die aufgelisteten Benutzer in diesem Reinraum aktiviert werden soll oder nicht. Die differenzierte Privatsphäre muss für diesen Reinraum aktiviert sein, um TRUE angeben zu können.
Rückgabe: (string) Erfolgs- oder Fehlermeldung. Beachten Sie, dass die Prozedur keine Benutzer-Locator oder Kontonamen validiert, sodass der Erfolg nur anzeigt, dass die eingereichten Locator der Datenbank für diesen Reinraum hinzugefügt wurden.
Beispiel 1
call samooha_by_snowflake_local_db.provider.add_consumers($cleanroom_name, 'LOCATOR1,LOCATOR2', 'ORG1.NAME1,ORG2.NAME2');
provider.remove_consumers¶
Beschreibung: Entfernt den Zugriff eines Kontos auf einen bestimmten Reinraum. Diese Methode sperrt den Zugriff für alle Benutzer der angegebenen Konten.
Sie können die aktuelle Liste der Verbraucher einsehen, indem Sie provider.view_consumers
aufrufen.
Argumente:
cleanroom_name (string) – Die ID des Reinraums (nicht der benutzerfreundliche Name).
cleanroom_account_locators (string) – Eine durch Kommata getrennte Liste von Locator für Benutzerkonten. Alle Benutzer des Kontos verlieren den Zugang zum Reinraum.
Rückgabe: (string) – Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.provider.remove_consumers($cleanroom_name, 'locator1,locator2,locator3');
provider.set_cleanroom_ui_accessibility¶
Beschreibung: Zeigt oder verbirgt den Reinraum in der Web-App für alle Benutzer, die bei diesem Anbieterkonto angemeldet sind.
Argumente:
cleanroom_name (string) – Der Name des Reinraums.
visibility_status (string) – Einer der folgenden Werte (Groß- und Kleinschreibung beachten):
HIDDEN – Verbirgt den Reinraum in der Web-App vor allen Benutzern des aktuellen Anbieterkontos. Der Reinraum wird weiterhin über API erreichbar sein.
EDITABLE – Macht den Reinraum in der Web-App sichtbar.
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.provider.set_cleanroom_ui_accessibility($cleanroom_name, 'HIDDEN');
provider.enable_laf_for_cleanroom¶
Beschreibung: Aktiviert Cloud-übergreifende automatische Ausführung, wodurch Sie den Reinraum mit Teilnehmern teilen können, deren Snowflake-Konto sich in einer anderen Region befindet als das Konto des Anbieters. Die Cloud-übergreifende automatische Ausführung (Cross-Cloud Auto-Fulfillment) wird auch als automatische Auftragsausführung von Freigabeangeboten (Listing Auto-Fulfillment, LAF) bezeichnet.
Standardmäßig ist die Cloud-übergreifende automatische Ausführung für neue Reinräume deaktiviert, selbst wenn es für die Umgebung aktiviert ist.
Wichtig
Ein Snowflake-Administrator mit der Rolle ACCOUNTADMIN muss die Cloud-übergreifende automatische Ausführung in Ihrem Snowflake-Konto aktivieren, bevor Sie diesen Befehl ausführen können. Eine Anweisung zur Aktivierung der Cloud-übergreifenden automatischen Ausführung im Snowflake-Konto finden Sie unter Mit Konten in verschiedenen Regionen zusammenarbeiten.
Die Zusammenarbeit mit Verbrauchern in anderen Regionen ist mit zusätzlichen Kosten verbunden. Weitere Informationen zu diesen Kosten finden Sie unter Kosten für Cloud-übergreifende automatische Ausführung.
Argumente:
cleanroom_name (string) – Der Name des Reinraums, der über Regionen hinweg gemeinsam genutzt werden soll. Die Cloud-übergreifende automatische Ausführung muss von einem Administrator für das Konto aktiviert werden, bevor einzelne Reinräume gemeinsam genutzt werden können.
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.provider.enable_laf_for_cleanroom($cleanroom_name);
library.is_laf_enabled_on_account¶
Beschreibung: Gibt zurück, ob die Cloud-übergreifende automatische Ausführung für dieses Konto aktiviert ist.
Rückgabe: TRUE, wenn die Cloud-übergreifende automatische Ausführung für dieses Konto aktiviert ist, andernfalls FALSE.
Beispiel:
call samooha_by_snowflake_local_db.library.is_laf_enabled_on_account();
Verwenden von Python in einem Reinraum¶
provider.load_python_into_cleanroom¶
Beschreibung: Lädt eine benutzerdefinierte Python-Funktion in den Reinraum. Code, der mit dieser Prozedur in den Reinraum geladen wird, ist für Verbraucher nicht sichtbar. Der hochgeladene Code kann von Ihrer Jinja-Vorlage aufgerufen werden.
Erfahren Sie, wie Sie Python-Code in einem Reinraum hochladen und verwenden können
Diese Prozedur erhöht die Patch-Nummer Ihres Reinraums und löst einen Sicherheitsscan aus. Sie müssen warten, bis der Scan-Status APPROVED angezeigt wird, bevor Sie die neueste Version für Teilnehmer freigeben können.
Diese Prozedur ist überladen und hat zwei Signaturen, die sich durch den Datentyp des fünften Arguments unterscheiden, der bestimmt, ob Sie den Code inline hochladen oder aus einer Datei im Stagingbereich laden:
Signaturen¶
Inline UDF hochladen:
(cleanroom_name String, function_name String, arguments Array, packages Array, rettype String, handler String, code String)
UDF vom Stagingbereich hochladen:
(cleanroom_name String, function_name String, arguments Array, packages Array, imports Array, rettype String, handler String)
Argumente:
cleanroom_name (string) – Name des Reinraums, in den das Skript geladen werden soll.
function_name (string) – Name für dieses Paket. Verwenden Sie diesen Namen in Ihrer benutzerdefinierten Vorlage, um die Funktion aufzurufen, die durch handler mit allen Argumenten angegeben wird, die durch arguments beschrieben werden.
arguments (Array aus Zeichenfolgenpaaren) – Ein Array von Argumenten, die von der Funktion function_name benötigt werden. Jedes Argument ist ein Paar von durch Leerzeichen getrennten Zeichenfolgen mit dem Namen des Arguments und dem SQL-Datentyp des Arguments. Dies wird für die Dokumentation der Benutzer verwendet und ist nicht validiert. Zum Beispiel: ‚size integer‘, ‚month string‘, ‚data variant‘.
packages (Array aus Zeichenfolgen) – Liste der vom Code verwendeten Python-Paketnamen. Dies müssen Standard-Python-Pakete sein; Ihr UDFs kann keine anderen hochgeladenen UDFs aufrufen.
imports (Array aus Zeichenfolgen mit einem einzigen Element) – Nur vorhanden, wenn Sie Ihre UDF aus einem Stagingbereich hochladen. Dies ist ein Zeichenfolgen-Array mit einem einzigen Element: die Adresse des Stagingbereichs, relativ zu dem Stagingbereich, in den Sie den Code hochgeladen haben. Der Pfad zum Wurzel-Stagingbereich ist durch den Aufruf von
provider.get_stage_for_python_files
verfügbar.ret_type (string) – SQL Datentyp des Wertes, der von der Funktion handler zurückgegeben wird. Zum Beispiel: ‚integer‘, ‚variant‘.
handler (string) – Die Einstiegsfunktion in Ihrem Code, die aufgerufen werden soll, wenn eine Vorlage function_name aufruft.
Bei Inline UDF ist dies der Name der Funktion, zum Beispiel:
main
.Bei Code, der aus einem Stagingbereich hochgeladen wird, ist dies der Name der Funktion, qualifiziert durch den Namen der Quelldatei, zum Beispiel:
myscript.main
.
code (string) – Nur vorhanden, wenn die UDF als Inline-Code hochgeladen wird. Dies sollte ein Python UDF. sein
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiele:
-- Inline UDF
call samooha_by_snowflake_local_db.provider.load_python_into_cleanroom(
$cleanroom_name,
'assign_group', # Name of the UDF
['data variant', 'index integer'], # Arguments of the UDF, along with their type
['pandas', 'numpy'], # Packages UDF will use
'integer', # Return type of UDF
'main', # Handler
$$
import pandas as pd
import numpy as np
def main(data, index):
df = pd.DataFrame(data) # you can do something with df but this is just an example
return np.random.randint(1, 100)
$$
);
-- Upload from stage
call samooha_by_snowflake_local_db.provider.load_python_into_cleanroom(
$cleanroom_name,
'myfunc', # Name of the UDF
['data variant', 'index integer'], # Arguments of the UDF
['numpy', 'pandas'], # Packages UDF will use
['/test_folder/assign_group.py'], # Python file to import from a stage
'integer', # Return type of UDF
'assign_group.main' # Handler scoped to file name
);
provider.get_stage_for_python_files¶
Beschreibung: Gibt den Pfad zum Stagingbereich zurück, in den Python-Dateien hochgeladen werden sollen, wenn Sie planen, in einen Stagingbereich hochgeladene Codedateien anstelle von Inline-Code-Definitionen zu verwenden, um benutzerdefinierten Python-Code in einem Reinraum zu definieren. Der Stagingbereich existiert nicht und kann erst nach dem Hochladen der Dateien durch den Aufruf von provider.load_python_into_cleanroom
untersucht werden.
Erfahren Sie, wie Sie Python-Code in einem Reinraum hochladen und verwenden können
Argumente:
cleanroom_name (string) – Name des Reinraums, in den Sie Dateien hochladen möchten.
Rückgabe: (string) Der Pfad, in den Sie die Codedateien hochladen sollten. Verwenden Sie dies für das imports-Argument in provider.load_python_into_cleanroom
.
Beispiel:
call samooha_by_snowflake_local_db.provider.get_stage_for_python_files($cleanroom_name);
provider.view_cleanrooom_scan_status¶
Beschreibung: Meldet den Bedrohungs-Scan-Status für einen Reinraum, bei dem DISTRIBUTION auf EXTERNAL eingestellt ist. Der Scan muss als „APPROVED“ markiert sein, bevor Sie die Standard-Freigaberichtlinie festlegen oder ändern können. Der Scan-Status muss nur mit EXTERNAL Reinräumen überprüft werden.
Argumente:
cleanroom_name (string) – Name des Reinraums, dessen Status geprüft werden soll.
Rückgabe: (string) Der Status der Überprüfung.
Beispiel:
call samooha_by_snowflake_local_db.provider.view_cleanroom_scan_status($cleanroom_name);
Getter-Befehle für Reinraum-Metadaten¶
Verwenden Sie die folgenden Befehle, um die relevanten Eigenschaften des Reinraums anzuzeigen.
provider.mount_request_logs_for_all_consumers¶
Beschreibung: Ermöglicht Anbietern den Zugriff auf Informationen, die von den Verbrauchern eines Reinraums an den Anbieter zurückkommen.
.. # TODO: Details dazu benötigt – welche Protokolle erfordern, dass dies zuerst aufgerufen wird?)
Argumente:
cleanroom_name (string) – Name des Reinraums, für den die Anfrageprotokolle erstellt werden sollen.
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.provider.mount_request_logs_for_all_consumers($cleanroom_name);
provider.view_request_logs¶
Beschreibung: Zeigt die Anfrageprotokolle an, die von Verbrauchern dieses Reinraums gesendet werden. Bevor Sie dies zum ersten Mal aufrufen, müssen Sie mount_request_logs_for_all_consumers
aufrufen.
.. # TODO: Welche Anfragen werden protokolliert?)
Argumente:
cleanroom_name (string) – Name des Reinraums, für den die Anfrageprotokolle überprüft werden sollen.
Rückgabe: Eine Reihe von Protokollen, die von den Abfragen aufgezeichnet wurden, die gegen den Reinraum durchgeführt wurden (Tabelle)
Beispiel:
call samooha_by_snowflake_local_db.provider.view_request_logs($cleanroom_name);
Differential Privacy¶
Diese Befehle steuern die differentielle Privatsphäre im Reinraum. Sie können auch differentielle Privatsphäre auf Vorlagen- oder Verbraucherebene festlegen, wenn Sie provider.add_custom_sql_template
oder provider.add_consumers
aufrufen.
provider.is_dp_enabled_on_account¶
Beschreibung: Beschreibt, ob die differentielle Privatsphäre für dieses Konto aktiviert ist oder nicht.
Argumente: Keine
Rückgabe: TRUE, wenn der differenzierte Datenschutz für dieses Konto aktiviert ist, andernfalls FALSE.
Beispiel:
call samooha_by_snowflake_local_db.provider.is_dp_enabled_on_account();
provider.suspend_account_dp_task¶
Beschreibung: Deaktiviert die Aufgabe, die auf Signale für differentielle Privatsphäre achtet. Damit können Sie die Kosten im Zusammenhang mit der differentiellen Privatsphäre in Ihrem Konto kontrollieren. Wenn die Aufgabe „differentielle Privatsphäre“ deaktiviert ist, kann es sein, dass die differentielle Privatsphäre in vorhandenen Vorlagen, in denen differentielle Privatsphäre angegeben ist, weiterhin funktioniert, obwohl Ihnen dadurch keine Kosten entstehen. Erfahren Sie mehr über die Verwaltung der differentiellen Privatsphäre
Argumente: Keine
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.provider.suspend_account_dp_task();
provider.resume_account_dp_task¶
Beschreibung: Setzt die Aufgabenüberwachung für differentielle Privatsphäre im aktuellen Konto fort. Vorlagen mit differentieller Privatsphäre werden wieder funktionieren. Zuvor eingestellte unterschiedliche Datenschutzwerte (z. B. Empfindlichkeit oder zugehörige Benutzer) werden beibehalten.
Argumente: Keine
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.provider.resume_account_dp_task();
Allgemeine Hilfsbefehle¶
Verwenden Sie die folgenden Befehle, um die Reinraumfunktionalität und die unterstützten Abläufe allgemein zu nutzen.
library.enable_local_db_auto_upgrades¶
Beschreibung: Aktiviert die Aufgabe samooha_by_snowflake_local_db.admin.expected_version_task
, die automatisch ein Upgrade der Snowflake Data Clean Rooms Native App durchführt, wenn neue Versionen veröffentlicht werden. Obwohl Sie die Kosten senken könnten, wenn Sie diese Aufgabe deaktivieren, empfehlen wir, sie weiter auszuführen, um sicherzustellen, dass Sie die neueste Version der nativen Clean Rooms-App auf Ihrem System haben.
Argumente: Keine
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.library.enable_local_db_auto_upgrades();
library.disable_local_db_auto_upgrades¶
Beschreibung: Deaktiviert die Aufgabe samooha_by_snowflake_local_db.admin.expected_version_task
, die automatisch ein Upgrade der Snowflake Data Clean Rooms Native App durchführt, wenn neue Versionen veröffentlicht werden.
**Argumente:**Keine
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.library.disable_local_db_auto_upgrades();
Veraltete Prozeduren¶
Die folgenden Prozedurn sind veraltet und hier nur der Vollständigkeit halber aufgeführt. Wenn eine Ersatzprozedur angezeigt ist, verwenden Sie die neuere Prozedur.
provider.view_ui_registration_request_log – DEPRECATED¶
Achtung
Dieser Befehl ist jetzt veraltet. Sie müssen eine Reinraumvorlage nicht mehr manuell für die Verwendung in der Web-App registrieren.
Beschreibung: Zeigt die Liste der vom Konto ausgelösten Anfragen zur Registrierung von Reinräumen in der Web-App an. Jeder Anfrage ist eine ID zugeordnet, die in Verbindung mit der Prozedur view_ui_registration_log
verwendet werden kann, um den Status der Anfragen einzusehen. Die Anfragen werden an das Backend weitergeleitet, wo sie verarbeitet werden und der Reinraum dem Reinraum hinzugefügt wird.
Argumente:
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.provider.view_ui_registration_request_log();
library.register_table_or_view – Veraltet¶
Achtung
Dieser Befehl ist jetzt veraltet. Verwenden Sie stattdessen library.register_objects.
Beschreibung: Registriert Tabellen und Ansichten aller Art.
**Argumente:**object_names (array), is_view (boolean), is_iceberg (boolean), is_external (boolean), is_under_managed_access_schema (boolean)
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiele
Um eine Tabelle zu registrieren:
call samooha_by_snowflake_local_db.library.register_table_or_view(
['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS'],
false,
false,
false,
false);
Um eine Iceberg-Tabelle zu registrieren:
call samooha_by_snowflake_local_db.library.register_table_or_view(
['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS'],
false,
true,
false,
false);
library.register_table – Veraltet¶
Achtung
Dieser Befehl ist jetzt veraltet. Verwenden Sie stattdessen library.register_objects.
Beschreibung: Ähnlich wie register_db
, arbeitet aber auf Tabellenebene. Gewähren Sie der Rolle SAMOOHA_APP_ROLE die Berechtigung SELECT für diese Tabelle, sodass der Benutzer die Tabelle mit dem Reinraum verbinden kann.
Wenn Sie Tabellen in einem Schema mit verwaltetem Zugriff registrieren möchten (d. h. ein Schema, das mit dem Parameter WITH MANAGED ACCESS erstellt wurde), verwenden Sie stattdessen library.register_managed_access_table
.
**Argumente:**table_name (array)
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.library.register_table(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
library.register_managed_access_table – Veraltet¶
Achtung
Dieser Befehl ist jetzt veraltet. Verwenden Sie stattdessen library.register_objects.
Beschreibung: Ähnlich wie register_table
, registriert aber die Tabellen in einem Schema, das mit dem Parameter WITH MANAGED ACCESS erstellt wurde. Ein Array oder eine Zeichenfolge, die den vollqualifizierten Tabellennamen repräsentiert, kann übergeben werden, und SELECT-Zuweisungen für die Rolle SAMOOHA_APP_ROLE werden ausgeführt, sodass der Benutzer die Tabelle mit dem Reinraum verknüpfen kann.
**Argumente:**table_name (array)
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.library.register_managed_access_table(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
library.register_view – Veraltet¶
Achtung
Dieser Befehl ist jetzt veraltet. Verwenden Sie stattdessen library.register_objects.
Beschreibung: Ähnlich wie register_db
, arbeitet aber auf der Ebene einer Ansicht. Ein Array oder eine Zeichenfolge, die den vollqualifizierten Ansichtsnamen repräsentiert, kann übergeben werden, und SELECT-Zuweisungen für die Rolle SAMOOHA_APP_ROLE werden ausgeführt, sodass der Benutzer die Ansicht mit dem Reinraum verknüpfen kann.
Wenn Sie Ansichten in einem Schema mit verwaltetem Zugriff registrieren möchten (d. h. in einem Schema, das mit dem Parameter WITH MANAGED ACCESS erstellt wurde), verwenden Sie stattdessen library.register_managed_access_view
.
**Argumente:**view_name (array)
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.library.register_view(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
library.register_managed_access_view – Veraltet¶
Achtung
Dieser Befehl ist jetzt veraltet. Verwenden Sie stattdessen library.register_objects.
Beschreibung: Ähnlich wie register_view
, registriert jedoch die Ansichten in einem Schema, das mit dem Parameter WITH MANAGED ACCESS erstellt wurde. Ein Array oder eine Zeichenfolge, die den vollqualifizierten Ansichtsnamen repräsentiert, kann übergeben werden, und SELECT-Zuweisungen für die Rolle SAMOOHA_APP_ROLE werden ausgeführt, sodass der Benutzer die Ansicht mit dem Reinraum verknüpfen kann.
**Argumente:**view_name (array)
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.library.register_managed_access_view(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
library.unregister_table_or_view – Veraltet¶
Achtung
Dieser Befehl ist jetzt veraltet. Verwenden Sie stattdessen library.unregister_objects.
Beschreibung: Hebt die Registrierung von Tabellen und Ansichten aller Arten auf.
**Argumente:**object_names (array), is_view (boolean), is_iceberg (boolean), is_external (boolean), is_under_managed_access_schema (boolean)
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiele
So heben Sie die Registrierung einer Tabelle auf:
call samooha_by_snowflake_local_db.library.unregister_table_or_view(
['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS'],
false,
false,
false,
false);
library.unregister_table – Veraltet¶
Achtung
Dieser Befehl ist jetzt veraltet. Verwenden Sie stattdessen library.unregister_objects.
Beschreibung: Ähnlich wie unregister_db
, arbeitet aber auf Tabellenebene. Ein Array oder eine Zeichenfolge, die den vollqualifizierten Tabellennamen repräsentiert, kann übergeben werden, um die Registrierung der Tabellen aufzuheben. Benutzer können keine nicht registrierten Tabellen mit einem Reinraum verknüpfen.
Wenn Sie die Registrierung von Tabellen in einem Schema mit verwaltetem Zugriff aufheben möchten (d. h. ein Schema, das mit dem Parameter WITH MANAGED ACCESS erstellt wurde), verwenden Sie stattdessen library.unregister_managed_access_table
.
**Argumente:**table_name (array)
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.library.unregister_table(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
library.unregister_managed_access_table – Veraltet¶
Achtung
Dieser Befehl ist jetzt veraltet. Verwenden Sie stattdessen library.unregister_objects.
Beschreibung: Ähnlich wie unregister_table
, hebt jedoch die Registrierung von Tabellen in einem Schema mit verwaltetem Zugriff auf (d. h. ein Schema, das mit dem Parameter WITH MANAGED ACCESS erstellt wurde).
**Argumente:**table_name (array)
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.library.unregister_managed_access_table(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
library.unregister_view – Veraltet¶
Achtung
Dieser Befehl ist jetzt veraltet. Verwenden Sie stattdessen library.unregister_objects.
Beschreibung: Ähnlich wie unregister_db
, arbeitet aber auf der Ebene einer Ansicht. Ein Array oder eine Zeichenfolge, die den vollständig qualifizierten Namen der Ansicht repräsentiert, kann übergeben werden, um die Registrierung der Ansichten aufzuheben. Benutzer können keine nicht registrierten Ansichten mit einem Reinraum verknüpfen.
Wenn Sie die Registrierung von Ansichten in einem Schema mit verwaltetem Zugriff (d. h. einem Schema, das mit dem Parameter WITH MANAGED ACCESS erstellt wurde) aufheben möchten, verwenden Sie stattdessen library.unregister_managed_access_view
.
**Argumente:**view_name (array)
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.library.unregister_view(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
library.unregister_managed_access_view – Veraltet¶
Achtung
Dieser Befehl ist jetzt veraltet. Verwenden Sie stattdessen library.unregister_objects.
Beschreibung: Ähnlich wie unregister_view
, hebt jedoch die Registrierung von Ansichten in einem verwalteten Zugriffsschema auf (d. h. einem Schema, das mit dem Parameter WITH MANAGED ACCESS erstellt wurde).
**Argumente:**view_name (array)
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.library.unregister_managed_access_view(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
provider.create_cleanroom_listing – Veraltet¶
Achtung
Dieser Befehl ist jetzt veraltet. Verwenden Sie stattdessen provider.create_or_update_cleanroom_listing.
Beschreibung: Nachdem ein Reinraum konfiguriert wurde, erstellt er einen privates Freigabeangebot mit dem Reinraum auf dem Snowflake Marketplace und teilt es mit den angegebenen Teilnehmern.
Sie identifizieren den Teilnehmer anhand des Formats orgname.account_name
seiner Konto-URL. Der Benutzer kann diese Zeichenfolge finden, indem er die Anweisungen unter Suche nach der Organisation und dem Kontonamen für ein Konto befolgt.
Bemerkung
Um diese Prozedur zu verwenden, müssen Sie die Freigaberichtlinie festlegen. Weitere Informationen finden Sie unter provider.set_default_release_directive.
Argumente: cleanroom_name (string), consumer_account_name (string)
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.provider.create_cleanroom_listing($cleanroom_name, <consumerorg.consumeracct>);
provider.register_cleanroom_in_ui – DEPRECATED¶
Achtung
Dieser Befehl ist jetzt veraltet. Sie müssen eine Reinraumvorlage nicht mehr manuell für die Verwendung in der Web-App registrieren.
Beschreibung: Registriert einen Reinraum zur Verwendung in der Web-App durch den Verbraucher. Der Reinraum wird vom Anbieter mit den Entwickler-APIs erstellt und konfiguriert. Mit diesem Befehl wird er dann in der Web-App registriert, sodass die Verbraucher ihn installieren, ihre Tabelle hinzufügen und alle von Ihnen hinzugefügten benutzerdefinierten Analysen ausführen können, ohne die Entwickler-APIs verwenden zu müssen. Sie arbeiten mit dem Reinraum vollständig über die Weboberfläche der Web-App.
Sie können diese API mehrmals aufrufen, um mehrere benutzerdefinierte Vorlagen in die Web-App einzubinden.
**Argumente:**cleanroom_name (string), template name (string), consumer_account_locator (string), user_email (string)
Rückgabe: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
call samooha_by_snowflake_local_db.provider.register_cleanroom_in_ui($cleanroom_name, 'prod_custom_template', <CONSUMER ACCOUNT LOCATOR>, <USER_EMAIL>)