Snowflake Data Clean Rooms: Anbieter-API-Referenzhandbuch

Diese Seite beschreibt die von Clean Rooms-API-Verbrauchern verwendeten Prozeduren zur Verwaltung ihrer Clean Rooms. Anweisungen zur Einrichtung der Codierung finden Sie unter Codierung einrichten.

Reinräume erstellen, konfigurieren und löschen

Diese Prozeduren ermöglichen es einem Anbieter, einen Clean Room zu erstellen, zu konfigurieren und zu löschen.

view_cleanrooms

Schema:

PROVIDER

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();
Copy

describe_cleanroom

Schema:

PROVIDER

Beschreibung: Erhalten Sie eine Zusammenfassung von Informationen über einen Reinraum, wie z. B. Vorlagen, Join-Richtlinien, Spaltenrichtlinien und Verbraucher.

Argumente:

  • cleanroom_name (Zeichenfolge) – Name des Clean Rooms, ü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);
Copy

cleanroom_init

Schema:

PROVIDER

Beschreibung: Erzeugt einen Clean Room mit dem angegebenen Namen in Ihrem Konto. Diese Prozedur kann eine Minute oder mehr in Anspruch nehmen. Der Clean Room ist in der Clean Rooms-UI oder für Teilnehmer erst sichtbar, wenn Sie create_or_update_cleanroom_listing aufgerufen haben.

Argumente:

  • cleanroom_name (Zeichenfolge) – Name des Clean Rooms, maximal 80 Zeichen. Gültige Zeichen: [A-Z,a-z,0-9,_] und Leerzeichen.

  • distribution – (Zeichenfolge, optional) – Einer der folgenden Werte:

    • INTERNAL (Default): Der 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 Clean Room löst einen Sicherheitsscan vor Änderung der Standardversion <label-dcr_provider_set_default_release_directive> aus. Wenn Sie die Verteilung ändern möchten, nachdem ein Clean Room erstellt wurde, rufen Sie ALTER PACKAGE wie hier gezeigt auf:

      ALTER APPLICATION PACKAGE samooha_cleanroom_<CLEANROOM_ID>
        SET DISTRIBUTION = EXTERNAL;
      
      Copy

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

-- Create an internal clean room
CALL samooha_by_snowflake_local_db.provider.cleanroom_init($cleanroom_name, 'INTERNAL');
Copy

set_default_release_directive

Schema:

PROVIDER

Beschreibung: Gibt die Version und den Patch eines Clean Rooms an, die von Teilnehmern geladen werden, wenn sie eine neue Browsersitzung in der Clean Room-UI starten oder von der API aus auf den Clean Room 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 und deren Status oder die aktuelle Release-Richtlinie anzuzeigen, führen Sie den entsprechenden SQL-Befehl aus:

-- See all versions, including failed versions.
SHOW VERSIONS IN APPLICATION PACKAGE SAMOOHA_CLEANROOM_<cleanroom_name>;

-- See current release directive.
SHOW RELEASE DIRECTIVES IN APPLICATION PACKAGE SAMOOHA_CLEANROOM_<cleanroom_name>;
Copy

Wobei <cleanroom_name> diesem Format folgt.

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_cleanroom_scan_status auf.

Argumente:

  • cleanroom_name (Zeichenfolge)– Name des Clean Rooms.

  • version – (Zeichenfolge) Version. Muss immer „V1_0“ sein.

  • patch – (Zeichenfolge) 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: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.set_default_release_directive(
  $cleanroom_name,
  'V1_0', '0'
);
Copy

drop_cleanroom

Schema:

PROVIDER

Beschreibung: Löschen des Clean Rooms. Teilnehmer, die den Reinraum installiert haben, können ihn nicht mehr betreten oder nutzen. Der Clean Room erscheint nicht mehr in der Clean Rooms-UI, wenn der Browser das nächste Mal aktualisiert wird.

Argumente:

  • cleanroom_name (Zeichenfolge)– Name des zu löschenden Clean Rooms.

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.drop_cleanroom($cleanroom_name);
Copy

enable_consumer_run_analysis

Schema:

PROVIDER

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.

Argumente:

  • cleanroom_name (Zeichenfolge) – Name des Clean Rooms, in dem Verbraucheranalysen erlaubt sind.

  • consumer_accounts – (Array aus Zeichenfolgen) Die Konto-Locators aller Verbraucher, für die dieses Feature aktiviert werden soll. NOTE: Diese Verbraucher müssen bereits zum Clean Room hinzugefügt worden sein.

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.enable_consumer_run_analysis(
  $cleanroom_name,
  ['<CONSUMER_ACCOUNT_LOCATOR_1>']
);
Copy

disable_consumer_run_analysis

Schema:

PROVIDER

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.

Argumente:

  • cleanroom_name (Zeichenfolge) – Clean Room, in dem die Verbraucheranalyse deaktiviert ist.

  • consumer_accounts – (Array aus Zeichenfolgen) Konto-Locators von Verbrauchern, die in diesem Clean Room keine Analyse durchführen können. NOTE: Diese Verbraucher müssen dem Clean Room bereits hinzugefügt worden sein.

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.disable_consumer_run_analysis(
  $cleanroom_name,
  ['<CONSUMER_ACCOUNT_LOCATOR_1>']
);
Copy

is_consumer_run_enabled

Schema:

LIBRARY

Beschreibung: Prüft, ob in diesem Reinraum vom Verbraucher ausgeführte Analysen zugelassen sind.

Argumente:

  • cleanroom_name (Zeichenfolge) – Name des zu prüfenden Clean Rooms.

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)
Copy

create_or_update_cleanroom_listing

Schema:

PROVIDER

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 Clean Room zum ersten Mal veröffentlichen, kann es bis zu 15 Minuten dauern, bis der Clean Room in der Clean Rooms-UI angezeigt wird.

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.

Die Anzahl der Clean Rooms+-Teilnehmer, die Sie über ein einzelnes Konto erstellen können, ist begrenzt. Wenn Sie zu viele Test-Clean Rooms erstellen, müssen Sie möglicherweise einige löschen, um neue Clean Rooms zu erstellen. Wenn Sie mehr Clean Rooms benötigen, als Ihr Konto aufnehmen kann, wenden Sie sich an den Snowflake-Support.

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 (Zeichenfolge) – Name des zu veröffentlichenden oder zu aktualisierenden Clean Room.

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Fehlerbehandlung:

Wenn Sie die Fehlermeldung erhalten, dass die Cloud-übergreifende automatische Ausführung für dieses Konto nicht aktiviert ist, bedeutet dies, dass sich einer der Verbraucher in einer anderen Cloud-Hosting-Region befindet. Sie müssen die Cloud-übergreifende automatische Ausführung wie in Cloud-übergreifende automatische Ausführung in Snowflake Data Clean Rooms verwalten beschrieben aktivieren.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.create_or_update_cleanroom_listing(
  $cleanroom_name
);
Copy

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.

register_db

Schema:

PROVIDER

Beschreibung: Ermöglicht die Verknüpfung einer Datenbank und aller darin enthaltenen Objekte mit einzelnen Clean Rooms in dieser Clean Room-Umgebung. Diese Prozedur gewährt USAGE SELECT- und SAMOOHA_APP_ROLE-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.

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 – (Zeichenfolge)* – Name der zu registrierenden Datenbank.

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

USE ROLE <role_with_manage_grants>;
CALL samooha_by_snowflake_local_db.provider.register_db('SAMOOHA_SAMPLE_DATABASE');
Copy

register_schema

Schema:

LIBRARY

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 USAGE SELECT- und SAMOOHA_APP_ROLE-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: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

USE ROLE <role_with_manage_grants>;
CALL samooha_by_snowflake_local_db.library.register_schema(['SAMOOHA_SAMPLE_DATABASE.DEMO']);
Copy

register_managed_access_schema

Schema:

LIBRARY

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: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

USE ROLE <role_with_manage_grants>;
CALL samooha_by_snowflake_local_db.library.register_managed_access_schema(
  ['SAMOOHA_SAMPLE_DATABASE.DEMO']
);
Copy

register_objects

Schema:

LIBRARY

Beschreibung: Gewährt dem Clean Room Zugriff auf Tabellen und Ansichten aller Arten, sodass sie durch den Aufruf von provider.link_datasets mit dem Clean Room verknüpft werden können. 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.

Wenn Sie eine Ansicht registrieren, die auf einem Objekt in einer anderen Datenbank basiert, müssen Sie auch der systemeigenen Anwendung die Berechtigung zum Zugriff auf das Quellobjekt erteilen.

Argumente:

  • object_names – (Array) Array mit vollständig qualifizierten Objektnamen. Diese Objekte können dann mit dem Reinraum verknüpft werden.

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Beispiele

So registrieren Sie eine Tabelle und eine Ansicht:

USE ROLE <role_with_manage_grants>;
CALL samooha_by_snowflake_local_db.library.register_objects(
  [
    'SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS',
    'SAMOOHA_SAMPLE_DATABASE.INFORMATION_SCHEMA.FIELDS'
  ]
 );
Copy

enable_external_tables_on_account

Schema:

LIBRARY

Beschreibung: Aktivieren Sie die Verwendung von Iceberg-Tabellen oder externen Tabellen in allen Clean Rooms in diesem Konto. Muss von einem ACCOUNTADMIN in beiden Konten, dem Anbieter- und dem Verbraucherkonto, aufgerufen werden, damit Iceberg-Tabellen oder externe Tabellen über eines der Konten verknüpft werden können. Um diese Fähigkeit auf bestimmte Clean Rooms in diesem Konto zu beschränken, rufen Sie stattdessen enable_external_tables_for_cleanroom auf.

Wenn erfolgreich und alle Sicherheitsscans bestanden wurden, wird eine neue Patchversion des Clean Rooms generiert.

Argumente: Keine

Rückgabe: (String) Erfolgsmeldung. Bei Erfolg wird ein Sicherheitsscan ausgelöst und auch die Nummer des Patches angegeben, der bei Erfolg des Sicherheitsscans generiert wird.

Beispiel:

USE ROLE ACCOUNTADMIN;
CALL samooha_by_snowflake_local_db.library.enable_external_tables_on_account();
Copy

enable_external_tables_for_cleanroom

Schema:

PROVIDER

Beschreibung: Ermöglichen Sie, dass Iceberg-Tabellen oder externe Tabellen von diesem Anbieter in den jeweiligen Clean Room in diesem Konto verknüpft werden. Um Iceberg-Tabellen und externe Tabellen für alle Clean Rooms in diesem Konto zuzulassen, rufen Sie stattdessen enable_external_tables_on_account auf.

Bei Erfolg wird eine neue Patchversion des Clean Rooms generiert.

Argumente:

  • cleanroom_name (Zeichenfolge) – Der Name des Clean Rooms, mit dem der Anbieter Iceberg-Tabellen oder externe Tabellen verknüpfen kann.

Rückgabe: (String) Erfolgsmeldung. Bei Erfolg wird ein Sicherheitsscan ausgelöst und auch die Nummer des Patches angegeben, der bei Erfolg des Sicherheitsscans generiert wird.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.enable_external_tables_for_cleanroom(
  $cleanroom_name);
Copy

unregister_db

Schema:

LIBRARY

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 Clean Rooms-UI entfernt.

Argumente:

  • db_name – (Zeichenfolge) Name der Datenbank, deren Registrierung aufgehoben werden soll.

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

USE ROLE <role_with_manage_grants>;
CALL samooha_by_snowflake_local_db.library.unregister_db('SAMOOHA_SAMPLE_DATABASE');
Copy

unregister_schema

Schema:

LIBRARY

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 verwaltetes Zugriffsschema (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: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

USE ROLE <role_with_manage_grants>;
CALL samooha_by_snowflake_local_db.library.unregister_schema(
  ['SAMOOHA_SAMPLE_DATABASE.DEMO']
);
Copy

unregister_managed_access_schema

Schema:

LIBRARY

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, deren Registrierung aufgehoben werden soll.

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

USE ROLE <role_with_manage_grants>;
CALL samooha_by_snowflake_local_db.library.unregister_managed_access_schema(['SAMOOHA_SAMPLE_DATABASE.DEMO']);
Copy

unregister_objects

Schema:

LIBRARY

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: (Zeichenfolge) Erfolgsmeldung.

Beispiele

So heben Sie die Registrierung einer Tabelle und einer Ansicht auf:

USE ROLE <role_with_manage_grants>;
CALL samooha_by_snowflake_local_db.library.unregister_objects(
  [
    'SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS',
    'SAMOOHA_SAMPLE_DATABASE.INFORMATION_SCHEMA.FIELDS'
  ]
);
Copy

Richtlinien verwalten

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.

Learn more about table policies in clean rooms.

view_join_policy

Schema:

PROVIDER

Beschreibung: Zeigt die Verknüpfungsrichtlinien an, die derzeit auf den Reinraum angewendet werden.

Argumente:

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);
Copy

set_join_policy

Schema:

PROVIDER

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 join_policy oder join_and_column_policy JinjaSQL-Filter zum Verknüpfen von 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 (Zeichenfolge) – Name des Clean Rooms, 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: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.set_join_policy(
  $cleanroom_name,
  [
    'SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:HASHED_EMAIL',
    'MYDB.MYSCH.EXPOSURES:HASHED_EMAIL'
  ]
);
Copy

Anbietervorlagen verwalten

Verwenden Sie die folgenden Befehle, um die Vorlagen/Analysen hinzuzufügen, die in diesem Reinraum unterstützt werden.

view_added_templates

Schema:

PROVIDER

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:

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);
Copy

view_template_definition

Schema:

PROVIDER

Beschreibung: Zeigt Informationen über eine bestimmte Vorlage an. Verbraucher, die sich eine Anbietervorlage ansehen, sollten consumer.view_template_definition verwenden.

Argumente:

  • cleanroom_name (Zeichenfolge) – Name des Clean Rooms mit dieser Vorlage.

  • template_name – (Zeichenfolge) Name der Vorlage, über die Sie Informationen anfragen möchten.

Rückgabe: (String) Die Definition der Vorlage.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.view_template_definition(
  $cleanroom_name,
  $template_name);
Copy

add_templates

Schema:

PROVIDER

Beschreibung: Fügt dem Reinraum eine Liste von Vorlagen hinzu. Die vorhandene Vorlagenliste wird dadurch nicht ersetzt.

Argumente:

  • cleanroom_name (Zeichenfolge) – Name des Clean Rooms, 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 kundenspezifisch Vorlage hinzuzufügen, rufen Sie add_custom_sql_template auf.

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.add_templates(
  $cleanroom_name,
  ['my_custom_template']);
Copy

clear_template

Schema:

PROVIDER

Beschreibung: Entfernt eine angegebene Vorlage aus dem Reinraum.

Argumente:

  • cleanroom_name (Zeichenfolge) – Name des Clean Room.

  • template_name – (Zeichenfolge) Name der Vorlage, die aus diesem Clean Room entfernt werden soll.

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.clear_template(
  $cleanroom_name,
  'prod_custom_template');
Copy

clear_all_templates

Schema:

PROVIDER

Beschreibung: Entfernt alle Vorlagen, die dem Reinraum hinzugefügt wurden.

Argumente:

  • cleanroom_name (Zeichenfolge) – Name des Clean Rooms, aus dem alle Vorlagen entfernt werden sollen.

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.clear_all_templates($cleanroom_name);
Copy

set_column_policy

Schema:

PROVIDER

Beschreibung: Legt fest, welche Spalten in den Daten für eine bestimmte Vorlage im Clean Room als nicht zu verknüpfende Zeilen verfügbar sind. Die Spalten müssen entweder hier oder in set_join_policy deklariert werden, um im Clean Room 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 (Zeichenfolge) – Name des Clean Room.

  • analysis_and_table_and_cols – (Array aus Zeichenfolgen) Array von Spalten, die von Vorlagen verwendet werden können. Das Format für jede Spalte ist: template_name:full_table_name:column_name

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

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']);
Copy

view_column_policy

Schema:

PROVIDER

Beschreibung: Listet die derzeit im Reinraum aktiven Spaltenrichtlinien auf. Eine Spaltenrichtlinie legt fest, welche Tabellenspalten in welchen Vorlagen angezeigt werden können.

Argumente:

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);
Copy

add_custom_sql_template

Schema:

PROVIDER

Beschreibung: Fügt eine benutzerdefinierte JinjaSQL-Vorlage in den Clean Room ein. Dies macht die Vorlage für den Verbraucher aufrufbar. Erfahren Sie, wie Sie kundenspezifische Vorlagen erstellen.

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 der Verbraucher die Vorlage verwendet, um Ergebnisse an den Anbieter zurückzusenden, muss der Befehl die folgenden Anforderungen erfüllen:

  • Der Name der kundenspezifischen Vorlage muss mit der Zeichenfolge activation beginnen. Beispiel: activation_custom_template.

  • Die Vorlage muss eine Tabelle erstellen, die mit beginnt cleanroom.activation_data_. 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. Für die Vorlage mit dem Namen activation_data_analysis_results würden Sie z. B. data_analysis_results zurückgeben.

Argumente:

  • cleanroom_name (Zeichenfolge) – Name des Clean Rooms, auf den diese Vorlage angewendet wird.

  • template_name – (Zeichenfolge) Name der Vorlage. Müssen alle Kleinbuchstaben, Zahlen, Leerzeichen oder Unterstriche sein. Aktivierungsvorlagen müssen einen Namen haben, der mit „Aktivierung“ beginnt.-

  • template – (Zeichenfolge) Die JinjaSQL-Vorlage.

  • sensitivity – (Float, optional) Wenn die differentielle Privatsphäre für diesen Clean Room aktiviert ist, gibt dies die Stärke des differentiellen Privatsphärerauschens an, das auf die von dieser Vorlage verbrauchten Daten angewendet wird. Muss eine Zahl größer als 0 sein. Der Standardwert ist 1.0. Die Aufgabe für differentielle Privatsphäre muss in diesem Clean Room ausgeführt werden, damit dieses Argument Auswirkungen hat.

  • consumer_locators – (Array aus Zeichenfolgen, optional) Ein Array mit einem oder mehreren Konto-Locators. 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.

  • is_obfuscated – (Boolesch, optional) Wenn TRUE, können Verbraucher den Vorlagentext nicht anzeigen. Beachten Sie, dass Sie Snowflake Enterprise Edition oder höher verwenden müssen, um eine verschlüsselte Vorlage ausführen zu können. Wenn diese Vorlage für eine vom Anbieter durchgeführte Analyse verwendet wird, muss der Verbraucher die Anfrage zur Analyse jedes Mal, wenn Sie den Status is_obfuscated ändern, erneut genehmigen. is_obfuscated kann nicht zusammen mit sensitivity verwendet werden.

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

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
        IDENTIFIER({{ c.consumer_id  }}) = IDENTIFIER({{ provider_id | join_policy }})
    {% if where_clause %}
      WHERE {{ where_clause | sqlsafe | join_and_column_policy }}
    {% endif %};
    $$);
Copy

add_ui_form_customizations

Schema:

PROVIDER

Beschreibung: Definiert ein Anpassungsformular für eine Vorlage in einem Clean Room, wenn der Clean Room in Clean Rooms-UI ausgeführt wird. Dies ist nützlich, wenn Sie Verbrauchern die Möglichkeit geben, Vorlagenparameter wie Tabellen oder Spalten auszuwählen. Sie müssen im template_information-Argument zumindest Werte für display_name, description und methodology angeben.

Es wird empfohlen, die Elemente der Tabellenauswahl vor die Elemente der Spaltenauswahl zu setzen, insbesondere wenn die Spaltenauswahl auf der Grundlage der Tabellenauswahl gefüllt wird.

}:ref:Erfahren Sie, wie Sie Benutzereingabeformulare für benutzerdefinierte Vorlagen entwerfen. <label-dcr_define_user_form>

Nach dem Aufruf dieser Funktion müssen Sie den Clean Room aktualisieren. Wenn Sie provider.create_or_update_cleanroom_listing nach der Aktualisierung der UI nicht aufrufen, werden Teilnehmern keine Aktualisierungen angezeigt.

Argumente:

  • cleanroom_name (Zeichenfolge) – Der Name des Clean Rooms, der diese Vorlage enthält. Das eingereichte Formular gilt nur für die angegebene Vorlage im angegebenen Reinraum.

  • template_name – (Zeichenfolge) Name der Vorlage, für die diese UI gilt. Dies ist nicht der für Benutzende sichtbare Titel, der mit dem Feld template_information.display_name festgelegt wird.

  • template_information – (Dict) Metainformationen über die Vorlage, die in der Clean Rooms-UI angezeigt werden soll. Die folgenden Eigenschaften müssen oder können definiert werden:

    • display_name (erforderlich): Anzeigename der Vorlage in der Clean Rooms-UI.

    • description (erforderlich): Beschreibung der Vorlage.

    • methodology ( erforderlich): Beschreibung der Argumente und des Ergebnisses.

    • warehouse_hints (Objekt): Empfiehlt, welche Art von Warehouse für die Ausführung der Analyse zu verwenden ist. Dies ist ein Objekt mit den folgenden Feldern:

      • warehouse_size: Gültige Werte siehe warehouse_size in CREATE WAREHOUSE.

      • snowpark_optimized (Boolesch): Ob ein Snowpark-optimiertes Warehouse verwendet werden soll, um die Abfrage zu verarbeiten. Für die meisten Anwendungsfälle für maschinelles Lernen empfiehlt Snowflake TRUE.

    • render_table_dropdowns (Objekt): Ob die Standard-Dropdown-Listen angezeigt werden sollen, mit denen der Benutzer auswählen kann, welche Anbieter- oder Verbrauchertabellen in der Abfrage verwendet werden sollen. Dies ist ein Objekt mit den folgenden Feldern:

      • render_consumer_table_dropdown(Boolesch), wenn TRUE, den Standardselektor für Verbrauchertabellen einblenden. Wenn FALSE, blenden Sie den Selektor für Verbrauchertabellen aus. Die Vorlage kann über die Vorlagenvariable my_table auf die ausgewählten Werte als Liste zugreifen. Wenn ein Element references=CONSUMER_TABLES festlegt, ist der Standardwert FALSE. Andernfalls ist der Standardwert TRUE.

      • render_provider_table_dropdown(Boolesch), wenn TRUE, den Standardselektor für Anbietertabellen einblenden. Falls FALSE, blenden Sie den Selektor für Anbieterabellen aus. Die Vorlage kann über die Vorlagenvariable source_table auf die ausgewählten Werte als Liste zugreifen. Wenn ein Element references=PROVIDER_TABLES festlegt, ist der Standardwert FALSE. Andernfalls ist der Standardwert TRUE.

    • activation_template_name(Zeichenfolge) Name einer Aktivierungsvorlage in diesem Clean Room. Verwenden Sie den Vorlagennamen ohne cleanroom-Präfix. Erfahren Sie mehr über Aktivierungsvorlagen.

    • enabled_activations(Zeichenfolge) Welche Arten von Aktivierungen aktiviert sind. Mögliche Werte: consumer, provider. Kein Standard; muss angegeben werden, wenn activation_template_name angegeben ist.

  • details – (Dict, optional): 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 Formularelement darstellt. Der Schlüssel ist ein Variablenname, der für die verknüpfteJinjaSQL-Vorlage verfügbar ist. Der Wert ist ein Objekt, das das Formularelement definiert. Wenn für eine Vorlagenvariable hier kein entsprechendes Formularelement definiert ist, generiert Clean Rooms automatisch ein Standard-Formularelement. Jedes Objekt kann die folgenden Felder definieren:

    <field_name>: {
      ['display_name': <string>,]
      ['order': <number>,]
      ['description': <string>,]
      ['type': <enum>,]
      ['default': <value>,]
      ['choices': <string array>,]
      ['infoMessage': <string>,]
      ['size': <enum>,]
      ['required': <bool>,]
      ['group': <string>,]
      ['references': <array of string>,]
      ['provider_parent_table_field':  <string>,]
      ['consumer_parent_table_field': <string>]
    }
    
    Copy
    • display_name: Beschriftungstext für dieses Element im UI-Formular.

    • order: 1-basierte Reihenfolge, in der dieses Element in Formular angezeigt werden soll. Wenn nicht angegeben, werden die Elemente in der Reihenfolge gerendert, in der sie im Objekt erscheinen.

    • description: Eine Beschreibung des Zwecks des Elements, die unter dem Label angezeigt wird. Geben Sie hier kurze Hilfeinformationen oder Beispiele an. Wenn nichts angegeben wird, wird nichts angezeigt.

    • type: Der Typ des UI-Elements. Wenn für dieses Eingabefeld references angegeben ist, dann lassen Sie diesen Eintrag weg (der Typ wird für Sie ermittelt). Unterstützte Werte:

      • any (Standard): Reguläres Texteingabefeld.

      • boolean: Wahr/Falsch-Selektor

      • integer: Verwenden Sie Pfeile, um die Zahl zu ändern

      • multiselect: Wählen Sie mehrere Elemente aus einer Dropdown-Liste aus

      • dropdown: Wählen Sie ein Element aus einer Dropdown-Liste

      • date: Datumsselektor

    • default: Standardwert für dieses Element

    • choices: (Array aus Zeichenfolgen) Liste der Auswahlmöglichkeiten für Dropdown- und Multiselect-Elemente

    • infoMessage: Informativer Hovertext wird neben dem Element angezeigt. Falls nicht angegeben, wird keine QuickInfo bereitgestellt.

    • size: Elementgröße. Unterstützte Werte: XS, S, M, L, XL

    • required: Ob ein Wert vom 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: Füllt eine Dropdown-Liste mit Tabellen oder Spalten des angegebenen Typs im Clean Room auf. Falls verwendet, muss type muss entweder multiselect oder dropdown sein. Die folgenden Zeichenfolgenwerte werden unterstützt:

      • PROVIDER_TABLES: Auflistung aller Tabellen des Anbieters im Clean Room. Falls angegeben, muss render_table_dropdowns.render_provider_table_dropdown FALSE sein.

      • PROVIDER_JOIN_POLICY: Listet alle Spalten in der Verknüpfungsrichtlinie des Anbieters für die Tabelle auf, die derzeit im Element provider_parent_table_field ausgewählt ist.

      • PROVIDER_COLUMN_POLICY: Listet alle Spalten in der Spaltenrichtlinie des Anbieters für die aktuelle Vorlage und die im provider_parent_table_field-Element ausgewählte Tabelle auf.

      • PROVIDER_ACTIVATION_POLICY: Listet alle Spalten in der Aktivierungsrichtlinie des Anbieters auf.

      • CONSUMER_TABLES: Auflistung aller Tabellen des Anbieters im Clean Room. Falls angegeben, muss render_table_dropdowns.render_consumer_table_dropdown FALSE sein.

      • CONSUMER_COLUMNS: Listet alle Spalten in der Verbrauchertabelle nach consumer_parent_table_field auf. Sie sollten keine Verbraucher-Spaltenreferenzen in vom Anbieter ausgeführten Vorlagen verwenden, da der Verbraucher auf diese Spalten möglicherweise Verknüfungs- und Spaltenrichtlinien anwendet. Verwenden Sie für vom Anbieter ausgeführte Vorlagen stattdessen CONSUMER_JOIN_POLICY oder CONSUMER_COLUMN_POLICY.

      • CONSUMER_JOIN_POLICY: Listet alle Spalten in der Verknüpfungsrichtlinie des Verbrauchers auf, die im Element consumer_parent_table_field ausgewählt sind.

      • CONSUMER_COLUMN_POLICY: Listen Sie alle Spalten in der Spaltenrichtlinie des Verbrauchers für die aktuelle Vorlage und die im Feld consumer_parent_table_field ausgewählte Tabelle auf.

    • provider_parent_table_field: Der Name des UI-Elements, in dem der Benutzer eine Anbietertabelle auswählt. Geben Sie hier nicht den Tabellennamen selbst an. Nur verwenden, wenn references auf PROVIDER_COLUMN_POLICY oder PROVIDER_JOIN_POLICY festgelegt ist. Um auf die Standardanbietertabelle zu verweisen, geben Sie hier source_table an und legen Sie render_table_dropdowns.render_provider_table_dropdown auf TRUE fest.

    • consumer_parent_table_field: Der Name des UI-Elements, in dem der Benutzer eine Verbrauchertabelle auswählt. Geben Sie hier nicht den Tabellennamen selbst an. Nur verwenden, wenn references auf CONSUMER_COLUMNS, CONSUMER_JOIN_POLICY oder CONSUMER_COLUMN_POLICY festgelegt ist. Um auf die Standardverbrauchertabelle zu verweisen, geben Sie hier my_table an und legen Sie render_table_dropdowns.render_provider_table_dropdown auf TRUE fest.

  • output_config – (Dict) Legt fest, wie die Ergebnisse der Vorlagen in der Clean Rooms-UI 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 Clean Rooms-UI generierten 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) Tabellenformat

      • BAR: Balkendiagramm, das sich gut für den Vergleich verschiedener Kategorien eignet

      • LINE: Zeilendiagramm, das gut geeignet ist, um Trends im Zeitverlauf oder kontinuierliche Daten darzustellen

      • PIE: Kreisdiagramm, das sich für die Darstellung von Proportionen oder Prozentsätzen eignet

Die folgende Tabelle zeigt eine Matrix von Werten, die im details-Objekt für Werte zulässig sind, die kollidieren können:

type

references

provider_parent_table_field

consumer_parent_table_field

render_provider_table_dropdown

render_consumer_table_dropdown

multiselect oder dropdown

PROVIDER_TABLES

Nicht erlaubt

Nicht erlaubt

FALSE

TRUE oder FALSE

PROVIDER_JOIN_POLICY

source_table

Nicht erlaubt

TRUE

TRUE oder FALSE

PROVIDER_JOIN_POLICY

parent field name

Nicht erlaubt

TRUE oder FALSE

TRUE oder FALSE

PROVIDER_COLUMN_POLICY

source_table

Nicht erlaubt

TRUE

TRUE oder FALSE

PROVIDER_COLUMN_POLICY

parent field name

Nicht erlaubt

TRUE oder FALSE

TRUE oder FALSE

CONSUMER_TABLES

Nicht erlaubt

Nicht erlaubt

TRUE oder FALSE

FALSE

CONSUMER_COLUMNS

Nicht erlaubt

my_table oder parent field name

TRUE oder FALSE

TRUE

CONSUMER_JOIN_POLICY

Nicht erlaubt

my_table oder parent field name

TRUE oder FALSE

TRUE

CONSUMER_COLUMN_POLICY

Nicht erlaubt

my_table oder parent field name

TRUE oder FALSE

TRUE

PROVIDER_ACTIVATION_POLICY

Nicht erlaubt

Nicht erlaubt

TRUE oder FALSE

TRUE oder FALSE

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

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'
      }
  );
Copy

restrict_template_options_to_consumers

Schema:

PROVIDER

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.

Bemerkung

Einschränkungen, die Sie durch den Aufruf dieser Prozedur erstellen, verhalten sich in der Clean Rooms-UI möglicherweise nicht wie erwartet. Sie sollten diese Prozedur nicht für einen Clean Room aufrufen, der in der Clean Rooms-UI verwendet werden kann.

Argumente:

  • cleanroom_name (Zeichenfolge) – der Name des Clean Room.

  • access_details – (JSON-Objekt) Der Name einer Vorlage und die Benutzer, die auf diese Vorlage in diesem Clean Room 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: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.restrict_template_options_to_consumers(
  $cleanroom_name,
  {
      'prod_template_1': ['CONSUMER_1_LOCATOR', 'CONSUMER_2_LOCATOR']
  }
);
Copy

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 dazu finden Sie unter Von Verbrauchern geschriebene kundenspezifische Vorlagen.

list_pending_template_requests

Schema:

PROVIDER

Beschreibung: Listet alle Anfragen von Verbrauchern auf, die eine vom Verbraucher definierte Vorlage zu einem Clean Room hinzufügen möchten. Dazu gehören ausstehende, genehmigte und abgelehnte Anfragen. Verwenden Sie diese Prozedur, um nach ausstehenden Anfragen zu suchen und diese zu genehmigen (provider.approve_template_request) oder abzulehnen (provider.reject_template_request).

Dies wird fehlschlagen, bis alle Verbraucher, für die der Clean Room freigegeben wurde, den Clean Room installiert haben.

Argumente:

  • cleanroom_name (string) (Zeichenfolge) – Ansicht der Verbraucheranfragen zum Hinzufügen einer Vorlage zu diesem Clean Room.

Rückgabe: Eine Tabelle mit u. a. den folgenden Werten:

  • request_id – (Zeichenfolge) ID der Anfrage, die für das Annehmen oder Ablehnen der Anfrage benötigt wird.

  • consumer_locator – (Zeichenfolge) Konto-Locator der Person, die die Anfrage stellt.

  • template_name – (Zeichenfolge) Name der vom Verbraucher bereitgestellten Vorlage.

  • template_definition – (Zeichenfolge) Vollständige Definition der vom Verbraucher vorgeschlagenen Vorlage.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.list_pending_template_requests($cleanroom_name);
Copy

list_template_requests

Schema:

PROVIDER

Beschreibung: Listet alle Anfragen von Verbrauchern auf, die eine vom Verbraucher definierte Vorlage zu einem Clean Room 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).

Argumente:

  • cleanroom_name (string) (Zeichenfolge) – Ansicht der Verbraucheranfragen zum Hinzufügen einer Vorlage zu diesem Clean Room.

Rückgabe: Eine Tabelle mit u. a. den folgenden Werten:

  • request_id – (Zeichenfolge) ID der Anfrage, die für das Annehmen oder Ablehnen der Anfrage benötigt wird.

  • consumer_identifier – (Zeichenfolge) Konto-Locator der Person, die die Anfrage stellt.

  • template_name – (Zeichenfolge) Name der vom Verbraucher bereitgestellten Vorlage.

  • template_definition – (Zeichenfolge) Vollständige Definition der vom Verbraucher vorgeschlagenen Vorlage.

  • status – Status der Anfrage: PENDING, APPROVED, REJECTED.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.list_template_requests($cleanroom_name);
Copy

approved_template_request

Schema:

PROVIDER

Beschreibung: Genehmigt eine Anfrage zum Hinzufügen einer Vorlage zum Reinraum.

Argumente:

  • cleanroom_name (Zeichenfolge) – Name des Clean Rooms, dem der Benutzer die Vorlage hinzufügen möchte.

  • request_id – (Zeichenfolge) ID des zu genehmigenden Antrags. Rufen Sie provider.list_template_requests auf, um Anfrage-IDs zu sehen.

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.approve_template_request(
  $cleanroom_name,
  '815324e5-54f2-4039-b5fb-bb0613846a5b'
);
Copy

approved_multiple_template_requests

Schema:

PROVIDER

Beschreibung: Genehmigt mehrere Verbraucheranfragen zum Hinzufügen einer Vorlage zu einem Clean Room. Alle Anfragen müssen sich auf einen einzigen Clean Room beziehen.

Argumente:

  • cleanroom_name (Zeichenfolge) – Der Name des Clean Rooms, auf den sich diese Anfrage bezieht.

  • request_ids (Array von Zeichenfolgen) Die IDs aller zu genehmigenden Vorlagenanfragen. Um eine Anfrage-ID zu erhalten, rufen Sie provider.list_template_requests auf.

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.approve_multiple_template_requests(
  $cleanroom_name,
  [
    'cfd538e2-3a17-48e3-9773-14275e7d2cc9',
    '2982fb0a-02b7-496b-b1c1-56e6578f5eac'
  ]
);
Copy

reject_template_request

Schema:

PROVIDER

Beschreibung: Lehnt eine Anfrage zum Hinzufügen einer Vorlage zu einem Reinraum ab.

Argumente:

  • cleanroom_name (Zeichenfolge) – Name des Clean Rooms, dem der Benutzer die Vorlage hinzufügen möchte.

  • request_id (Zeichenfolge) ID der abzulehnenden Anfrage. Rufen Sie provider.list_template_requests auf, um Anfrage-IDs zu sehen.

  • reason_for_rejection – (Zeichnfolge) Grund für die Ablehnung der Anfrage.

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.reject_template_request(
  $cleanroom_name,
  'cfd538e2-3a17-48e3-9773-14275e7d2cc9',
  'Failed security assessment');
Copy

reject_multiple_template_requests

Schema:

PROVIDER

Beschreibung: Lehnt mehrere Verbraucheranfragen zum Hinzufügen einer Vorlage zu einem Clean Room ab. Alle Anfragen müssen sich auf denselben Clean Room beziehen.

Argumente:

  • cleanroom_name (Zeichenfolge) – Name des Clean Rooms, auf den sich diese Anfrage bezieht.

  • rejected_templates – (Array von Objekten) Ein Array von Objekten mit den folgenden Feldern, eines pro Ablehnung:

    • request_id – (Zeichenfolge) ID der abzulehnenden Anfrage. Um eine Anfrage-ID zu erhalten, rufen Sie provider.list_template_requests auf.

    • reason_for_rejection – (Zeichenfolge) Eine Freitextbeschreibung, warum die Anfrage abgelehnt wird.

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.reject_multiple_template_requests($cleanroom_name,
  [
    OBJECT_CONSTRUCT('request_id', '815324e5-54f2-4039-b5fb-bb0613846a5b', 'reason_for_rejection', 'Failed security assessment'),
    OBJECT_CONSTRUCT('request_id', '2982fb0a-02b7-496b-b1c1-56e6578f5eac', 'reason_for_rejection', 'Some other reason')
  ]
);
Copy

Vorlagenketten

Verwenden Sie die folgenden Befehle zum Erstellen und Verwalten von Vorlagenketten.

add_template_chain

Schema:

PROVIDER

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 (Zeichenfolge) – Name des Clean Rooms, dem die Vorlagenkette hinzugefügt werden soll.

  • template_chain_name – (Zeichenfolge) Name der Vorlagenkette.

  • templates (Array von Objekten) – Array von Objekten, eines pro Vorlage. Das Objekt kann die folgenden Felder enthalten:

    • template_name (Zeichenfolge) – Gibt die Vorlage an, die der Vorlagenkette hinzugefügt wird. Die Vorlage muss bereits durch den Aufruf von provider.add_template_chain zum Clean Room hinzugefügt worden sein.

    • cache_results (Boolesch) – 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 (Zeichenfolge) – Wenn Sie cache_results = TRUE, gibt dies den Namen der Snowflake-Tabelle an, in der die Vorlagenergebnisse gespeichert werden.

    • jinja_output_table_param (Zeichenfolge) – Wenn cache_results = TRUE, gibt dies den Namen des Jinja-Parameters an, den andere Vorlagen enthalten müssen, um die in output_table_name gespeicherten Ergebnisse zu akzeptieren.

    • cache_expiration_hours (Ganzzahl) – Wenn cache_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: (Zeichenfolge) Erfolgsmeldung.

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
    }
  ]
);
Copy

view_added_template_chains

Schema:

PROVIDER

Beschreibung: Listet die Vorlagenketten im angegebenen Reinraum auf.

Argumente:

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);
Copy

view_template_chain_definition

Schema:

PROVIDER

Beschreibung: Gibt die Definition einer Vorlagenkette zurück.

Argumente:

  • cleanroom_name (Zeichenfolge) – Name des mit dieser Vorlagenkette verbundenen Clean Room.

  • template_chain_name – (Zeichenfolge) Name der mit diesem Clean Room 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');
Copy

clear_template_chain

Schema:

PROVIDER

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 (Zeichenfolge) – Der Clean Room, dem diese Vorlagenkette zugewiesen ist.

  • template_chain_name – (Zeichenfolge) Die Vorlagenkette, die aus diesem Clean Room entfernt werden soll.

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.clear_template_chain($cleanroom_name, 'my_chain');
Copy

Multi-Anbieter-Analyse

Diese Prozeduren ermöglichen Multi-Anbieter-Analysen.

Bemerkung

Der derzeitige Multi-Anbieter-Workflow wird demnächst veraltet sein. Clean Rooms arbeitet an einem neuen Multi-Anbieter-Workflow, der die aktuellen Multi-Anbieter-Prozeduren ersetzen soll.

enable_multiprovider_computation

Schema:

PROVIDER

Beschreibung: Diese Prozedur ermöglicht es, Tabellen aus Ihrem Clean Room in Kombination mit der angegebenen Vorlage zu verwenden, wenn sie vom angegebenen Benutzer angefragt werden, und in Kombination mit Tabellen aus den angegebenen Clean Rooms. Diese Prozedur ermöglicht es einem Verbraucher, eine Abfrage für Daten aus mehreren Clean Rooms auszuführen. Diese Prozedur genehmigt diese Anfragen nicht automatisch, ermöglicht es aber, den manuellen oder automatischen Genehmigungsprozess für den angegebenen Benutzer und die Clean Rooms zu beginnen, indem Anfragen an das Multi-Anbieter-Anfrageprotokoll für diesen Clean Room protokolliert werden.

Alle Aufrufe dieses Clean Room über consumer.prepare_multiprovider_flow werden gespeichert und ist sichtbar, noch bevor Sie enable_multiprovider_computation für diesen Clean Room aufrufen.

Um einem Verbraucher den Zugriff auf mehrere Clean Rooms in Ihrem Konto zu ermöglichen, geben Sie im cleanroom_name-Argument einen Clean Room an und die anderen im approved_other_cleanrooms-Argument.

Für diese Prozedur muss im Clean Room eine Verknüpfungsrichtlinie festgelegt werden.

Wenn eine Anfrage protokolliert wird, erfolgt die Genehmigung gemäß dem Anfrage-Workflow für einen bestimmten Benutzer und eine bestimmte Abfrage.

Es gibt keine Möglichkeit, die Protokollierung von Anfragen nach dem Start zu deaktivieren, aber Sie können die automatische Genehmigung für einen bestimmten Benutzer aussetzen (wenn Sie sie durch Aufruf von provider.suspend_multiprovider_tasks erteilt haben) und dann keine weiteren Anfragen genehmigen.

Argumente:

  • cleanroom_name (Zeichenfolge) – Name eines Clean Room, den Sie besitzen. Alle Daten in diesem Clean Room können mit den unter approved_other_cleanrooms aufgeführten Clean Rooms in Multi-Anbieter-Anfragen durch consumer_account geteilt werden.

  • consumer_account – (Zeichenfolge)  – Konto-Locator eines Verbrauchers, der berechtigt ist, die Anfrage zu stellen und, falls genehmigt, eine Abfrage gegen alle Tabellen in diesem Clean Room in Kombination mit Daten aus allen unter approved_other_cleanrooms aufgeführten Clean Rooms durchzuführen.

  • approved_other_cleanrooms – (Array aus Zeichenfolgen) – Array mit vollständig qualifizierten Namen von Clean Rooms, mit denen Daten aus diesem Clean Room kombiniert werden können. Das Format der einzelnen Einträge ist provider_org_name.provider_account_name.cleanroom_name. Wichtig: Geben Sie in jeder Clean Room-Beschreibung den Kontonamen an, nicht den Konto-Locator.

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.enable_multiprovider_computation(
  $cleanroom_name,
  $consumer_account_locator,
  <org_name>.<account_locator>.<cleanroom_name>);
Copy

view_multiprovider_requests

Schema:

PROVIDER

Beschreibung: Zeigt alle Anfragen für Multi-Anbieter-Analysen von einem bestimmten Konto und Clean Room. Dies gilt sowohl für genehmigte als auch abgelehnte Anfragen. Anbieter können dieses Verfahren verwenden, um Anfragen abzufragen und sie so manuell durch Aufruf von `provider. process_multiprovider_request`zu genehmigen oder als eine Möglichkeit, alle Anfragen eines bestimmten Verbrauchers in einem bestimmten Clean Room anzuzeigen.

Sie müssen für diesen Clean Room und dieses Verbraucherkonto enable_multiprovider_computation aufrufen, bevor Sie view_multiprovider_requests aufrufen können.

Argumente:

  • cleanroom_name (Zeichenfolge) – Zeigt Anfragen des angegebenen Verbrauchers aus diesem Clean Room an.

  • consumer_account (Zeichenfolge) Zeigt Anfragen von diesem Verbraucherkonto-Locator aus dem angegebenen Clean Room an.

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.view_multiprovider_requests(
  $cleanroom_name,
  $consumer_locator);
Copy

process_multiprovider_request

Schema:

PROVIDER

Beschreibung: Genehmigt die Ausführung der angegebenen Multi-Anbieter-Abfrage, wenn alle Prüfungen bestanden wurden. Die Prüfungen umfassen das Alter der Anfrage und ob der Anbieter die Anfrage in einem früheren Aufruf an provider.enable_multiprovider_computation genehmigt hat oder nicht. Der Verbraucher muss immer noch consumer.execute_multiprovider_flow aufrufen, um die Abfrage auszuführen. Eine Anfrage wird nach vier Stunden verworfen, wenn sie nicht genehmigt wird.

Standardmäßig müssen alle Multi-Anbieter-Anfragen mit dieser Prozedur bearbeitet werden. Wenn Sie es vorziehen, dass alle Anfragen dieses Verbrauchers in diesem Clean Room automatisch genehmigt werden, geben Sie -1 für request_id an. Wenn Sie möchten, dass alle Anfragen von allen Verbrauchern in diesem Clean Room genehmigt werden, rufen Sie auf provider.resume_multiprovider_tasks auf. Erfahren Sie, wie Sie bereits genehmigte Anfragen widerrufen können.

Nachdem die Anfrage ausgewertet wurde, werden die Anfrage und der Auswertungsstatus in die Protokolltabelle für diesen Reinraum geschrieben.

Argumente:

  • cleanroom_name (Zeichenfolge) – Der Name Ihres Clean Room, den ein Verbraucher in eine Analyse mit mehreren Anbietern aufnehmen möchte.

  • consumer_account – (Zeichenfolge) – Der Verbraucherkonto-Locator des Benutzers, der eine Analyse mit mehreren Anbietern anfragt. Dieser Locator muss für diesen Clean Room und die anderen in der Anfrage aufgeführten Clean Rooms in einem Aufruf an provider.enable_multiprovider_computation genehmigt worden sein.

  • request_id - (Zeichenfolge) Zu genehmigende Anfrage-ID, aus provider.view_multiprovider_requests. In -1 übergeben, um alle Anfragen für diesen Verbraucher in diesem Clean Room zu genehmigen.

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.process_multiprovider_request(
  $cleanroom_name_1,
  $consumer_account_locator,
  $request_id);
Copy

suspend_multiprovider_tasks

Schema:

PROVIDER

Beschreibung: Stoppt die automatische Überprüfung und Genehmigung (für qualifizierte Abfragen) in einer Multi-Anbieter-Abfrage im angegebenen Clean Room. Multi-Anbieter-Abfragen sind für den Clean Room weiterhin aktiviert, aber jede Anfrage muss jetzt explizit vom Anbieter durch Aufrufen von provider.process_multiprovider_request genehmigt werden.

Der Standardstatus für alle Clean Rooms ist, dass die automatische Genehmigung für mehrere Anbieter deaktiviert ist. Um sie zu aktivieren, rufen Sie provider.resume_multiprovider_tasks auf.

Argumente:

  • cleanroom_name (Zeichenfolge) – Name des Clean Room.

  • consumer_account (Zeichenfolge) Konto-Locator des Verbrauchers, dessen Multi-Anbieter-Anfragen für alle Vorlagen in diesem Clean Room ausgesetzt werden sollen. Spätere Anfragen dieses Benutzers in diesem Clean Room werden gelöscht.

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.suspend_multiprovider_tasks(
  $cleanroom_name,
  $consumer_locator);
Copy

resume_multiprovider_tasks

Schema:

PROVIDER

Beschreibung: Ermöglicht die automatische Überprüfung und Genehmigung (für qualifizierte Abfragen) von Multi-Anbieter-Analysen für den jeweiligen Benutzer im jeweiligen Clean Room. Die automatische Überprüfung ist für einen Clean Room standardmäßig deaktiviert.

Um die automatische Genehmigung zu stoppen, rufen Sie provider.suspend_multiprovider_tasks auf.

Argumente:

  • cleanroom_name (Zeichenfolge) – Name des Clean Room.

  • consumer_account (Zeichenfolge) Konto-Locator des Verbrauchers, dessen Multi-Anbieter-Anfragen in diesem Clean Room jetzt in die Warteschlange gestellt werden.

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.resume_multiprovider_tasks(
  $cleanroom_name,
  $consumer_locator);
Copy

Aktivierung

Aktivierung bedeutet den Export von Ergebnissen an einen Anbieter, einen Verbraucher oder einen Dritten. Lesen Sie mehr über die Aktivierung.

set_activation_policy

Schema:

PROVIDER

Beschreibung: Legt fest, welche Anbieterspalten innerhalb einer Aktivierungsvorlage verwendet werden können. Nur Spalten, die in einer Aktivierungsrichtlinie aufgeführt sind, können über das Datenset des Anbieters aktiviert werden. Wenn Sie keine Aktivierungsrichtlinie festlegen, werden keine Anbieterdaten aktiviert.

Der Aufruf dieser Prozedur löscht alle vorherigen Aktivierungsrichtlinien, die der Anbieter festgelegt hat.

Argumente:

  • cleanroom_name (Zeichenfolge) – Name des Clean Rooms, in dem die Aktivierung erlaubt sein soll.

  • columns – (Array aus Zeichenfolgen) Nur die hier aufgeführten Spalten können in einer Aktivierungsvorlage in diesem Clean Room 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: (Zeichenfolge) Erfolgsmeldung.

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' ]);
Copy

update_activation_warehouse

Schema:

PROVIDER

Beschreibung: Geben Sie an, welche Größe das Warehouse haben soll, wenn die Ergebnisse in die Ausgabetabelle in einer Anbieteraktivierung entschlüsselt werden. Das für die Entschlüsselung verwendete Warehouse ist DCR_ACTIVATION_WAREHOUSE. Der Anbieter zahlt für dieses Warehouse.

Argumente:

  • size – (Zeichenfolge) Warehouse-Größe. Wählen Sie einen der WAREHOUSE_SIZE-Werte aus dem Befehl CREATE WAREHOUSE aus.

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.update_activation_warehouse('LARGE');
Copy

setup_provider_activation_share_mount_task

Schema:

PROVIDER

Beschreibung: Ermöglicht die Anbieteraktivierung, wenn der Anbieter die Clean Room UI nicht auf seinem Konto installiert hat.

Rufen Sie diese Prozedur auf, nachdem Sie Verbraucher mit provider.add_consumers hinzugefügt haben. Sie wird nur aufgerufen, wenn Sie die Anbieteraktivierung aktivieren und Sie (der Anbieter) die Clean Room-UI nicht installiert haben. (Es spielt keine Rolle, ob der Verbraucher die UI installiert hat.)

Dadurch wird ein Thread gestartet, um die für die Anbieter benötigten Verbraucherfreigaben asynchron einzubinden. Anstatt die Freigaben synchron einzubinden und Ihren Code zu blockieren, bindet dieser Code die Freigabe asynchron ein und sucht in regelmäßigen Abständen nach neuen Teilnehmern. Sie müssen diese nur einmal aufrufen und können später weitere Teilnehmer hinzufügen, ohne diese Prozedur erneut aufrufen zu müssen.

Argumente:

  • frequency_minutes (Ganzzahl): Wie oft nach neuen Verbrauchern in diesem Clean Room gesucht werden soll, um auch für sie Freigaben einzubinden. Ein empfohlener Wert ist 15.

Rückgabe: (Zeichenfolge) Eine Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.setup_provider_activation_share_mount_task(15);
Copy

dcr_health.provider_run_provider_activation_history

Beschreibung: Gibt einen Verlauf der Anfragen zur Anbieteraktivierung für den angegebenen Clean Room zurück. Anfragen zur Anbieteraktivierung, die sowohl vom Anbieter als auch vom Verbraucher initiiert wurden, werden angezeigt. Diese Prozedur liefert zusätzliche Informationen zum Debuggen von Problemen bei der Anbieteraktivierung.

Argumente:

  • cleanroom_name (String) - Name des Clean Rooms, in dem die Aktivierung angefordert wurde. Sie müssen in diesem Clean Room die Rolle von Anbietenden oder Verbrauchenden übernehmen.

Rückgabe: (Tabelle) - Eine Liste von Aktivierungsanfragen mit Informationen zu jeder, einschließlich Vorlage und Segmentname, Status, Konto-Locator des Verbrauchers und etwaige Fehlermeldungen, die von der Anfrage zurückgegeben werden.

Beispiel:

CALL samooha_by_snowflake_local_db.dcr_health.provider_run_provider_activation_history(
  $cleanroom_name);
Copy

view_external_activation_history

Schema:

LIBRARY

Beschreibung: Zeigen Sie den Verlauf der Aktivierungsanfragen für das aktuelle Konto an.

Argumente: Keine

Rückgabe: Eine Tabelle mit den Details und dem Status der Aktivierungsanfragen.

Beispiel:

CALL samooha_by_snowflake_local_db.library.view_external_activation_history();
Copy

Analysen als Anbieter durchführen

Learn how to run a provider analysis.

enable_provider_run_analysis

Schema:

PROVIDER

Beschreibung: Ermöglicht es dem Anbieter (Ersteller des Clean Rooms), Analysen in einem bestimmten Clean Room durchzuführen. Diese Funktion ist standardmäßig deaktiviert. Der Verbraucher muss dann consumer.enable_templates_for_provider_run aufrufen, um vom Anbieter durchgeführte Analysen für bestimmte Vorlagen im Clean Room zu ermöglichen. Danach kann der Anbieter eine Analyse ausführen, indem er provider.submit_analysis_request aufruft.

Learn more about provider-run analyses.

Wichtig

Diese Prozedur muss aufgerufen werden, nachdem Sie provider.add_consumers aufgerufen haben, und bevor ein Verbraucher einen Clean Room 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 (Zeichenfolge) – Name des Clean Rooms, der eine vom Anbieter durchgeführte Analyse ermöglichen soll.

  • consumer_accounts – (Array von Zeichenfolgen) Konto-Locatoren aller Verbraucherkonten, die Daten zu diesem Clean Room hinzugefügt haben.

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.enable_provider_run_analysis(
  $cleanroom_name,
  ['<CONSUMER_ACCOUNT_LOCATOR>']
);
Copy

disable_provider_run_analysis

Schema:

PROVIDER

Beschreibung: Verhindert, dass der Anbieter (Ersteller des Reinraums) eine Analyse im Reinraum durchführt (dies ist standardmäßig deaktiviert).

Wichtig

Sie müssen diese Prozedur aufrufen, nachdem Sie provider.add_consumers aufgerufen haben, und bevor ein Verbraucher einen Clean Room installiert. Wenn die Einstellung für die Analyse geändert wird, nachdem ein Verbraucher einen Clean Room installiert hat, muss der Verbraucher den Clean Room neu installieren, um die neue Einstellung zu implementieren.

Argumente:

  • cleanroom_name (Zeichenfolge) – Name des Clean Rooms, in dem die vom Anbieter durchgeführte Analyse deaktiviert werden soll.

  • consumer_account_locator (Zeichenfolge) Dieselbe Liste von Namen von Verbraucherkonten, die an provider.enable_provider_run_analysis übergeben wird.

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.disable_provider_run_analysis(
  $cleanroom_name,
  ['<CONSUMER_ACCOUNT_LOCATOR>']);
Copy

is_provider_run_enabled

Schema:

LIBRARY

Beschreibung: Prüft, ob dieser Reinraum vom Anbieter durchgeführte Analysen erlaubt.

Argumente:

  • cleanroom_name (Zeichenfolge) – Name des zu prüfenden Clean Rooms.

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)
Copy

is_request_back_share_mounted

Schema:

PROVIDER

Beschreibung: Prüft, ob Nachrichten vom angegebenen Verbraucher an den Anbieter im angegebenen Clean Room weitergegeben werden können. Wenn für diesen Verbraucher in diesem Clean Room keine Freigabe eingebunden wurde, werden Nachrichten, wie z. B. vom Anbieter ausgeführte Genehmigungen für Anfragen, nicht vom Verbraucher an den Anbieter weitergegeben (allerdings werden sie auf der Seite des Verbrauchers in die Warteschlange gestellt werden).

Rufen Sie provider.mount_request_logs_for_all_consumers auf, um die Freigabe für diesen Verbraucher einzurichten. Wenn Sie zuvor provider.mount_request_logs_for_all_consumers aufgerufen haben und is_request_back_share_mounted fehlschlägt, haben Sie diesen Verbraucher wahrscheinlich nach Ihrem letzten Aufruf von provider.mount_request_logs_for_all_consumers zu diesem Clean Room hinzugefügt.

Argumente:

  • cleanroom_name (Zeichenfolge) – Name des zu prüfenden Clean Rooms.

  • consumer_account - (Zeichenfolge) Konto-Locator des Verbrauchers.

Returns: SUCCESS, wenn die Freigabe für den angegebenen Verbraucher in dem angegebenen Clean Room aktiviert ist. Löst andernfalls einen Fehler aus.

Beispiel:

CALL samooha_by_snowflake_local_db.library.is_request_back_share_mounted(
  $cleanroom_name,
  $consumer_locator);
Copy

view_warehouse_sizes_for_template

Schema:

PROVIDER

Beschreibung: Zeigen Sie die Liste der Warehouse-Größen und -Typen an, die in vom Anbieter durchgeführten Analysen mit einer bestimmten Vorlage verwendet werden können. Der Verbraucher muss zunächst die Liste in seinem Aufruf von consumer.enable_templates_for_provider_run füllen.

Argumente:

  • cleanroom_name (Zeichenfolge) – Name des Clean Room.

  • template_name (Zeichenfolge) Name der Vorlage , die der Anbieter ausführen möchte.

  • consumer_account (Zeichenfolge) Konto-Locator des Verbrauchers, der die vom Anbieter ausgeführte Anfrage genehmigen wird.

Rückgabe: Eine Tabelle mit zulässigen Warehouse-Größen und -Typen. Unterstützte Zeichenfolgen von Warehouse Typen und -Größen sind die, die von WAREHOUSE_TYPE- und WAREHOUSE_SIZE-Eigenschaften im CREATE WAREHOUSE-Befehl verwendet werden.

Beispiel:

CALL samooha_by_snowflake_local_db.PROVIDER.VIEW_WAREHOUSE_SIZES_FOR_TEMPLATE(
  $cleanroom_name,
  $template_name,
  $consumer_account_loc);
Copy

submit_analysis_request

Schema:

PROVIDER

Beschreibung: Übermittelt eine Analyse zur Ausführung im Clean Room. Alle folgenden Bedingungen müssen erfüllt sein, bevor Sie diese Prozedur aufrufen:

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 (Zeichenfolge) – Name des Clean Rooms, in dem die Vorlage ausgeführt werden soll.

  • consumer_account_locator (Zeichenfolge) Konto-Locator des Verbrauchers in diesem Clean Room, der Anbieteranalysen durch den Aufruf von consumer.enable_templates_for_provider_run zugelassen hat.

  • template_name (Zeichenfolge) Name der auszuführenden Vorlage.

  • provider_tables – (Array) Liste der Anbietertabellen, die in der Vorlage angezeigt werden sollen. Diese Liste füllt die Array-Variable source_table.

  • consumer_tables – (Array) Liste der Verbrauchertabellen, die der Vorlage zur Verfügung gestellt werden sollen. Diese Liste füllt die Array-Variable my_table.

  • analysis_arguments – (Objekt) JSON-Objekt, bei dem jeder Schlüssel ein Argumentname ist, der in der von Ihnen erstellten Vorlage verwendet wird. Wenn Sie einen bestimmten Warehouse-Typ und eine bestimmte Warehouse-Größe verwenden möchten, wählen Sie einen Typ und eine Größe, die von provider.view_warehouse_sizes_for_template aufgeführt werden und geben Sie diese dann über die folgenden Felder an:

    • warehouse_type (Zeichenfolge) – Ein Warehouse-Typ, den der Verbraucher für vom Anbieter durchgeführte Analysen mit der angegebenen Vorlage unterstützt.

    • warehouse_size (Zeichenfolge) – Eine Warehouse-Größe, die der Verbraucher für vom Anbieter durchgeführte Analysen mit der angegebenen Vorlage unterstützt.

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'],
    'warehouse_type', 'STANDARD',        -- If this type and size pair were not listed by view_warehouse_sizes_for_template,
    'warehouse_size', 'LARGE'            -- the request will automatically fail.
  )
);
Copy

check_analysis_status

Schema:

PROVIDER

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 zu sehen.

Alle Verbraucher im Clean Room müssen ihre Anfrageprotokolle eingebunden haben, bevor Sie check_analysis_status aufrufen können. Dies geschieht einmal pro Verbraucher pro Clean Room mit dem Aufruf von provider.mount_request_logs_for_all_consumers.

Sie können Ihre Liste der Analyseanfragen einsehen, indem Sie diesen SQL-Befehl ausführen, wobei cleanroom_name der Name Ihres Clean Rooms ist. Dabei werden Leerzeichen durch Unterstriche ersetzt.

SELECT * FROM SAMOOHA_CLEANROOM_<cleanroom_name>.ADMIN.PROVIDER_ANALYSIS_REQUESTS;
Copy

Argumente:

  • cleanroom_name (Zeichenfolge) – Name des Clean Rooms, in dem die Anfrage gestellt wurde.

  • request_id (Zeichenfolge) ID der Anfrage, zurückgegeben von provider.submit_analysis_request.

  • consumer_account_locator – (Zeichenfolge) Konto-Locator des Verbrauchers, an den die Anfrage gesendet wurde.

Rückgabe: *(Zeichenfolge) Status der Anfrage, wobei COMPLETED einen erfolgreichen Abschluss der Analyse bedeutet. Mögliche Status:

  • IN-PROGRESS: Die Analyse ist in Arbeit.

  • PENDING: Weist auf einen der folgenden Fälle hin:

    • Die Anfrage wird immer noch übertragen, was einige Minuten dauern kann. Versuchen Sie es nach ein paar Minuten erneut.

    • Der Benutzer hat die Anfrage nicht durch Aufruf von consumer.enable_templates_for_provider_run genehmigt. Versuchen Sie es nach ein paar Minuten erneut.

    • Sie haben die Anforderungsprotokolle für diesen Verbraucher nicht eingebunden. Rufen Sie auf provider.is_request_back_share_mounted auf. Wenn diese Prozedur nicht SUCCESS zurückgibt, rufen Sie provider.mount_request_logs_for_all_consumers auf.

  • COMPLETED: Die Analyse ist abgeschlossen. Sie können provider.get_analysis_result aufrufen.

Fehler:

Wenn eine Fehlermeldung angezeigt wird „ResultSet is empty or not prepared“, kann dies darauf hinweisen, dass Anfrageprotokolle für mindestens einen Verbraucher in diesem Clean Room nicht eingebunden wurden. Rufen Sie provider.mount_request_logs_for_all_consumers auf, um Anfrageprotokolle für alle Verbraucher einzubinden.

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>'
);
Copy

get_analysis_result

Schema:

PROVIDER

Beschreibung: Rufen Sie die Ergebnisse für eine vom Anbieter durchgeführte Analyse ab. Rufen Sie get_analysis_result erst auf, wenn provider.check_analysis_status COMPLETED zurückgibt. Die Analyseergebnisse bleiben im Clean Room auf unbestimmte Zeit erhalten.

Argumente:

  • :ref:`cleanroom_name <label-dcr_about_clean_room_names> ` (Zeichenfolge) – Name des Clean Rooms, für den die Anfrage gesendet wurde.

  • request_id (Zeichenfolge) ID der Anfrage, zurückgegeben von submit_analysis_request.

  • consumer_account_locator – (Zeichenfolge) Konto-Locator des Verbrauchers, der an submit_analysis_request übergeben wurde.

Ergebnisse: (Tabelle) Abfrageergebnisse.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.get_analysis_result(
    $cleanroom_name,
    $request_id,
    $locator
);
Copy

Verwalten Sie die gemeinsame Nutzung von Reinräumen

Verwenden Sie die folgenden Befehle, um die gemeinsame Nutzung eines Reinraums mit Verbrauchern zu verwalten.

view_consumers

Schema:

PROVIDER

Beschreibung: Listet die Verbraucher auf, die Zugang zum Reinraum haben. Es wird nicht angezeigt, ob ein Verbraucher den Reinraum installiert hat.

Argumente:

  • :ref:`cleanroom_name <label-dcr_about_clean_room_names> ` (Zeichenfolge) – Der betreffende Clean Room.

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);
Copy

add_consumers

Schema:

PROVIDER

Beschreibung: Gewährt den angegebenen Benutzern Zugriff auf den angegebenen Clean Room. Der Clean Room kann sowohl über die Clean Rooms-UI als auch über die 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. Das Konto des Verbrauchers muss sich in der gleichen Snowflake-Region wie der Anbieter befinden, um auf einen Clean Room 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 (Zeichenfolge) – Name des Clean Rooms, der für die angegebenen Benutzer freigegeben werden soll. Benutzer können den Clean Room entweder über die Clean Rooms-API oder die UI installieren.

  • consumer_account_locators (Zeichenfolge) Eine durch Kommas getrennte Liste von Konto-Locatoren für Verbraucher, 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 – (Zeichenfolge) Eine durch Kommas getrennte Liste von Datenfreigabe-Konto Data Sharing-Konto-IDs für Verbraucher für den Verbraucher im Format org_name.account_name Organisationsname kann abgerufen werden, indem Sie CURRENT_ORGANIZATION_NAME aufrufen. Kontoname kann durch Aufruf von CURRENT_ACCOUNT_NAME aufgerufen werden. Diese Liste sollte die gleiche Anzahl von Elementen in der gleichen Reihenfolge enthalten, wie sie in consumer_account_locators aufgeführt sind.

  • enable_differential_privacy_tasks – (Boolean, optional) TRUE, um differentielle Privatsphäre bei allen Abfragen der aufgelisteten Benutzer in diesem Clean Room durchzusetzen. Dies ist eine einfache Möglichkeit, differentielle Privatsphäre mit Standardwerten für die aufgelisteten Benutzer zu aktivieren. Um erweiterte Einstellungen festzulegen, geben Sie stattdessen das privacy_settings-Argument an. Die Aufgabe „Differentielle Privatsphäre“ muss in diesem Clean Room ausgeführt werden, um differentielle Privatsphäre zu aktivieren. Standardwert ist FALSE.

  • privacy_settings – (String, optional): Wenn vorhanden, werden Privatsphäreeinstellungen auf kundenspezifische Vorlagen angewendet, wenn diese von einem der Benutzer in consumer_account_names verwendet werden. Dies ist eine Zeichenfolgenversion eines Objekts mit einer einzelnen NULL-Schlüssel und einem Wert, der verschiedene Privatsphäreeinstellungen angibt. Geben Sie nicht beides an, enable_differential_privacy_tasks und privacy_settings. Die Aufgabe „Differentielle Privatsphäre“ muss in diesem Clean Room ausgeführt werden, um die differentielle Privatsphäre zu aktivieren. Sie die verfügbaren Felder für dieses Objekt.

Rückgabe: Erfolgsmeldung. 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.

Beispiele:

-- Add consumer without differential privacy.
CALL samooha_by_snowflake_local_db.provider.add_consumers($cleanroom_name,
  'LOCATOR1,LOCATOR2',
  'ORG1.NAME1,ORG2.NAME2');

-- Add consumer and turn on differential privacy for all their queries.
CALL samooha_by_snowflake_local_db.provider.add_consumers($cleanroom_name,
  'LOCATOR1',
  'ORGNAME.ACCOUNTNAME',
  '{
    "null": {
        "threshold_value": 5000,
        "differential": 1,
        "privacy_budget": 10,
        "epsilon": 0.1,
        "noise_mechanism": "Laplace"
    }
  }'
);
Copy

remove_consumers

Schema:

PROVIDER

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 (Zeichenfolge) – Die ID des Clean Rooms (nicht der benutzerfreundliche Name).

  • cleanroom_account_locators – (Zeichenfolge) Eine durch Kommas getrennte Liste von Locatoren für Benutzerkonten. Alle Benutzer des Kontos verlieren den Zugang zum Reinraum.

Rückgabe: (String) - Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.remove_consumers(
  $cleanroom_name,
  'locator1,locator2,locator3'
);
Copy

set_cleanroom_ui_accessibility

Schema:

PROVIDER

Beschreibung: Hiermit wird der Clean Room in der Clean Rooms-UI für alle Benutzer angezeigt oder ausgeblendet, die bei diesem Anbieterkonto angemeldet sind.

Argumente:

  • cleanroom_name (Zeichenfolge) – der Name des Clean Room.

  • visibility_status (Zeichenfolge) - Einer der folgenden Werte (Groß- und Kleinschreibung beachten):

    • HIDDEN – Blendet den Clean Room in der Clean Rooms-UI für alle Benutzern im aktuellen Anbieterkonto aus. Der Clean Room ist weiterhin für API-Aufrufe zugänglich.

    • EDITABLE – Macht den Clean Room in der Clean Rooms-UI sichtbar.

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.set_cleanroom_ui_accessibility(
  $cleanroom_name,
  'HIDDEN'
);
Copy

Cloud-übergreifende Zusammenarbeit

Ermöglichen Sie es, dass ein Clean Room für einen Verbraucher in einer anderen Cloud-Region freigegeben wird. Mehr erfahren.

enable_laf_on_account

Schema:

LIBRARY

Beschreibung: Aktiviert die Cloud-übergreifende automatische Ausführung für das aktuelle Konto. Zum Ausführen dieser Prozedur ist die ACCOUNTADMIN-Rolle erforderlich.

Wichtig

Sie müssen zunächst die Cloud-übergreifende automatische Ausführung für das Konto aktivieren, indem Sie SYSTEM$ENABLE_GLOBAL_DATA_SHARING_FOR_ACCOUNT aufrufen.

Erfahren Sie mehr über die automatische Ausführung und das Management von Berechtigungen für die automatische Ausführung.

Argumente: Keine

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

USE ROLE ACCOUNTADMIN;
CALL samooha_by_snowflake_local_db.library.enable_laf_on_account();
Copy

disable_laf_on_account

Schema:

LIBRARY

Beschreibung: Deaktiviert die Cloud-übergreifende automatische Ausführung für das aktuelle Konto. Zum Ausführen dieser Prozedur ist die ACCOUNTADMIN-Rolle erforderlich.

Wichtig

Sie müssen zuerst SYSTEM$ENABLE_GLOBAL_DATA_SHARING_FOR_ACCOUNT aufrufen, bevor Sie die Cloud-übergreifende automatische Ausführung für ein Konto deaktivieren können.

Erfahren Sie mehr über die automatische Ausführung und das Management von Berechtigungen für die automatische Ausführung.

Argumente: Keine

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

USE ROLE ACCOUNTADMIN;
CALL samooha_by_snowflake_local_db.library.disable_laf_on_account();
Copy

is_laf_enabled_on_account

Schema:

LIBRARY

Beschreibung: Gibt zurück, ob die Cloud-übergreifende automatische Ausführung für dieses Konto aktiviert ist.

Argumente: Keine

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();
Copy

set_laf_dcr_refresh_schedule

Schema:

PROVIDER

Beschreibung: Legt das Aktualisierungsintervall für Clean Room-Daten zwischen dem Anbieter und dem Verbraucher fest, wenn sie sich in unterschiedlichen Cloudregionen befinden. Zu diesen Daten gehören Anbieter-Datensets, Anbieterausführungsanfragen, Clean Room-Richtlinien und Clean Room-Metadaten. Wenn Sie eine sofortige Aktualisierung benötigen, können Sie aufrufen SYSTEM$TRIGGER_LISTING_REFRESH aufrufen.

Argumente:

  • schedule – (Int) Intervall in Minuten zwischen Aktualisierungen. Der zulässige Mindestwert ist 10.

Rückgabe: (String) - Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.set_laf_dcr_refresh_schedule(10);
Copy

Verwenden von Python in einem Reinraum

load_python_into_cleanroom

Schema:

PROVIDER

Beschreibung: Lädt benutzerdefinierten Python-Code in den Clean Room. 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. Auch wenn Ihr Code mehrere Funktionsdefinitionen enthalten kann, wird nur eine Funktion für eine Vorlage angezeigt, die aufgerufen werden kann.

Wenn Sie mehrere aufrufbare Python-Pakete mit einem einzigen Patch in einen Clean Room laden möchten, rufen Sie stattdessen prepare_python_for_cleanroom auf.

Learn how to upload and use Python code in a clean room.

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. Dieser Schritt meldet keine Syntaxfehler im Code, die zur Laufzeit ausgelöst werden.

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:

Signatur

load_python_into_cleanroom hat die folgende Signatur für das Hochladen von Inline-Code. Übergeben Sie Ihre Codezeichenfolge an das code-Argument.

(cleanroom_name String, function_name String, arguments Array, packages Array, rettype String, handler String, code String)
Copy

Argumente:

  • :ref:`cleanroom_name <label-dcr_about_clean_room_names> ` (Zeichenfolge) – Name des Clean Rooms, in den das Skript geladen werden soll.

  • function_name  – (Zeichenfolge) Name, den eine Vorlage verwendet, um die durch``handler`` angegebene Funktion aufzurufen. Die Vorlage muss den Funktionsnamen mit dem cleanroom-Namespace qualifizieren. Beispiel: cleanroom.my_func(val1, val2).

  • arguments – (Array aus durch Leerzeichen getrennten Zeichenfolgenpaaren) Ein Array von Argumenten, die von der Funktion function_name benötigt werden. Jedes Element ist ein durch Leerzeichen getrenntes 'name  data_type'-Paar, das den Namen des Arguments und seinen Snowflake-SQL-Datentyp angibt. Beispiel: ['size INT', 'start_date DATE'].

  • packages – (Array aus Zeichenfolgen)* – Liste der vom Code verwendeten Python-Paketnamen. Clean Rooms unterstützt nativ alle Pakete ` in dieser Liste <https://repo.anaconda.com/pkgs/snowflake/>`_ oder im Snowpark-API. Wenn Sie ein Paket benötigen, das dort nicht aufgeführt ist, müssen Sie Snowpark Container Services in einem Clean Room verwenden.

  • ret_type – (Zeichenfolge) SQL-Datentyp des Wertes, der von der Funktion handler zurückgegeben wird. (Siehe einige gleichwertige Python- und SQL-Typen. Snowflake SQL-Typ-Synonyme werden akzeptiert, wie z. B. STRING für VARCHAR.) Be einer UDF ist der Rückgabetyp ein einzelner SQL-Typ. Bei einer UDTF ist der Rückgabetyp eine TABLE-Funktion mit column_name SQL column type-Paaren. Beispiel:

    TABLE (item_name STRING, total FLOAT)

  • handler – (Zeichenfolge) Die Funktion, die in Ihrem Code aufgerufen wird, wenn eine Vorlage function_name aufruft. Bei einer UDF sollte dies der Funktionsname selbst sein. Bei einer UDTF sollte dies der Name der Klasse sein, die die UDTF implementiert.

  • code – (Zeichenfolge) Ihr Python-Code als Zeichenfolge. Dies sollte eine Python-UDF sein.

Rückgabe: (Zeichenfolge) Erfolgsmeldung, wenn der Upload erfolgreich war

Beispiele:

-- Inline UDF

CALL samooha_by_snowflake_local_db.provider.load_python_into_cleanroom(
    $cleanroom_name,
    'assign_group',                      -- Name of the UDF.
    ['data STRING', '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)
    $$
);
Copy
-- Upload from stage

CALL samooha_by_snowflake_local_db.provider.load_python_into_cleanroom(
    $cleanroom_name,
    'myfunc',                            -- Name of the UDF.
    ['data STRING', 'index INTEGER'],    -- Arguments of the UDF.
    ['numpy', 'pandas'],                 -- Packages UDF will use.
    ['/assign_group.py'],                -- Python file to import from a stage.
    'INTEGER',                           -- Return type of UDF.
    'assign_group.main'                  -- Handler, scoped to file name.
);
Copy

prepare_python_for_cleanroom

Schema:

PROVIDER

Beschreibung: Lädt kundenspezifischen Python-Code als Teil eines Massen-Code-Upload-Workflows in den Clean Room. Rufen Sie diese Prozedur mehrere Male auf, um mehrere Pakete hochzuladen, und rufen Sie dann load_prepared_python_into_cleanroom auf, um das Hochladen in den angegebenen Clean Room auszulösen, den Pool mit vorbereitetem Code zu leeren und einen neuen Clean Room-Patch zu generieren.

Der hochgeladene Code kann von Ihrer Jinja-Vorlage aufgerufen werden. Um nur ein einziges Python-Bundle hochzuladen, können Sie stattdessen load_python_into_cleanroom aufrufen.

Learn how to upload and use Python code in a clean room.

Sie können diesen Code entweder direkt an diese Prozedur übergeben, indem Sie den code-Parameter verwenden, oder den Code unter Verwendung des Parameters imports im Namen einer Datei in einem Stagingbereich übergeben, die den Code enthält.

Argumente:

  • :ref:`cleanroom_name <label-dcr_about_clean_room_names> ` (Zeichenfolge) – Name des Clean Rooms, in den das Skript geladen werden soll.

  • function_name  – (Zeichenfolge) Name, den eine Vorlage verwendet, um die durch``handler`` angegebene Funktion aufzurufen. Die Vorlage muss den Funktionsnamen mit dem cleanroom-Namespace qualifizieren. Beispiel: cleanroom.my_func(val1, val2).

  • arguments – (Array aus durch Leerzeichen getrennten Zeichenfolgenpaaren) Ein Array von Argumenten, die von der Funktion function_name benötigt werden. Jedes Element ist ein durch Leerzeichen getrenntes 'name  data_type'-Paar, das den Namen des Arguments und seinen Snowflake-SQL-Datentyp angibt. Beispiel: ['size INT', 'start_date DATE'].

  • packages – (Array aus Zeichenfolgen)* – Liste der vom Code verwendeten Python-Paketnamen. Clean Rooms unterstützt nativ alle Pakete ` in dieser Liste <https://repo.anaconda.com/pkgs/snowflake/>`_ oder im Snowpark-API. Wenn Sie ein Paket benötigen, das dort nicht aufgeführt ist, müssen Sie Snowpark Container Services in einem Clean Room verwenden.

  • imports – (Array aus Zeichenfolgen) Liste der Python-Quelldateien, wenn Sie Ihre Quelle aus einem Stagingbereich importieren. Jede Dateiadresse ist relativ zu dem Stagingbereich, in den Sie den Code hochgeladen haben, z. B. ['/my_func.py']. Suchen Sie den Clean Room-Stagingbereich, indem Sie provider.get_stage_for_python_files aufrufen. Wenn Sie Code inline über den code-Parameter bereitstellen, geben Sie ein leeres Array an.

  • rettype – (Zeichenfolge) SQL-Datentyp des Wertes, der von der Funktion handler zurückgegeben wird. (Siehe einige gleichwertige Python- und SQL-Typen. Snowflake SQL-Typ-Synonyme werden akzeptiert, wie z. B. STRING für VARCHAR.) Be einer UDF ist der Rückgabetyp ein einzelner SQL-Typ. Bei einer UDTF ist der Rückgabetyp eine TABLE-Funktion mit <column name> <SQL column type>-Paaren. Beispiel:

    TABLE (item_name STRING, total FLOAT)

  • handler – (Zeichenfolge) Die Funktion, die in Ihrem Code aufgerufen wird, wenn eine Vorlage function_name aufruft. Bei einer UDF sollte dies der Funktionsname selbst sein. Bei einer UDTF sollte dies der Name der Klasse sein, die die UDTF implementiert.

  • code – (Zeichenfolge) Ihr Python-Code als Zeichenfolge. Dies sollte eine Python-UDF oder UDTF sein. Wenn Sie den Code aus einem Stagingbereich hochladen, sollte dies eine leere Zeichenfolge sein.

Rückgabe: (Zeichenfolge) Zusammenfassung der Upload-Anfrage, einschließlich der Patch-Nummer, bevor der Code dem Clean Room hinzugefügt wird.

Beispiel:

Dieses Beispiel lädt zwei einfache Python-Prozeduren in einen Clean Room und löst nur eine einzige Patch-Generierung aus.

CALL samooha_by_snowflake_local_db.provider.prepare_python_for_cleanroom(
    $cleanroom_name,
    'get_next_status',  -- Name of the UDF. Can be different from the handler.
    ['status VARCHAR'], -- Arguments of the UDF, specified as (variable name, SQL type).
    ['numpy'],          -- Packages needed by UDF.
    [],                 -- When providing the code inline, this is an empty array.
    'VARCHAR',          -- Return type of UDF.
    'get_next_status',  -- Handler.
    $$
import numpy as np
def get_next_status(status):
  """Return the next higher status, or a random status
  if no matching status found or at the top of the list."""

  statuses = ['MEMBER', 'SILVER', 'GOLD', 'PLATINUM', 'DIAMOND']
  try:
    return statuses[statuses.index(status.upper()) + 1]
  except:
    return 'NO MATCH'
    $$
);

 CALL samooha_by_snowflake_local_db.provider.prepare_python_for_cleanroom(
    $cleanroom_name,
    'hello_world',  -- Name of the UDF.
    [],
    [],
    [],
    'VARCHAR',
    'hello_world',
    $$
import numpy as np
def hello_world():
  return 'Hello world!'
    $$
);

CALL samooha_by_snowflake_local_db.provider.load_prepared_python_into_cleanroom($cleanroom_name);
Copy

load_prepared_python_into_cleanroom

Schema:

PROVIDER

Beschreibung: Übernimmt den gesamten Stagingcode, der mit vorherigen Aufrufen von prepare_python_for_cleanroom bereitgestellt wurde, führt einen Sicherheitsscan für den Code aus und lädt, wenn der Scan bestanden wurde, den Code in den Clean Room hoch und generiert einen neuen Clean Room-Patch. Um diese Version des Clean Rooms den Benutzern zur Verfügung zu stellen, müssen Sie dann die Release-Richtlinie des Clean Rooms auf die Patchnummer aktualisieren, die von dieser Prozedur zurückgegeben wird, indem Sie aufrufen set_default_release_directive. Unabhängig davon, ob der Aufruf erfolgreich ist, wird der Pool des Python-Codes, der in vorherigen Aufrufen von prepare_python_for_cleanroom gespeichert ist, geleert. Dieser Schritt meldet keine Syntaxfehler, die nur gemeldet werden, wenn Sie versuchen, Ihren Code auszuführen.

Argumente:

  • cleanroom_name (Zeichenfolge) – Name des Clean Rooms, in den Sie Python-Code hochladen möchten.

Rückgabe: (Zeichenfolge) Gibt bei Erfolg die neu erstellte Patch-Nummer zurück. Aktualisieren Sie die Release-Richtlinie des Clean Rooms auf die von dieser Prozedur zurückgegebene Patch-Nummer, indem Sie set_default_release_directive aufrufen.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.load_prepared_python_into_cleanroom($cleanroom_name);
Copy

get_stage_for_python_files

Schema:

PROVIDER

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 untersucht werden, nachdem die Dateien durch den Aufruf von provider.load_python_into_cleanroom hochgeladen wurden.

Learn how to upload and use Python code in a clean room.

Argumente:

  • cleanroom_name (Zeichenfolge) – Name des Clean Rooms, in den Sie Dateien hochladen möchten.

Rückgabe: (Zeichenfolge)* Der Pfad, in den Sie die Codedateien hochladen sollten. Verwenden Sie diese Prozedur 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);
Copy

view_cleanroom_scan_status

Schema:

PROVIDER

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.

Nach jeder Aktion, die eine neue Patchversion erzeugt, wird ein Scan durchgeführt. In den meisten Fällen ist dies entweder, nachdem Sie den Clean Room zum ersten Mal veröffentlichen oder nachdem Sie Python in den Clean Room hochgeladen haben. Data Clean Rooms verwendet das Sicherheitsscan-Framework der Snowflake Native App.

Argumente:

  • cleanroom_name (Zeichenfolge) – Name des Clean Rooms, dessen Status geprüft werden soll.

Rückgabe: (String) Der Status der Überprüfung. Die folgenden Werte sind möglich:

  • NOT_REVIEWED: Der Scan läuft.

  • APPROVED: Der Scan wurde bestanden.

  • REJECTED: Der Scan ist fehlgeschlagen. Eine neue Clean Room-Version wird nicht veröffentlicht. Versuchen Sie, die Probleme in Ihrem Code zu finden, und versuchen Sie die letzte Aktion erneut.

  • MANUAL_REVIEW: Der Scan erfordert eine manuelle Überprüfung durch Snowflake. Dies kann einige Tage dauern, sehen Sie also in regelmäßigen Abständen erneut nach.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.view_cleanroom_scan_status($cleanroom_name);
Copy

Anforderungsprotokolle

Verwenden Sie die folgenden Befehle, um Protokolle für Verbraucheranfragen zu verwalten. Anforderungsprotokolle ermöglichen es dem Verbraucher, Nachrichten an den Anbieter zu senden, und müssen eingebunden werden, um Funktionen wie benutzerdefinierte Vorlagenanfragen des Verbrauchers, die Genehmigung von vom Anbieter ausgeführten Anfragen durch die Verbraucher und die Cloud-übergreifende automatische Ausführung zu ermöglichen.

mount_request_logs_for_all_consumers

Schema:

PROVIDER

Beschreibung: Ermöglicht Anbietern den Zugriff auf Anfragen von Verbrauchern. Sie müssen Anfrageprotokolle einbinden, um verschiedene Funktionen zu unterstützen, einschließlich benutzerdefinierter Vorlagenanfragen von Verbrauchern, Verbrauchergenehmigung von Anfragen, die vom Anbieter ausgeführt werden, und Cloud-übergreifende automatische Ausführung.

Dadurch werden Anforderungsprotokolle nur für Verbraucher eingebunden, die den angegebenen Clean Room bereits installiert haben. Wenn ein Verbraucher einen Clean Room installiert, nachdem der Anbieter diese Prozedur aufgerufen hat, muss der Anbieter diese Prozedur erneut aufrufen.

Argumente:

  • cleanroom_name (Zeichenfolge) – Name des Clean Rooms, für den die Anfrageprotokolle erstellt werden sollen.

Rückgabe: (Tabelle) Eine Tabelle mit Verbrauchern, mit dem jeweiligen Status des Anforderungsprotokolls. Wenn einem Verbraucher Zugang zu einem Clean Room gewährt wurde, dieser aber den Clean Room noch nicht installiert hat, wird der Status als ausstehend beschrieben und Sie sollten mount_request_logs_for_all_consumers erneut aufrufen, nachdem sie den Clean Room installiert haben.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.mount_request_logs_for_all_consumers($cleanroom_name);
Copy

view_request_mount_status_for_all_consumers

Schema:

PROVIDER

Beschreibung: Zeigt den Einbindungsstatus der Anforderungsprotokolle für alle Verbraucher im angegebenen Clean Room an. Nur Verbraucher, die in einem Aufruf von provider.mount_request_logs_for_all_consumers enthalten waren, werden angezeigt. Anforderungsprotokolle ermöglichen die Weitergabe von Nachrichten vom Verbraucher an den Anbieter.

Argumente:

Rückgabe: (Tabelle) – Eine Tabelle mit Verbrauchern und dem Status jedes Verbrauchers.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.view_request_mount_status_for_all_consumers($cleanroom_name);
Copy

view_request_logs

Schema:

PROVIDER

Beschreibung: Zeigt die von Verbrauchern in diesem Clean Room gesendeten Anforderungsprotokolle an. Nur Anfragen von Verbrauchern, die in einem früheren erfolgreichen Aufruf von mount_request_logs_for_all_consumers einbezogen wurden, werden angezeigt.

Argumente:

  • cleanroom_name (Zeichenfolge) – Name des Clean Rooms, für den die Anfrageprotokolle überprüft werden sollen.

Rückgabe: (Tabelle) Die Anfragen, die der Verbraucher an den Anbieter im angegebenen Reinraum gesendet hat.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.view_request_logs($cleanroom_name);
Copy

Differential Privacy

Diese Befehle steuern die differentielle Privatsphäre auf Benutzerebene oder Ebene des Anbieter. Erfahren Sie mehr über differentielle Privatsphäre.

set_privacy_settings

Schema:

PROVIDER

Beschreibung: Legt die Datenschutzeinstellungen fest (oder setzt sie zurück), die erzwungen werden, wenn der angegebene Verbraucher eine benutzerdefinierte Vorlage ausführt. Damit werden alle bestehenden Einstellungen für diesen Verbraucher überschrieben.

Argumente:

  • cleanroom_name (Zeichenfolge) – Name des Clean Room.

  • consumer_account_locator – (Zeichenfolge) Konto-Locator eines oder mehrerer Verbraucher in einer durch Kommas getrennten Liste.

  • privacy_settings – (Objekt) Ein JSON-Objekt, das differentielle Privatsphäre-Einstellungen für eine oder mehrere Vorlagen angibt. Die Einstellungen werden auf alle Vorlagen angewendet, die vom angegebenen Verbraucher ausgeführt werden. Siehe die verfügbaren Felder für dieses Objekt.

Rückgabe: Erfolgsmeldung.

Beispiel:

-- Enforce differential privacy on queries by this consumer
-- with the settings provided.
CALL samooha_by_snowflake_local_db.provider.set_privacy_settings(
  $cleanroom_name,
  $consumer_locator,
  { 'differential': 1,
    'epsilon': 0.1,
    'privacy_budget': 3 });
Copy

is_dp_enabled_on_account

Schema:

PROVIDER

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();
Copy

suspend_account_dp_task

Schema:

PROVIDER

Beschreibung: Deaktiviert die Aufgabe, die Budgets für differentielle Privatsphäre überwacht und durchsetzt. Diese Prozedur wird verwendet, um die Kosten im Zusammenhang mit differentieller Privatsphäre in Ihrem Konto zu steuern. Wenn die Aufgabe „Differentielle Privatsphäre“ deaktiviert ist, wird bei Abfragen von Benutzern, Vorlagen oder Clean Rooms, in denen differentielle Privatsphäre angegeben ist, immer noch Rauschen hinzugefügt, aber Budgetlimits werden nicht durchgesetzt und Ihnen entstehen keine Kosten durch differentielle Privatsphäre. Erfahren Sie mehr über die Verwaltung der differentiellen Privatsphäre.

Argumente: Keine

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.suspend_account_dp_task();
Copy

resume_account_dp_task

Schema:

PROVIDER

Beschreibung: Setzt die Aufgabenüberwachung für differentielle Privatsphäre im aktuellen Konto fort, und die Budgets für differentielle Privatsphäre werden durchgesetzt. Zuvor eingestellte unterschiedliche Datenschutzwerte (z. B. Empfindlichkeit oder zugehörige Benutzer) werden beibehalten.

Argumente: Keine

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.resume_account_dp_task();
Copy

Snowpark Container Services-Befehle

Diese Prozeduren ermöglichen es Ihnen, Snowpark Container Services innerhalb eines Clean Rooms zu verwenden.

load_service_into_cleanroom

Schema:

PROVIDER

Beschreibung: Erstellt oder aktualisiert einen Container in einem Container. Wenn Sie diese Prozedur aufrufen, wird die Patchnummer des Clean Rooms aktualisiert, sodass Sie nach dem Aufruf dieser Prozedur. provider.set_default_release_directive aufrufen müssen. Sie müssen diese Prozedur jedes Mal aufrufen, wenn Sie den Service erstellen oder aktualisieren. Der Client muss dann consumer.start_or_update_service aufrufen, um Aktualisierungen zu sehen.

Erfahren Sie mehr über die Verwendung von Snowpark Container Services in einem Clean Room.

Argumente:

  • cleanroom_name (Zeichenfolge) – Name des Clean Room.

  • service_spec – (Zeichenfolge) Eine YAML-Spezifikation für den Service, die auf dem spec-Element basiert.

  • service_config – (Zeichenfolge) Eine YAML-Formatkonfiguration für den Service. Die folgenden Eigenschaften werden unterstützt:

    • default_service_options – Ein optionales Array von Standardwerten auf Serviceebene. Diese Werte können vom Verbraucher beim Erstellen seines Service überschrieben werden. Die folgenden untergeordneten Eigenschaften werden unterstützt:

      • min_instances (Ganzzahl, optional)

      • max_instances (Ganzzahl, optional)

      • allow_monitoring (Boolean, optional) – Wenn TRUE, kann der Verbraucher Serviceprotokolle sehen. Standardwert ist FALSE.

    • functions – Ein Array von Funktionen, die vom Service bereitgestellt werden. Jede Funktionsdefinition ist der SPCS Servicefunktion-Definition zugeordnet. In dieser Dokumentation finden Sie Details zu den einzelnen Elementen. Die folgenden untergeordneten Eigenschaften werden unterstützt:

      • name

      • args

      • returns

      • endpoint

      • path

      • max_batch_rows (optional)

      • context_headers (optional)

Rückgabe: (Zeichenfolge) Erfolgsmeldung, falls erfolgreich. Gibt einen Fehler aus, wenn er nicht erfolgreich ist.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.load_service_into_cleanroom(
    $cleanroom_name,
    $$
    spec:
      containers:
      - name: lal
        image: /dcr_spcs/repos/lal_example/lal_service_image:latest
        env:
          SERVER_PORT: 8000
        readinessProbe:
          port: 8000
          path: /healthcheck
      endpoints:
      - name: lalendpoint
        port: 8000
        public: false
    $$,
    $$
    default_service_options:
      min_instances: 1
      max_instances: 1
      allow_monitoring: true

    functions:
      - name: train
        args: PROVIDER_TABLE VARCHAR, PROVIDER_JOIN_COL VARCHAR, CONSUMER_TABLE VARCHAR, CONSUMER_JOIN_COL VARCHAR, DIMENSIONS ARRAY, FILTER VARCHAR
        returns: VARCHAR
        endpoint: lalendpoint
        path: /train
      - name: score
        args: PROVIDER_TABLE VARCHAR, PROVIDER_JOIN_COL VARCHAR, CONSUMER_TABLE VARCHAR, CONSUMER_JOIN_COL VARCHAR, DIMENSIONS ARRAY
        returns: VARCHAR
        endpoint: lalendpoint
        path: /score
      - name: score_batch
        args: ID VARCHAR, FEATURES ARRAY
        returns: VARIANT
        max_batch_rows: 1000
        endpoint: lalendpoint
        path: /scorebatch
$$);
Copy

Umgebungsmanagement

Verwenden Sie die folgenden Befehle, um die Reinraumfunktionalität und die unterstützten Abläufe allgemein zu nutzen.

manage_datastats_task_on_account

Schema:

PROVIDER

Beschreibung: Aktiviert oder deaktiviert die Hintergrundaufgabe, die Clean Room-Statistiken berechnet. Die Aufgabe wird standardmäßig ausgeführt, aber Sie können sie deaktivieren, um Ihre Kosten zu senken. Um die Aufgabe zu verwalten, müssen alle Teilnehmer die entsprechende provider- oder consumer-Version dieser Prozedur mit demselben Wert aufrufen.

Argumente:

  • enable – (Boolean) TRUE, um die Aufgabe zu aktivieren, FALSE, um die Aufgabe zu deaktivieren.

Rückgabe: Erfolgsmeldung.

Beispiel:

-- Disable the task in this account.
CALL samooha_by_snowflake_local_db.provider.manage_datastats_task_on_account(FALSE);
Copy

enable_local_db_auto_upgrades

Schema:

LIBRARY

Beschreibung: Aktiviert die Aufgabe, die die Snowflake Data Clean Rooms-Umgebung automatisch aktualisiert, wenn neue Prozeduren oder Funktionen veröffentlicht werden (die Aufgabe ist samooha_by_snowflake_local_db.admin.expected_version_task). Rufen Sie diese Prozedur auf, um Upgrades zu automatisieren, anstatt library.apply_patch mit jedem neuen Release aufzurufen.

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-Umgebung auf Ihrem System haben.

Argumente: Keine

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.library.enable_local_db_auto_upgrades();
Copy

disable_local_db_auto_upgrades

Schema:

LIBRARY

Beschreibung: Deaktiviert die Aufgabe, die die Snowflake Data Clean Rooms-Umgebung automatisch aktualisiert, wenn neue Versionen veröffentlicht werden. Wenn Sie automatische Upgrades deaktivieren, müssen Sie library.apply_patch mit jedem neuen Release aufrufen.

Argumente: Keine

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.library.disable_local_db_auto_upgrades();
Copy

apply_patch

Schema:

LIBRARY

Beschreibung: Aktualisiert Ihre Clean Room-Umgebung und aktiviert neue Features und Korrekturen in Ihrer Umgebung. Rufen Sie dies auf, wenn eine neue Version der Clean Room-Umgebung veröffentlicht wurde. (Dies geschieht normalerweise wöchentlich. Siehe Clean Room-Einträge unter Neueste Feature-Updates.) Diese Prozedur aktualisiert samooha_by_snowflake_local_db.

Sie können Patch-Updates automatisieren, indem Sie library.enable_local_db_auto_upgrades aufrufen. Wir empfehlen, automatische Updates zu aktivieren.

Argumente: Keine

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.library.apply_patch();
Copy

patch_cleanroom

Schema:

PROVIDER

Beschreibung: Aktualisiert den angegebenen Clean Room auf die neueste Version und aktiviert neue Features und Korrekturen für diesen Clean Room. Normalerweise rufen Sie dies nur auf, wenn der Snowflake-Support Sie anweist, es aufzurufen.

Der Anbieter sollte library.patch_cleanroom aufrufen, bevor der Verbraucher library.patch_cleanroom aufruft. Andernfalls gibt es keinen Patch, der angewendet werden kann.

Argumente:

  • cleanroom_name (Zeichenfolge) : Name des Clean Rooms, der gepatcht werden soll.

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.patch_cleanroom($cleanroom_name);
Copy

dcr_health.dcr_tasks_health_check

Beschreibung: Zeigt Informationen über laufende oder kürzlich angehaltene Clean Room-Aufgaben an.

Argumente: Keine

Rückgabe: (Tabelle) Informationen über Clean Room-Aufgaben, einschließlich Zeitplan, Warehouse-Name und Warehouse-Größe.

Beispiel:

CALL samooha_by_snowflake_local_db.dcr_health.dcr_tasks_health_check();
Copy

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.

mount_laf_cleanroom_requests_share (veraltet)

Schema:

PROVIDER

Diese Funktion ist jetzt veraltet. Rufen Sie stattdessen provider.mount_request_logs_for_all_consumers auf.

Beschreibung: Macht Cloud-übergreifende Anfragen für den angegebenen Clean Room und das Verbraucherkonto zugänglich. provider.request_laf_cleanroom_requests muss den Status FULFILLED zurückgeben, bevor Sie diese Prozedur aufrufen können.

Dieser Prozess ist für verbraucherdefinierte Vorlagen erforderlich, bei denen sich Anbieter und Verbraucher in unterschiedlichen Cloudregionen befinden.

Argumente:

  • cleanroom_name (Zeichenfolge) – Clean Room, der freigegeben wird.

  • consumer_locator – (Zeichenfolge) Snowflake-Konto-Locator des Verbrauchers, der in diesem Clean Room Cloud-übergreifende Anfragen stellen wird.

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.mount_laf_cleanroom_requests_share(
  $cleanroom_name, $consumer_locator);
Copy

request_laf_cleanroom_requests (verwaltet)

Schema:

PROVIDER

Diese Funktion ist jetzt veraltet. Rufen Sie stattdessen provider.mount_request_logs_for_all_consumers auf.

Beschreibung: Richtet die Cloud-übergreifende Freigabe von Anforderungen auf Anbieterseite für einen bestimmten Verbraucher ein. Ein Kontoadministrator muss zuerst die Cloud-übergreifende automatische Ausführung und der Verbraucher muss consumer.setup_cleanroom_request_share_for_laf aufgerufen haben.

Dieser Prozess ist für verbraucherdefinierte Vorlagen erforderlich, bei denen sich Anbieter und Verbraucher in unterschiedlichen Cloudregionen befinden.

Sie können diese Prozedur wiederholt aufrufen, um den Status der Anfrage zu überprüfen. Wenn der Status FULFILLED erreicht, können Sie provider.mount_laf_cleanroom_requests_share aufrufen. Es kann 10 Minuten dauern, bis der Status FULFILLED erreicht wird.

Argumente:

  • cleanroom_name (Zeichenfolge) – Name des Clean Rooms, der die Cloud-übergreifende gemeinsame Nutzung von Anfragen ermöglichen soll.

  • consumer_locator – (Zeichenfolge) Konto-Locator des Verbrauchers, für den die Cloud-übergreifende Freigabe von Anfragen aktiviert werden soll.

Rückgabe: (String) Statusmeldung der Anfrage: CREATED, PENDING, FULFILLED, FAILURE, „FAILURE, Eintrag nicht gefunden“ bedeutet, dass der Verbraucher den Clean Room nicht installiert hat (oder ihn deinstalliert hat).

Beispiel:

CALL samooha_by_snowflake_local_db.provider.request_laf_cleanroom_requests(
  $cleanroom_name, $consumer_locator);
Copy

enable_laf_for_cleanroom (Veraltet)

Schema:

PROVIDER

Diese Funktion ist jetzt veraltet und ihre Funktionalität wird von provider.create_or_update_cleanroom_listing übernommen.

Beschreibung: Aktiviert Cloud-übergreifende automatische Ausführung, mit der Sie den Clean Room für Teilnehmer freigeben 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 diese Prozedur ausführen können. Erfahren Sie mehr über die Cloud-übergreifende automatische Ausführung.

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 (Zeichenfolge) – Der Name des Clean Rooms, 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: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.enable_laf_for_cleanroom($cleanroom_name);
Copy

view_ui_registration_request_log – DEPRECATED

Schema:

PROVIDER

Achtung

Dieser Befehl ist jetzt veraltet. Sie müssen eine Clean Room-Vorlage nicht mehr manuell für die Verwendung in der Clean Rooms-UI registrieren.

Beschreibung: Zeigt die Liste der vom Konto ausgelösten Anfragen zur Registrierung von Clean Rooms in der Clean Rooms-UI 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: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.view_ui_registration_request_log();
Copy

register_table_or_view – Veraltet

Schema:

LIBRARY

Achtung

Dieser -Befehl ist jetzt veraltet. Verwenden Sie stattdessen 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: (Zeichenfolge) Erfolgsmeldung.

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);
Copy

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);
Copy

register_table – Veraltet

Schema:

LIBRARY

Achtung

Dieser -Befehl ist jetzt veraltet. Verwenden Sie stattdessen register_objects.

Beschreibung: Ähnlich wie register_db, arbeitet aber auf Tabellenebene. Gewähren Sie der Rolle SELECT die Berechtigung SAMOOHA_APP_ROLE für diese Tabelle, sodass der Benutzer die Tabelle mit dem Reinraum verbinden kann.

Wenn Sie Tabellen in einem verwalteten Zugriffsschema 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: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.library.register_table(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
Copy

register_managed_access_table – Veraltet

Schema:

LIBRARY

Achtung

Dieser -Befehl ist jetzt veraltet. Verwenden Sie stattdessen register_objects.

Beschreibung: Ähnlich wie register_table, registriert aber 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: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.library.register_managed_access_table(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
Copy

register_view – Veraltet

Schema:

LIBRARY

Achtung

Dieser -Befehl ist jetzt veraltet. Verwenden Sie stattdessen register_objects.

Beschreibung: Ähnlich wie register_db, arbeitet aber auf Ansichtsebene. 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 verwalteten Zugriffsschema (d. h. einem Schema, das mit dem Parameter WITH MANAGED ACCESS erstellt wurde) registrieren möchten, verwenden Sie stattdessen library.register_managed_access_view.

Argumente: view_name (array)

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.library.register_view(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
Copy

register_managed_access_view – Veraltet

Schema:

LIBRARY

Achtung

Dieser -Befehl ist jetzt veraltet. Verwenden Sie stattdessen register_objects.

Beschreibung: Ähnlich wie register_view, registriert aber 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: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.library.register_managed_access_view(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
Copy

unregister_table_or_view – Veraltet

Schema:

LIBRARY

Achtung

Dieser -Befehl ist jetzt veraltet. Verwenden Sie stattdessen 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: (Zeichenfolge) Erfolgsmeldung.

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);
Copy

unregister_table – Veraltet

Schema:

LIBRARY

Achtung

Dieser -Befehl ist jetzt veraltet. Verwenden Sie stattdessen 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 verwalteten Zugriffsschema (d. h. ein Schema, das mit dem Parameter WITH MANAGED ACCESS erstellt wurde) aufheben möchten, verwenden Sie stattdessen library.unregister_managed_access_table.

Argumente: table_name (array)

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.library.unregister_table(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
Copy

unregister_managed_access_table – Veraltet

Schema:

LIBRARY

Achtung

Dieser -Befehl ist jetzt veraltet. Verwenden Sie stattdessen unregister_objects.

Beschreibung: Ähnlich wie unregister_table, hebt jedoch die Registrierung von Tabellen in einem verwalteten Zugriffsschema auf (d. h. einem Schema, das mit dem Parameter WITH MANAGED ACCESS erstellt wurde).

Argumente: table_name (array)

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.library.unregister_managed_access_table(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
Copy

unregister_view – Veraltet

Schema:

LIBRARY

Achtung

Dieser -Befehl ist jetzt veraltet. Verwenden Sie stattdessen unregister_objects.

Beschreibung: Ähnlich wie unregister_db, arbeitet aber auf Ansichtsebene. 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 verwalteten Zugriffsschema (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: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.library.unregister_view(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
Copy

unregister_managed_access_view – Verwaltet

Schema:

LIBRARY

Achtung

Dieser -Befehl ist jetzt veraltet. Verwenden Sie stattdessen 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: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.library.unregister_managed_access_view(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
Copy

provider.create_cleanroom_listing – Veraltet

Schema:

PROVIDER

Achtung

Dieser -Befehl ist jetzt veraltet. Verwenden Sie stattdessen 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 über das orgname.account_name-Format der Konto-URL. Der Verbraucher kann diese Zeichenfolge finden, indem er die Anweisungen unter Suchen von Organisations- und Kontonamen eines Kontos 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: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.create_cleanroom_listing($cleanroom_name, <consumerorg.consumeracct>);
Copy

register_cleanroom_in_ui – DEPRECATED

Schema:

PROVIDER

Achtung

Dieser Befehl ist jetzt veraltet. Sie müssen eine Clean Room-Vorlage nicht mehr manuell für die Verwendung in der Clean Rooms-UI registrieren.

Beschreibung: Registriert einen Clean Room zur Verwendung in der Clean Room-UI durch den Verbraucher. Der Reinraum wird vom Anbieter mit den Entwickler-APIs erstellt und konfiguriert. Dieser Befehl registriert dann den Clean Room in der Clean Rooms-UI, damit Verbraucher diesen 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. Verbraucher arbeiten mit dem Clean Room ausschließlich über die Benutzeroberfläche der Clean Rooms-UI.

Sie können diese API mehrmals aufrufen, um mehrere benutzerdefinierte Vorlagen in die Clean Rooms-UI einzubinden.

**Argumente:**cleanroom_name (string), template name (string), consumer_account_locator (string), user_email (string)

Rückgabe: (Zeichenfolge) Erfolgsmeldung.

Beispiel:

CALL samooha_by_snowflake_local_db.provider.register_cleanroom_in_ui($cleanroom_name, 'prod_custom_template', <CONSUMER ACCOUNT LOCATOR>, <USER_EMAIL>)
Copy