Snowflake Data Clean Rooms: Verbraucher-API-Referenzhandbuch¶
Auf dieser Seite werden die Prozeduren beschrieben, die die Verbraucher in der Clean Room API zur Verwaltung ihrer Clean Rooms verwenden. Anweisungen zur Einrichtung der Codierung finden Sie unter Codierung einrichten.
Rollenzugriff verwalten¶
grant_run_on_cleanrooms_to_role¶
- Schema:
CONSUMER
Beschreibung: Gewährt der angegebenen Rolle die Berechtigung, eine Teilmenge von Prozeduren in den angegebenen Clean Rooms auszuführen. Clean Rooms müssen in diesem Konto installiert werden, nicht von diesem Konto erstellt werden. (Das heißt, nur Clean Rooms, für die Sie ein Verbraucher sind.)
Um eine eingeschränkte Nutzung Ihrer Clean Rooms zu gewähren, weisen Sie den Benutzern die angegebene Rolle anstelle von SAMOOHA_APP_ROLE zu. Weitere Informationen zum Rollenzugriff finden Sie unter Begrenzten API-Zugriff gewähren.
Die folgenden Prozeduren können mit einer hier angegebenen Rolle ausgeführt werden:
consumer.view_added_templates
consumer.view_added_template_chains
consumer.get_arguments_from_template
consumer.view_column_policy
consumer.view_consumer_datasets
consumer.view_join_policy
consumer.view_provider_column_policy
consumer.view_provider_datasets
consumer.view_provider_join_policy
consumer.view_remaining_privacy_budget
consumer.run_analysis
consumer.view_provider_activation_policy
consumer.view_activation_policy
consumer.run_activation
Argumente:
cleanroom-names (String) - Namen aller Clean Rooms, auf die der angegebenen Rolle eingeschränkter Zugriff gewährt werden soll.
run_role_name (Zeichenfolge) - Name einer Rolle, die eingeschränkte Berechtigungen für die angegebenen Clean Rooms hat. Sie müssen die Rolle erstellen, bevor Sie diese Prozedur aufrufen.
Rückgabe: (String) - Erfolgsmeldung.
Beispiel:
CREATE ROLE MARKETING_ANALYST_ROLE;
CALL samooha_by_snowflake_local_db.consumer.grant_run_on_cleanrooms_to_role(
['overlap_cleanroom', 'market_share_cleanroom'],
'MARKETING_ANALYST_ROLE'
);
revoke_run_on_cleanrooms_from_role¶
- Schema:
CONSUMER
Beschreibung: Widerruft die Berechtigungen der angegebenen Rollen für die angegebenen Clean Rooms. Wenn der Benutzer Zugriff auf eine nicht widerrufene Rolle hat oder die Rolle SAMOOHA_APP_ROLE hat, kann er immer noch Clean Room-Prozeduren in den angegebenen Clean Rooms durchführen.
Argumente:
cleanroom_names (String) - Namen eines oder mehrerer Clean Rooms in diesem Konto.
run_role_name (Zeichenfolge) - Name der Rolle, die in diesem Konto keine eingeschränkten Berechtigungen mehr für die angegebenen Clean Rooms haben soll.
Rückgabe: (String) - Erfolgsmeldung.
Beispiel:
CALL samooha_by_snowflake_local_db.consumer.revoke_run_on_cleanrooms_from_role(
['overlap_cleanroom', 'market_share_cleanroom'],
'TEMP_USERS_ROLE'
);
Clean Room installieren¶
Prozeduren zur Installation oder Deinstallation eines Clean Rooms.
install_cleanroom¶
- Schema:
CONSUMER
Beschreibung: Installiert (verknüpft) den vom angegebenen Anbieter erstellten Clean Room. Wenn Sie dies mehrmals aufrufen, wird der vorhandene Clean Room jedes Mal löscht. Wenn Sie eine zweite Installation unterbrechen, bevor sie abgeschlossen ist, wird der Clean Room beschädigt, und Sie müssen diese Prozedur durchführen, um den Clean Room verwendbar zu machen.
Argumente:
cleanroom_name (Zeichenfolge) - Name des zu installierenden Clean Rooms.
provider_account_locator (Zeichenfolge) - Konto-Locator des Anbieters, der diesen Clean Room erstellt hat.
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 der Anbieter in einer anderen Cloud-Hosting-Region befindet. Sie müssen die Cloud-übergreifende automatische Ausführung aktivieren, wie unter Cloud-übergreifende automatische Ausführung in Snowflake Data Clean Rooms verwalten beschrieben.
Beispiel:
CALL samooha_by_snowflake_local_db.consumer.install_cleanroom(
$cleanroom_name,
$provider_locator);
is_enabled¶
- Schema:
CONSUMER
Beschreibung: Nach der Installation des Clean Rooms kann es eine kurze Verzögerung geben, bis er einsatzbereit ist. Sie können diese Prozedur aufrufen, um zu bestätigen, ob der Clean Room nach der Installation einsatzbereit ist.
Argumente:
cleanroom_name (String) - Name des Clean Rooms, dessen Status geprüft werden soll.
Rückgabe: (Boolean) Ob der angegebene Clean Room installiert und einsatzbereit ist.
Beispiel:
CALL samooha_by_snowflake_local_db.consumer.is_enabled($cleanroom_name);
uninstall_cleanroom¶
- Schema:
CONSUMER
Beschreibung: Deinstalliert den Clean Room auf dem Verbraucherkonto. Dadurch werden alle mit dem Reinraum verbundenen Datenbanken entfernt, einschließlich der freigegebenen Reinraum-Datenbank. Beachten Sie, dass der Clean Room jederzeit mit consumer.install_cleanroom
erneut installiert werden kann.
Argumente:
cleanroom_name (Zeichenfolge) – Name des zu deinstallierenden Clean Rooms.
Rückgabe: (Zeichenfolge) Erfolgsmeldung.
Beispiel:
CALL samooha_by_snowflake_local_db.consumer.uninstall_cleanroom($cleanroom_name);
Cloud-übergreifende Zusammenarbeit¶
Installieren eines Clean Rooms, der in einer anderen Cloudregion erstellt wurde.
enable_laf_on_account¶
- Schema:
LIBRARY
Beschreibung: Aktiviert die Cloud-übergreifende automatische Ausführung für das aktuelle Konto. Erfordert die Rolle ACCOUNTADMIN.
Wichtig
Sie müssen zunächst die Cloud-übergreifende automatische Ausführung für Ihr Konto aktivieren, indem Sie SYSTEM$ENABLE_GLOBAL_DATA_SHARING_FOR_ACCOUNT aufrufen. Erfahren Sie mehr über die automatische Auftragsausführung und Verwalten von Berechtigungen für die automatische Auftragsausführung.
Argumente: Keine
Rückgabe: (Zeichenfolge) Erfolgsmeldung.
Beispiel:
USE ROLE ACCOUNTADMIN;
CALL samooha_by_snowflake_local_db.library.enable_laf_on_account();
disable_laf_on_account¶
- Schema:
LIBRARY
Beschreibung: Deaktiviert die Cloud-übergreifende automatische Ausführung für das aktuelle Konto. Erfordert die Rolle ACCOUNTADMIN.
Wichtig
Sie müssen SYSTEM$ENABLE_GLOBAL_DATA_SHARING_FOR_ACCOUNT aufrufen, bevor Sie diese Prozedur aufrufen. Erfahren Sie mehr über die automatische Auftragsausführung und Verwalten von Berechtigungen für die automatische Auftragsausführung.
Argumente: Keine
Rückgabe: (Zeichenfolge) Erfolgsmeldung.
Beispiel:
USE ROLE ACCOUNTADMIN;
CALL samooha_by_snowflake_local_db.library.disable_laf_on_account();
is_laf_enabled_for_cleanroom¶
- Schema:
CONSUMER
Beschreibung: Beschreibt, ob die Cloud-übergreifende automatische Ausführung für diesen Clean Room aktiviert wurde oder nicht. Die Cloud-übergreifende automatische Ausführung muss von einem Kontoadministrator konfiguriert werden.
Argumente:
cleanroom_name (String) - Name des Clean Rooms.
Rückgabe: Ob für diesen Clean Room die Cloud-übergreifende automatische Ausführung aktiviert wurde oder nicht.
Beispiel:
CALL samooha_by_snowflake_local_db.consumer.is_laf_enabled_for_cleanroom($cleanroom_name);
request_laf_cleanroom¶
- Schema:
CONSUMER
Beschreibung: Stellt die Voraussetzungen für die Installation eines Clean Rooms ein, der in einer anderen Cloudregion erstellt wurde. Wenn Sie consumer.install_cleanroom
vor dem Aufrufen dieser Prozedur aufrufen wollen, schlägt dies fehl. Diese Prozedur gibt bei jedem Aufruf den aktuellen Status zurück. Rufen Sie in regelmäßigen Abständen auf, bis der Status FULFILLED lautet, und rufen Sie dann consumer.install_cleanroom
auf. Es kann bis zu 10 Minuten dauern, bis der Status FULFILLED lautet.
Argumente:
cleanroom_name (String) - Der Name des regionsübergreifenden Clean Rooms, der installiert wird.
provider_locator (string) - Konto-Locator des Anbieters, der diesen Clean Room erstellt hat.
Rückgabe: (string) Statusmeldung der Anfrage. Setzen Sie den Aufruf fort, bis der Status FULFILLED lautet.
Beispiel:
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.consumer.request_laf_cleanroom(
$cleanroom_name,$provider_locator);
Vom Anbieter durchgeführte Analyse¶
Weitere Informationen zur vom Anbieter durchgeführten Analyse finden Sie unter Vom Anbieter durchgeführte Analyse.
is_provider_run_enabled¶
- Schema:
LIBRARY
Beschreibung: Prüft, ob in diesem Clean Room vom Anbieter durchgeführte Analysen zugelassen sind. Der Verbraucher muss weiterhin eine explizite Berechtigung erteilen, indem er consumer.enable_templates_for_provider_run
aufruft, bevor Anbieter eine Analyse in diesem Clean Room durchführen können.
Argumente:
cleanroom_name (String) - Name des Clean Rooms.
Rückgaben: (String) Beschreibung, ob der Clean Room vom Anbieter durchgeführte Analysen unterstützt oder nicht.
Beispiel:
CALL samooha_by_snowflake_local_db.library.is_provider_run_enabled($cleanroom_name)
approve_template¶
- Schema:
CONSUMER
Beschreibung: Genehmigt eine einzelne Vorlage für eine vom Anbieter durchgeführte Analyse in einem bestimmten Clean Room. Der Anbieter des Clean Rooms kommuniziert in der Regel im Voraus mit Ihnen, um die Erlaubnis zu erteilen, eine bestimmte Vorlage in einem Clean Room auszuführen. Stellen Sie sicher, dass Sie Verknüpfungs- und Spaltenrichtlinien für eine Vorlage festlegen, bevor Sie sie für eine vom Anbieter durchgeführte Analyse genehmigen:
Ein Clean Room ohne eine Verbraucher-Verknüpfungsrichtlinie bedeutet, dass der Anbieter über alle Verbraucherspalten hinweg verknüpfen kann.
Ein Clean Room ohne einer Verbraucher-Spaltenrichtlinie bedeutet, dass der Anbieter alle Verbraucher-Spalten projizieren kann.
Ein Clean Room mit einer Verbraucherspaltenrichtlinie, die diese genehmigte Vorlage nicht enthält bedeutet, dass der Anbieter bei Verwendung dieser Vorlage keine Verbraucherspalten projizieren kann.
Argumente:
cleanroom_name (String) - Name des Clean Rooms mit der zu genehmigenden Vorlage.
template_name (String) - Name der Vorlage, die der Anbieter in dem angegebenen Clean Room ausführen kann.
Rückgabe: (Zeichenfolge) Erfolgsmeldung.
Beispiel:
CALL samooha_by_snowflake_local_db.consumer.approve_template(
$cleanroom_name,
$template_name);
set_provider_run_configuration¶
- Schema:
CONSUMER
Beschreibung: Wendet Einstellungen auf eine Vorlage an, die steuern, wie ein Anbieter eine bestimmte Vorlage im Clean Room ausführen kann. Wenn der Verbraucher keine Konfiguration für eine Vorlage zur Verfügung stellt, werden Standardwerte verwendet. Ein Anbieter kann eine Vorlage erst dann ausführen, wenn ein Verbraucher die Vorlage für vom Anbieter ausgeführte Analysen durch den Aufruf vonconsumer.approve_template
genehmigt hat.
Argumente:
cleanroom_name (String) - Der Name des Clean Rooms. Wenn die Vorlage in diesem Clean Room nicht vorhanden ist, gibt die Prozedur einen Fehler aus. Die Vorlage muss noch nicht für die vom Anbieter ausgeführte Analyse genehmigt werden, aber der Anbieter kann die Vorlage erst ausführen, wenn der Verbraucher sie genehmigt hat.
template_configuration (Objekt) - Ein Objekt, das Beschränkungen dafür vorgibt, wie ein Anbieter eine bestimmte Vorlage in diesem Clean Room ausführen kann. Vom Anbieter durchgeführte Analysen werden im Konto des Verbrauchers ausgeführt und dem Verbraucher in Rechnung gestellt, sodass der Verbraucher einschränken kann, welche Warehouses für eine bestimmte Vorlage verwendet werden können. Das Konfigurationsobjekt hat folgende Form:
{ <template_name>: { "warehouse_type": <warehouse_type>, "warehouse_size": <warehouse_size> } }
Sie müssen alle der folgenden Werte angeben:
template_name
- Der Objektschlüssel ist der Name der Vorlage. Die Konfiguration wird auf diese Vorlage angewendet. Diese Vorlage muss im Clean Room vorhanden sein.warehouse-type
(String) – Welchen Warehouse-Typ der Anbieter verwenden kann, um diese Vorlage auszuführen. Zulässige Werte:ALL - (Standard) Jeder Warehouse-Typ ist zulässig.
STANDARD - Nur ein Standard-Warehouse ist zulässig.
SNOWPARK-OPTIMIZED - Nur Snowpark-optimiertes Warehouse ist zulässig. XLARGE oder X-LARGE wird unterstützt.
ALL (Standard) Jede Warehouse-Größe ist zulässig.
Jede für {doc}
WAREHOUSE_SIZE </sql-reference/sql/create-warehouse>
definierte Größe oder deren Synonyme (z. B. entweder XLARGE oder X-LARGE) wird unterstützt.
Rückgabe: (Zeichenfolge) Erfolgsmeldung.
Beispiel:
CALL samooha_by_snowflake_local_db.consumer.set_provider_run_configuration(
$cleanroom_name,
{
"some_template": {
"warehouse_type": "STANDARD",
"warehouse_size": ["MEDIUM", "LARGE"]
}
}
);
enable_templates_for_provider_run¶
- Schema:
CONSUMER
Beschreibung: Erteilt dem Anbieter die Berechtigung, eine Analyse in dem angefragten Clean Room auszuführen. Dies wird aufgerufen, nachdem der Anbieter provider.enable_provider_run_analysis
aufgerufen hat, um vom Anbieter durchgeführte Analysen in einem Clean Room zu ermöglichen. consumer.enable_templates_for_provider_run
erteilt dem Anbieter die Berechtigung, die angegebenen Vorlagen im angegebenen Clean Room so oft wie gewünscht auszuführen.
Anbieter führen aktivierte Vorlagen im Konto des Verbrauchers aus, und dies wird dem Verbraucher in Rechnung gestellt. Wenn Sie den Warehouse-Typ oder die Größen begrenzen möchten, die für einen Anbieter beim Ausführen einer bestimmten Vorlage zulässig sind, rufen Sie set_provider_run_configuration
auf.
Argumente:
cleanroom_name (string) - Der Name des Clean Rooms, in dem der Anbieter Analysen ausführen kann.
template_names (Array von Zeichenfolgen) - Ein Array mit Namen von einer oder mehreren Vorlagen im Clean Room, die der Anbieter ausführen kann.
enable_differential_privacy (boolesch) - Wenn TRUE, aktivieren Sie die differentielle Privatsphäre für alle in
template_names
aufgeführten Vorlagen. Die differentielle Privatsphäre kann für diese Vorlagen nur aktiviert werden, wenn die differentielle Privatsphäre für den Reinraum selbst aktiviert ist. Sie können den differentiellen Privatsphärenstatus für einen Reinraum überprüfen, indem Sieconsumer.is_dp_enabled
aufrufen. Sie können die Datenschutzeinstellungen anpassen, indem Sieconsumer.set_privacy_settings
aufrufen. Weitere Informationen.template_configuration (Objekt, Optional) - Ein optionales Objekt, das zusätzliche Einstellungen für jede Vorlage in
template_names
angibt. Dieses Objekt enthält Schlüssel-Wert-Paare, wobei der Schlüssel der Name der Vorlage ist (austemplate_names
) und der Wert ein Objekt, das Einschränkungen darüber festlegt, wie der Anbieter diese Vorlage verwenden kann. Wenn Sie keine Vorlagenkonfiguration bereitstellen, ist ‚ALL‘ die Standardeinstellung für alle Eigenschaften für alle Vorlagen intemplate_names
. Wenn Sie eine Vorlagenkonfiguration bereitstellen, müssen Sie für jede intemplate_names
aufgeführte Vorlage eine Konfiguration bereitstellen und alle Eigenschaften für die Konfiguration dieser Vorlage definieren. Sie können die zulässigen Werte für eine Vorlage auch festlegen, indem Sieconsumer.set_provider_run_configuration
aufrufen.Die folgenden Eigenschaften werden unterstützt:
warehouse_type
(String) - Ein zulässiger Warehouse-Typ, den der Anbieter mit dieser Vorlage verwenden kann. Zulässige Werte:ALL - Jeder Warehouse-Typ ist zulässig.
STANDARD - Nur ein Standard-Warehouse ist zulässig.
SNOWPARK-OPTIMIZED - Nur ein Snowpark-optimiertes Warehouse ist zulässig.
warehouse_size
(Array von Strings) - Eine oder mehrere zulässige Warehouse-Größen, die mit diesem Warehouse-Typ und dieser Vorlage verwendet werden können. Zulässige Werte sind die für {doc}WAREHOUSE_SIZE </sql-reference/sql/create-warehouse>
definierten Werte oder deren Synonyme (z. B. entweder XLARGE oder X-LARGE). Geben SieALL‘ an, um jede Warehouse-Größe zuzulassen.
Rückgabe: (Zeichenfolge) Erfolgsmeldung.
Beispiele:
-- Simple example
CALL samooha_by_snowflake_local_db.consumer.enable_templates_for_provider_run(
$cleanroom_name,
['prod_overlap_analysis'],
FALSE);
-- Specify what types of warehouse the provider can use to run these templates.
CALL samooha_by_snowflake_local_db.CONSUMER.enable_templates_for_provider_run(
$cleanroom_name,
['template1', 'template2', 'template3'],
TRUE,
{
'template1': {'warehouse_type': 'ALL', 'warehouse_size': ['MEDIUM', 'LARGE']},
'template2': {'warehouse_type': 'SNOWPARK-OPTIMIZED', 'warehouse_size': ['MEDIUM', 'XLARGE']},
'template3': {'warehouse_type': 'STANDARD', 'warehouse_size': ['MEDIUM', 'XLARGE']}
});
Multi-Anbieter-Analyse¶
Diese Prozeduren ermöglichen die Multi-Anbieter-Analyse.
prepare_multiprovider_flow¶
- Schema:
CONSUMER
Beschreibung: Sendet eine Anfrage zur Durchführung einer Multi-Anbieter-Abfrage an die Anbieter der angegebenen Clean Rooms. Diese Prozedur führt nicht wirklich die Anfrage aus. Sie bittet lediglich den Anbieter um die Berechtigung, diese Anfrage in Zukunft durch Aufruf von consumer.execute_multiprovider_flow
ausführen zu dürfen.
Wenn ein Anbieter die Genehmigung erteilt, kann der Verbraucher die Abfrage durch Aufruf von consumer.execute_multiprovider_flow
so oft wie gewünscht ausführen (abhängig von den konfigurierten Einstellungen für die differentielle Privatsphäre). Um eine zuvor genehmigten Abfrage nach dem Aufruf von prepare_multiprovider_flow
mit neuen Werten erneut auszuführen, muss der Verbraucher prepare_multiprovider_flow
mit der genauen vorherigen Abfrage aufrufen, muss aber nicht auf die Genehmigung des Anbieters warten, bevor consumer.execute_multiprovider_flow
ausgeführt werden kann.
Die Anfrage ist vier Stunden lang gültig; danach wird sie aus der Warteschlange gelöscht.
Argumente:
cleanroom_names (String) - Array mit den Namen der Clean Rooms im Konto des Verbrauchers. Diese Clean Rooms müssen installiert sein.
template_name (String) - Name der Vorlage, die in jedem der unter
cleanroom_names
aufgeführten Clean Rooms ausgeführt werden soll. Dies kann eine von Snowflake bereitgestellte Vorlage sein, die vom Anbieter des Clean Rooms hinzugefügt wird, oder eine benutzerdefinierte Vorlage, die Sie zuvor durch den Aufruf vonconsumer.create_template_request
an den Clean Room übermittelt haben. In beiden Fällen muss die Vorlage bereits in einem Clean Room vorhanden sein, damit die Anfrage an den Anbieter des Clean Rooms übermittelt werden kann.arguments (Objekt) - Ein Objekt mit den folgenden Feldern, die zum Ausfüllen der Vorlage verwendet werden:
source_table
(String array) - Ein Array von Tabellennamen, die zum Auffüllen des Quelltabellen-Arrayssource_table
für die Vorlage verwendet werden. Die Syntax für jeden Tabellennamen istcleanroom_name.db.schema.table
. Jeder Anbieter sieht nur seine eigenen Clean Room-Tabellen, die in der Anfrage aufgeführt sind.my_table
(String Array) - Ein Array mit Tabellennamen Ihrer eigenen Daten, die zum Auffüllen des Arraysmy_table
verwendet werden, das für die Vorlage verfügbar ist. Verwenden Sie die gleiche Syntax, die an das Argumentconsumer_tables
vonconsumer.run_analysis
übergeben wird.Alle anderen Vorlagenvariablen - Übergeben Sie alle erforderlichen Werte für die Vorlage als Schlüssel-Wert-Paare.
Rückgabe: (string) Anfrage-ID zur Weitergabe an consumer.execute_multiprovider_flow
.
Beispiel:
CALL samooha_by_snowflake_local_db.consumer.prepare_multiprovider_flow(
[$cleanroom_name_1, $cleanroom_name_2],
'prod_aggregate_data',
object_construct(
'source_table', [
CONCAT($cleanroom_name_1, '.SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS'),
CONCAT($cleanroom_name_2, '.SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS')
],
'my_table', ['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']),
'hem_col', ['p1.HASHED_EMAIL', 'p2.HASHED_EMAIL'],
'dimensions', ['p1.STATUS', 'p2.STATUS'],
'consumer_join_col', 'HASHED_EMAIL'
)
);
execute_multiprovider_flow¶
- Schema:
CONSUMER
Beschreibung: Führt die letzte Abfrage aus, die der Verbraucher an consumer.prepare_multiprovider_flow
übermittelt hat. Die Prozedur führt die Abfrage in jedem angegebenen Clean Room aus, in dem die Abfrage vom Anbieter genehmigt wurde, und gibt die Vereinigung aller Abfrageergebnisse zurück. Nur mit dieser Prozedur können Sie feststellen, ob ein Anbieter eine Abfrage genehmigt hat.
Argumente:
cleanroom_names (String) - Array mit den Namen der Clean Rooms, in denen die vorbereitete Abfrage ausgeführt werden soll. Dieses Array muss mit der vollständigen Liste der Clean Rooms in der Abfrageanforderung übereinstimmen.
request_id (Zeichenfolge, optional) - Anfrage-ID, die von
prepare_multiprovider_flow
zurückgegeben wird.
Rückgabewerte: (Tabelle) Zusammenstellung der Ergebnisse aus allen genehmigten Clean Rooms. Wenn ein Anbieter eine Abfrage von diesem Verbraucher noch nie genehmigt hat, schlägt die Abfrage fehl. Wenn jedoch ein Anbieter eine andere Abfrage dieses Verbrauchers genehmigt hat, aber nicht die jüngste Abfrage, gibt die Prozedur ein leeres Resultset zurück.
Beispiel:
CALL samooha_by_snowflake_local_db.consumer.execute_multiprovider_flow(
[$cleanroom1, $cleanroom2],
$request_id);
Daten registrieren und abmelden¶
Verwenden Sie die folgenden Prozeduren, um Datenbanken, Schemas und Objekte zu registrieren oder 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. Weitere Informationen zur Registrierung von Daten finden Sie unter Daten registrieren.
register_db¶
- Schema:
CONSUMER
Beschreibung: Registrieren Sie eine Datenbank in einem Konto, um alle Objekte aus dieser Datenbank mit einem Clean Room in diesem Konto verknüpfen zu können. Für eine feiner abgestufte Steuerung können Sie stattdessen register_schema
, register_managed_access_schema
oder register_object
aufrufen. Objekte, die der Datenbank nach der Registrierung hinzugefügt werden, können möglicherweise nicht verknüpft werden. In diesem Fall sollten Sie die Datenbank neu registrieren (oder das Objekt selbst registrieren).
Sie benötigen die Berechtigung MANAGE GRANTS für die Datenbank, um diese Prozedur auszuführen.
Argumente:
db_name (String) - Name der Datenbank, die in diesem Konto registriert werden soll.
Rückgabe: (Zeichenfolge) Erfolgsmeldung.
Beispiel:
USE ROLE <ROLE_WITH_MANAGE GRANTS>;
CALL samooha_by_snowflake_local_db.consumer.register_db('SAMOOHA_SAMPLE_DATABASE');
register_schema¶
- Schema:
LIBRARY
Beschreibung: Registrieren Sie ein Schema in einem Konto, um alle Objekte aus diesem Schema mit einem Clean Room in diesem Konto verknüpfen zu können. Für eine feiner abgestufte Steuerung können Sie stattdessen register_object
aufrufen. Objekte, die dem Schema nach der Registrierung hinzugefügt werden, können möglicherweise nicht verknüpft werden. In diesem Fall sollten Sie das Schema neu registrieren (oder das Objekt selbst registrieren).
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
.
Argumente:
schema_names (Array von Strings) - Array mit vollständig qualifizierten Schemas, 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']);
register_managed_access_schema¶
- Schema:
LIBRARY
Beschreibung: Registrieren Sie ein verwaltetes Zugriffsschema in einem Konto, um alle Objekte aus diesem Schema mit einem Clean Room in diesem Konto verknüpfen zu können. Für eine feiner abgestufte Steuerung können Sie stattdessen register_object
aufrufen. Objekte, die dem Schema nach der Registrierung hinzugefügt werden, können möglicherweise nicht verknüpft werden. In diesem Fall sollten Sie das Schema neu registrieren (oder das Objekt selbst registrieren).
Argumente:
schema_names (Array von Strings) - Array mit vollständig qualifizierten verwalteten Schemas, die registriert werden sollen.
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']);
register_objects¶
- Schema:
LIBRARY
Beschreibung: Gewährt dem Clean Room Zugriff auf Tabellen und Ansichten aller Arten, sodass sie durch den Aufruf von consumer.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 consumer.register_db
aufrufen. Sie benötigen die Berechtigung MANAGE GRANTS für die Datenbank, um diese Prozedur auszuführen.
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']);
enable_external_tables_on_account¶
- Schema:
LIBRARY
Beschreibung: Aktivieren Sie die Verwendung von Iceberg- oder externen Tabellen in allen Clean Rooms in diesem Konto. Muss von einem ACCOUNTADMIN in sowohl dem Anbieter- als auch dem Verbraucherkonto aufgerufen werden, damit Iceberg- oder externe Tabellen über eines der beiden 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.
Argumente: Keine
Rückgabe: (Zeichenfolge) Erfolgsmeldung.
Beispiel:
USE ROLE ACCOUNTADMIN;
CALL samooha_by_snowflake_local_db.library.enable_external_tables_on_account();
enable_external_tables_for_cleanroom¶
- Schema:
CONSUMER
Beschreibung: Ermöglicht die Verknüpfung von Iceberg- oder externen Tabellen mit dem angegebenen Clean Room in diesem Konto durch den Verbraucher. Um Iceberg- und externe Tabellen für alle Clean Rooms in diesem Konto zuzulassen, rufen Sie stattdessen enable_external_tables_on_account
auf.
Argumente:
cleanroom_name (String) - 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);
unregister_db¶
- Schema:
LIBRARY
Beschreibung: Entfernt die Berechtigungen auf Datenbankebene, die der Rolle SAMOOHA_APP_ROLE und der nativen Snowflake Data Clean Room-Anwendung erteilt wurden. Alle Daten in dieser Datenbank, die mit einem Clean Room verknüpft sind, sind über dieses Konto nicht mehr zugänglich. Sie benötigen die Berechtigung MANAGE GRANTS für die Datenbank, um diese Prozedur auszuführen.
Argumente:
db_name (String) - 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');
unregister_schema¶
- Schema:
LIBRARY
Beschreibung: Hebt die Registrierung eines oder mehrerer Schemas auf, was Benutzer daran hindert, ihre Tabellen und Ansichten mit dem Clean Room zu verknüpfen.
Wenn Sie die Registrierung eines verwalteten Zugriffsschemas (d. h. eines Schemas, das mit dem Parameter WITH MANAGED ACCESS erstellt wurde) aufheben möchten, verwenden Sie stattdessen library.unregister_managed_access_schema
. Sie benötigen die Berechtigung MANAGE GRANTS für die Datenbank, um diese Prozedur auszuführen.
Argumente:
schema_names (Array von Strings) - Vollqualifizierte Namen von 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.PUBLIC', 'MY_DB.MY_SCH']);
unregister_managed_access_schema¶
- Schema:
LIBRARY
Beschreibung: Hebt die Registrierung eines oder mehrerer verwalteter Zugriffsschemas auf, wodurch Benutzer daran gehindert werden, ihre Tabellen und Ansichten mit dem Clean Room zu verknüpfen.
Argumente:
schema_names (Array von Strings) - Vollqualifizierte Namen von Schemas, deren Registrierung aufgehoben werden soll.
Rückgabe: (Zeichenfolge) Erfolgsmeldung.
Beispiel:
CALL samooha_by_snowflake_local_db.library.unregister_managed_access_schema(['SAMOOHA_SAMPLE_DATABASE.DEMO']);
unregister_objects¶
- Schema:
LIBRARY
Beschreibung: Widerruft den Clean Room-Zugriff auf Tabellen und Ansichten aller Art. Die Objekte sind für Benutzer in allen von diesem Konto verwalteten Clean Rooms nicht mehr verfügbar.
Argumente:
object_names (Array) - Array mit vollständig qualifizierten 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','MY_DB.MY_SCH.MY_VIEW']);
Verknüpfung und Aufhebung der Verknüpfung von Datensätzen¶
Sobald ein Datensatz registriert wurde, können Sie Tabellen oder Ansichten aus diesem Datenset mit einem bestimmten Clean Room verknüpfen. Sie können auch die Verknüpfung einer Tabelle oder Ansicht mit einem bestimmten Reinraum aufheben, um den Zugriff auf diese Daten aus dem Reinraum zu entfernen.
link_datasets¶
- Schema:
CONSUMER
Beschreibung: Verknüpft eine Tabelle oder eine Ansicht mit dem Clean Room, sodass Vorlagen in diesem Clean Room Zugriff auf die Tabelle haben, und zwar gemäß den von Ihnen festgelegten Join- und Spaltenrichtlinien.
Argumente:
cleanroom_name (String) - Name des Clean Rooms, mit dem die Daten verknüpft werden sollen.
full_tables (Array von Strings) - Liste der vollqualifizierten Namen der Tabellen oder Ansichten, die für den Clean Room freigegeben werden sollen. Diese Objekte müssen zunächst mit der entsprechenden Registrierungsmethode registriert (für die Clean Room-Umgebung verfügbar gemacht) werden.
Rückgabe: (Zeichenfolge) Erfolgsmeldung.
Beispiel:
CALL samooha_by_snowflake_local_db.consumer.link_datasets(
$cleanroom_name,
['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS', 'MY_DB.MY_SCH.EXPOSURES']);
unlink_datasets¶
- Schema:
CONSUMER
Beschreibung: Entfernt den Zugriff auf die angegebenen Tabellen oder Ansichten im angegebenen Clean Room für alle Benutzer. Dies funktioniert nur für Daten, die Sie mit dem Clean Room verknüpft haben.
Argumente:
cleanroom_name (String) - Name des Clean Rooms, für den der Zugang entfernt werden soll.
tables_list (Array von Strings) - Liste der vollqualifizierten Namen der Tabellen oder Ansichten, für die der Zugriff gesperrt werden soll.
Rückgabe: (Zeichenfolge) Erfolgsmeldung.
Beispiel:
CALL samooha_by_snowflake_local_db.consumer.unlink_datasets(
$cleanroom_name,
['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS', 'MYDB.MYSCH.EXPOSURES']);
view_consumer_datasets¶
- Schema:
CONSUMER
Beschreibung: Zeigt alle Tabellen und Ansichten an, die von einem beliebigen Verbraucher mit dem angegebenen Clean Room verknüpft wurden.
Argumente:
cleanroom_name (String) - Name des Clean Rooms.
Rückgabe: Tabelle der Objekte, die mit dem angegebenen Reinraum verknüpft sind, zusammen mit dem Namen der internen Ansicht des Reinraums für jedes Objekt.
Beispiel:
CALL samooha_by_snowflake_local_db.consumer.view_consumer_datasets($cleanroom_name);
Verwalten und Anzeigen von Richtlinien¶
Verwalten Sie die Richtlinien für Ihre Daten in einem Clean Room, den Sie installiert haben.
set_join_policy¶
- Schema:
CONSUMER
Beschreibung: Gibt an, auf welche Spalten der Anbieter zugreifen darf, wenn er Vorlagen im Clean Room ausführt und wenn er eine vom Anbieter ausgeführte Analyse verwendet. Beachten Sie, dass die Spaltenrichtlinie nur ersetzen lautet. Wenn die Funktion also erneut aufgerufen wird, wird die zuvor festgelegte Spaltenrichtlinie vollständig durch die aktuelle ersetzt. Wenn Sie keine Verknüpfungsrichtlinie für Ihre Daten angeben, können alle Spalten verknüpft werden.
Abfragen mit Platzhaltern könnten eine Verknüpfungsrichtlinie umgehen, Sie sollten also beim Entwurf Ihrer Analysevorlage sorgfältig vorgehen.
Argumente:
cleanroom_name (String) - Name des Clean Rooms, für den die Verknüpfungsrichtlinie angewendet werden soll.
table_col_names (String Array) – Vollqualifizierte Namen von Spalten, die verknüpft werden können, im Format
Datenbankname.Schemaname:Spaltenname
Rückgabe: (Zeichenfolge) Erfolgsmeldung.
Beispiel:
CALL samooha_by_snowflake_local_db.consumer.set_join_policy(
$cleanroom_name,
['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:HASHED_EMAIL', 'MYDB.MYSCH.EXPOSURES:HASHED_EMAIL']);
view_join_policy¶
- Schema:
CONSUMER
Beschreibung: Legt fest, welche Spalten Benutzer in einem Clean Room sicher verknüpfen können. Dies wird vom Verbraucher für Verbraucher-Datensets festgelegt.
Argumente:
cleanroom_name (String)
Rückgabe: Die Verknüpfungsrichtlinie (Tabelle)
Beispiel:
CALL samooha_by_snowflake_local_db.consumer.view_join_policy($cleanroom_name);
view_provider_join_policy¶
- Schema:
CONSUMER
Beschreibung: Legt fest, welche Spalten Benutzer in einem Clean Room sicher verknüpfen können. Dies wird vom Anbieter für Anbieter-Datensets festgelegt.
Argumente:
cleanroom_name (String)
Rückgabe: Die Verknüpfungsrichtlinie (Tabelle)
Beispiel:
CALL samooha_by_snowflake_local_db.consumer.view_provider_join_policy($cleanroom_name);
set_column_policy¶
- Schema:
CONSUMER
Beschreibung: Legt fest, auf welche Spalten die Verbraucherdaten projiziert werden können. Die Spaltenrichtlinie wird auf eine Vorlage in einem Clean Room angewendet. Die Spaltenrichtlinie lautet nur ersetzen. Wenn die Funktion also erneut aufgerufen wird, wird die zuvor festgelegte Spaltenrichtlinie vollständig durch die aktuelle ersetzt. Wenn Sie keine Spaltenrichtlinie angeben, können alle Spalten projiziert werden.
Legen Sie keine Spaltenrichtlinie für Identitätsspalten oder sensible Spalten wie E-Mail fest, da Sie im Allgemeinen nicht möchten, dass diese Art von Daten projiziert wird.
Abfragen mit Platzhaltern werden von diesen Prüfungen möglicherweise nicht erfasst, Sie sollten also beim Entwurf der Analysevorlage Vorsicht walten lassen.
Argumente:
cleanroom_name (String) - Name des Clean Rooms, in dem die Spaltenrichtlinie angewendet wird.
analysis_table_cols(String Array) - Vollqualifizierte Namen von Spalten, die projiziert werden können, im Format
Datenbankname.Schemaname:Spaltenname
Rückgabe: (Zeichenfolge) Erfolgsmeldung.
Beispiel:
CALL samooha_by_snowflake_local_db.consumer.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'
]
);
view_column_policy¶
- Schema:
CONSUMER
Beschreibung: Zeigt alle Verbraucher-Spaltenrichtlinien im angegebenen Clean Room an. Um alle vom Anbieter festgelegten Spaltenrichtlinien anzuzeigen, rufen Sie consumer.view_provider_column_policy
auf.
Argumente:
cleanroom_name (String) - Name des zu beschreibenden Clean Rooms.
Rückgabe: (Tabelle) Informationen zu allen Verbraucher-Spaltenrichtlinien im Clean Room.
Beispiel:
CALL samooha_by_snowflake_local_db.consumer.view_column_policy($cleanroom_name);
view_provider_column_policy¶
- Schema:
CONSUMER
Beschreibung: Zeigt alle Spaltenrichtlinien an, die vom Anbieter auf den Clean Room angewendet wurden.
Argumente:
cleanroom_name (String)
Rückgabe: Die Spaltenrichtlinie (Tabelle)
Beispiel:
CALL samooha_by_snowflake_local_db.consumer.view_provider_column_policy($cleanroom_name);
Vorlagen¶
Die folgenden Verfahren ermöglichen es Benutzern, mit Vorlagen im Clean Room zu arbeiten.
view_template_definition¶
- Schema:
CONSUMER
Beschreibung: Zeigen Sie die Rohdaten-JinjaSQL der angegebenen Vorlage an. Wenn eine Vorlage durch Anwenden des Arguments is_obfuscated
verborgen wurde, können Sie den Quellcode der Vorlage nicht sehen.
Argumente:
cleanroom_name (String) - Name des Clean Rooms, der die Vorlage enthält.
template_name (String) - Name der anzuzeigenden Vorlage.
Rückgabe: (String) Die Definition der Vorlage.
Beispiel:
CALL samooha_by_snowflake_local_db.consumer.view_template_definition(
$cleanroom_name,
'prod_overlap_analysis');
get_arguments_from_template¶
- Schema:
CONSUMER
Beschreibung: Ruft eine Liste der von der Vorlage verwendeten Argumente ab. Sie können Werte für diese Argumente an die Vorlage übergeben, wenn Sie consumer.run_analysis
aufrufen.
Argumente:
cleanroom_name (String) - Name des Clean Rooms, der die Vorlage hat.
template_name (string) - Name der Vorlage, für die Argumente zurückgegeben werden sollen.
Rückgabe: (Tabelle) Argumentenliste und Spezifikation.
Beispiel:
CALL samooha_by_snowflake_local_db.consumer.get_arguments_from_template(
$cleanroom_name,
'prod_overlap_analysis');
Vorlagenketten¶
Die folgenden Verfahren ermöglichen es Benutzern, mit Vorlagenketten im Clean Room zu arbeiten.
view_added_template_chains¶
- Schema:
CONSUMER
Beschreibung: Listet alle in einem bestimmten Clean Room definierten Vorlagenketten auf.
Argumente:
cleanroom_name (String) - Name des Clean Rooms, für den die Vorlagenketten aufgelistet werden sollen.
Rückgabe: (Tabelle) Informationen über alle Vorlagenketten im angegebenen Clean Room.
Beispiel:
CALL samooha_by_snowflake_local_db.consumer.view_added_template_chains(
$cleanroom_name);
view_template_chain_definition¶
- Schema:
CONSUMER
Beschreibung: Gibt die Attribute einer angegebenen Vorlagenkette zurück.
Argumente:
cleanroom_name (String) - Name des Clean Rooms mit der zu beschreibenden Vorlagenkette.
template_chain_name (String) - Name der zu beschreibenden Vorlagenkette.
Rückgabe: (String) Die Definition der angegebenen Vorlagenkette.
Beispiel:
CALL samooha_by_snowflake_local_db.consumer.view_template_chain_definition(
$cleanroom_name,
'insights_chain');
Analysen durchführen¶
Die folgende Prozedur führt eine Analyse oder Aktivierung auf der Grundlage der angegebenen Vorlage aus.
run_analysis¶
- Schema:
CONSUMER
Beschreibung: Führt eine Analyse anhand einer Vorlage oder Vorlagenkette aus und gibt die Ergebnistabelle zurück.
Wichtig
Wenn differentielle Privatsphäre aktiviert ist, kann die Abfrage fehlschlagen, wenn Sie Ihr Budgetlimit für diese Vorlage erreicht haben.
Wenn eine Vorlage durch Anwendung des Arguments
is_obfuscated
unkenntlich gemacht wurde, müssen Sie Snowflake Enterprise Edition oder höher verwenden, um die Vorlage ausführen zu können.
Argumente:
cleanroom_name (String) - Name des Reinraums, in dem die Analyse ausgeführt werden soll.
template_name (String) - Name der Vorlage oder Vorlagenkette, die im Clean Room ausgeführt werden soll. Diese Vorlage muss vom Anbieter oder Verbraucher zum Clean Room hinzugefügt worden sein.
consumer_tables (Array von Strings) - Array mit den vollständig qualifizierten Namen der Verbrauchertabellen. Diese werden der Vorlagenvariable
my_table
zugewiesen. Diese Tabellen müssen bereits mit dem Reinraum verknüpft sein. Zeigen Sie die verfügbaren Tabellen an, indem Sieconsumer.view_consumer_datasets
aufrufen.provider_tables (Array von Strings) - Array mit den vollständig qualifizierten Namen der Anbietertabellen. Diese werden der Vorlagenvariable
source_table
zugewiesen. Diese Tabellen müssen mit dem Clean Room verknüpft worden sein. Zeigen Sie die verfügbaren Tabellen an, indem Sieconsumer.view_provider_datasets
aufrufen.analysis_arguments (Objekt) - Ein Objekt mit Schlüssel/Wert-Paaren, das an die Vorlage übergeben wird. Die Vorlage kann über den Schlüsselnamen auf die Variable zugreifen. Wenn Sie
{'age': 20}
übergeben, greift die Vorlage als{{age}}
auf den Wert zu. Geben Sie ein leeres Objekt ein, wenn keine Werte benötigt werden. Um zu sehen, welche Werte benötigt werden, untersuchen Sie die betreffende Vorlage, indem Sieconsumer.view_template_definition
aufrufen. Prüfen Sie die Vorlage, um festzustellen, ob Sie die verwendeten Spaltennamen vollständig qualifizieren müssen. Wenn die Tabelle mit Aliasp
oderc
in der Vorlage zugeordnet wurde, verwenden Sie die Kleinbuchstabenp
undc
als Tabellenaliasse für Spaltennamen.Dieses Objekt hat einen optionalen reservierten Wert:
epsilon
(Float, optional) – Gibt den Epsilon-Wert für differentielle Privatsphäre an, wenn die differentielle Privatsphäre für diesen Reinraum aktiviert ist. Der Standardwert ist 0.1.
use_cache (Boolean, optional) – Ob zwischengespeicherte Ergebnisse für dieselbe Abfrage verwendet werden sollen oder nicht. Der Standardwert ist FALSE.
Ergebnisse: (Tabelle) Abfrageergebnisse.
Beispiel:
CALL samooha_by_snowflake_local_db.consumer.run_analysis(
$cleanroom_name,
'prod_overlap_analysis',
['DB1.MYDATA.CONVERSIONS'], -- Consumer tables
['MYDB.MYSCH.EXPOSURES'], -- Provider tables
object_construct(
'max_age', 30
)
);
Aktivierung¶
Die folgenden Prozeduren verwalten die Aktivierungoder das Speichern von Ergebnissen auf dem Snowflake-Konto eines Verbrauchers oder Anbieters. Sie können Daten für Konten von Drittanbietern nicht über die API aktivieren.
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();
set_activation_policy¶
- Schema:
CONSUMER
Beschreibung: Legt fest, welche Spalten innerhalb einer Aktivierungsvorlage verwendet werden können. Dadurch wird sichergestellt, dass nur die Spalten, die vom Verbraucher genehmigt wurden, mit der Aktivierungsvorlage verwendet werden können. Wenn Sie keine Aktivierungsrichtlinie definieren, können keine Spalten Ihrer Daten aktiviert werden. Das Festlegen einer Aktivierungsrichtlinie überschreibt alle vorhandenen Aktivierungsrichtlinien für Ihr Konto.
Argumente:
cleanroom_name (String) - Name des Clean Rooms, in dem die Aktivierungsrichtlinie festgelegt werden soll.
columns (Array) - Name der Spalten Ihrer eigenen Daten, die aktiviert werden können, im Format
Vorlagenname:Datenbankname.Schemaname.Tabellenname:Spaltenname
.
Rückgabe: (Zeichenfolge) Erfolgsmeldung.
Beispiel:
CALL samooha_by_snowflake_local_db.consumer.set_activation_policy(
$cleanroom_name,
[
'prod_overlap_analysis:SAMOOHA_SAMPLE_DATABASE_NAME.DEMO.CUSTOMERS:HASHED_EMAIL',
'prod_overlap_analysis:SAMOOHA_SAMPLE_DATABASE_NAME.DEMO.CUSTOMERS:REGION_CODE' ]);
approve_provider_activation_consent¶
- Schema:
CONSUMER
Beschreibung: Genehmigt die Anfrage des Anbieters, die Anbieteraktivierung zuzulassen, d. h. die Möglichkeit, Ergebnisse an das Snowflake-Konto des Anbieters zu senden.
Argumente:
cleanroom_name (String) - Name des Clean Rooms, in dem der Anbieter die Ausführung einer Vorlage anfragt.
activation_template_name (String) - Name der Aktivierungsvorlage, die der Anbieter ausführen möchte.
Rückgabe: (String) Erfolgsmeldung. Diese Prozedur schlägt fehl, wenn der Anbieter provider.request_provider_activation_consent
nicht in diesem Clean Room mit der angegebenen Vorlage aufgerufen hat.
Beispiel:
CALL samooha_by_snowflake_local_db.consumer.approve_provider_activation_consent(
$cleanroom_name,
'activation_my_template');
run_activation¶
- Schema:
CONSUMER
Beschreibung: Führt eine Vorlage aus, die die Ergebnisse an das Snowflake-Konto des Verbrauchers oder Anbieters zurückschickt. Das Argument consumer_direct_activation
bestimmt, ob es sich um eine Verbraucher- oder Anbieteraktivierung handelt.
Argumente:
cleanroom_name (String) - Name des Clean Rooms, in dem die Aktivierung ausgeführt werden soll.
segment_name (String) - Beliebige Zeichenfolge, die zur Kennzeichnung von Zeilen verwendet wird, die durch diesen Aktivierungslauf generiert werden. Jeder Aktivierungslauf fügt neue Zeilen zu einer bestehenden Ergebnistabelle hinzu. Geben Sie in diesem Feld jedes Mal eine eindeutige Zeichenfolge ein, wenn Sie diese Prozedur aufrufen, um die Ergebnisse nach einer bestimmten Ausführung filtern zu können.
template_name (string) - Name der aufzurufenden Aktivierungsvorlage.
consumer_tables (Aray von Strings) - Array mit vollständig qualifizierten Namen von Verbrauchertabellen, die an die Vorlage übergeben werden.
provider_tables (Array von Strings) - Array mit vollständig qualifizierten Anbietertabellennamen, die an die Vorlage übergeben werden.
activation_arguments (Objekt) - Schlüssel-Wert-Satz von Argumenten, die an die Vorlage übergeben werden.
consumer_direct_activation (Boolean, optional) - TRUE um Ergebnisse an das Konto des Verbrauchers zurückzuschicken, FALSE um die Ergebnisse an den Anbieter zu senden. Standardwert ist FALSE.
Rückgabe: (Zeichenfolge) Erfolgsmeldung.
Beispiel:
-- Run a consumer activation, as specified by the final TRUE argument.
SET segment_name = 'my_activation_segment';
CALL samooha_by_snowflake_local_db.consumer.run_activation(
$cleanroom_name,
$segment_name,
$template_name,
['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS'],
['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS'],
object_construct(
'c_join_col', 'c.hashed_email',
'p_join_col', 'p.hashed_email'
),
TRUE);
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 Aktivierung des Anbieters.
Argumente:
cleanroom_name (String) - Name des Clean Rooms, in dem die Aktivierung angefragt wurde. Sie müssen ein Anbieter oder Verbraucher in diesem Clean Room sein.
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);
Verbraucherdefinierte Vorlagen¶
Mit den folgenden APIs können Sie verbraucherdefinierte Vorlagen zu einem Reinraum hinzufügen. Weitere Informationen finden Sie unter Von Verbrauchern geschriebene Vorlagen.
create_template_request¶
- Schema:
CONSUMER
Beschreibung: Sendet eine Anfrage an den Anbieter eines Clean Rooms mit der Bitte, eine benutzerdefinierte Vorlage zu genehmigen, damit sie dem Clean Room hinzugefügt werden kann. Siehe Von Verbrauchern geschriebene kundenspezifische Vorlagen.
Argumente:
cleanroom_name (String) - Name des Clean Rooms, in dem die Vorlage hinzugefügt wird.
template_name (String) - Name der Vorlage, die hinzugefügt werden soll. Müssen alle Kleinbuchstaben, Zahlen, Leerzeichen oder Unterstriche sein. Namen von Aktivierungsvorlagen müssen mit „activation“ beginnen.
template_definition (String) - Die JinjaSQL-Vorlage. Erfahren Sie mehr über die Syntax der Vorlage.
Rückgabe: (Zeichenfolge) Erfolgsmeldung.
Beispiel:
CALL samooha_by_snowflake_local_db.consumer.create_template_request(
$cleanroom_name,
$template_name,
$$
SELECT
identifier({{ dimensions[0] | column_policy }})
FROM
identifier({{ my_table[0] }}) c
INNER JOIN
identifier({{ source_table[0] }}) p
ON
c.identifier({{ consumer_id }}) = identifier({{ provider_id | join_policy }})
{% if where_clause %} where {{ where_clause | sqlsafe | join_and_column_policy }} {% endif %};
$$);
get_sql_jinja¶
- Schema:
CONSUMER
Beschreibung: Wertet eine JinjaSQL-Vorlage zu einer SQL-Anweisung aus. Diese Prozedur wird verwendet, wenn Sie benutzerdefinierte Vorlagen entwickeln, um zu sehen, wie die Vorlage nach der Verarbeitung mit einem bestimmten Satz von Parametern gerendert wird.
Diese Prozedur kann nur Standard-JinjaSQL-Anweisungen verarbeiten; sie kann keine Clean Room-Erweiterungen in JinjaSQL wie join_policy
oder column_policy
verarbeiten.
Argumente:
template_string (String) - Der JinjaSQL-Code, der verarbeitet werden soll. Nur Standard-JinjaSQL wird unterstützt.
arguments (Objekt) - Ein Objekt, bei dem Feldnamen den Variablen entsprechen, die in der Vorlage verwendet werden.
Rückgabe: (Zeichenfolge) Die SQL-Anweisung, die von der übermittelten Vorlage mit den angegebenen Variablenwerten erzeugt wurde.
Beispiel:
CALL samooha_by_snowflake_local_db.consumer.get_sql_jinja(
$$
SELECT COUNT(*), IDENTIFIER({{ group_by_col }})
FROM IDENTIFIER({{ my_table | sqlsafe }})
INNER JOIN IDENTIFIER({{ source_table | sqlsafe }})
ON IDENTIFIER({{ consumer_join_col }}) = IDENTIFIER({{ provider_join_col }})
GROUP BY IDENTIFIER({{ group_by_col }});
$$,
object_construct(
'group_by_col', 'city',
'consumer_join_col', 'hashed_email',
'provider_join_col', 'hashed_email',
'my_table', 'mydb.mysch.t1',
'source_table', 'mydb.mysch.t2'));
Antwort:
SELECT COUNT(*), IDENTIFIER('city')
FROM IDENTIFIER(mydb.mysch.t1)
INNER JOIN IDENTIFIER(mydb.mysch.t2)
ON IDENTIFIER('hashed_email') = IDENTIFIER('hashed_email')
GROUP BY IDENTIFIER('city');
generate_python_request_template¶
- Schema:
CONSUMER
Beschreibung: Erzeugt eine Reinraumvorlage für Verbraucher, die benutzerdefinierten Python-Code enthält. Die generierte Vorlage enthält Ihren Python-Code und einen Platzhalter für Ihre JinjaSQL-Vorlage. Übergeben Sie Ihre endgültige Vorlage an consumer.create_template_request
.
Weitere Informationen zu verbraucherdefinierten Vorlagen finden Sie unter Von Verbrauchern geschriebene kundenspezifische Vorlagen.
Argumente:
function_name (String) - Der Funktionsname, der von einer Vorlage verwendet wird, um Ihre Funktion aufzurufen.
arguments (Array von String-Paaren) - Ein Array von Argumenten, die von der Funktion
function_name
benötigt werden. Jedes Element ist ein durch Leerzeichen getrenntes Paar, das den Namen des Arguments und seinen Snowflake-SQL-Datentyp angibt. Beispiel:['size INT', 'start_date DATE']
.packages (Array von Strings) - Array mit Paketnamen, die für Ihren Python-Code benötigt werden. Wenn nicht, geben Sie ein leeres Array an. Siehe die vollständige Liste der unterstützten Pakete.. Beispiel:
['pandas','numpy']
.imports - [Nicht unterstützt: Bitte nicht verwenden]
rettype (String) - Der Snowflake SQL-Rückgabetyp Ihrer Funktion. Beispiele: INTEGER, VARCHAR.
handler (String) - Der Name der Haupthandler-Funktion in Ihrem Python-Code. In der Regel ist dies
'main'
.code (String) - Ihre Python-Code-Implementierung. Wenn Sie einen Import einschließen und Ihr designierter Handler innerhalb eines Imports definiert ist, kann dies eine leere Zeichenfolge sein.
Rückgaben: (String) Gibt Ihre Python-UDF mit einem Platzhalter für Ihre JinjaSQL-Vorlage zurück. Sie müssen verschachtelte $$- oder einfache Anführungszeichen (‘) korrekt mit Escapezeichen versehen, bevor Sie Ihre Vorlagenzeichenfolge an consumer.create_template_request
übergeben. Lesen Sie Vom Verbraucher übermittelter Code.
Beispiel:
Rufen Sie die Hilfsfunktion mit einem einfachen Python-Beispiel auf:
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.CONSUMER.GENERATE_PYTHON_REQUEST_TEMPLATE(
'my_func', -- SQL should use this name to call your function.
['data VARIANT', 'index INTEGER'], -- Arguments and types for the function.
['pandas', 'numpy'], -- Standard libraries used.
[], -- Reserved.
'INTEGER', -- SQL return type.
'main', -- Standard 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)
$$
);
Das folgende Beispiel zeigt den generierten Code. Ersetzen Sie<INSERT SQL TEMPLATE HERE>
durch Ihren Vorlagen-JinjaSQL-Code.
BEGIN
-- First define the Python UDF
CREATE OR REPLACE FUNCTION CLEANROOM.my_func(data VARIANT, index INTEGER)
RETURNS INTEGER
LANGUAGE PYTHON
RUNTIME_VERSION = 3.10
PACKAGES = ('pandas', 'numpy')
HANDLER = 'main'
AS $$
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)
$$;
-- Then define and run the SQL query
LET SQL_TEXT varchar := $$<INSERT SQL TEMPLATE HERE>$$;
-- Run the query and return the result
LET RES resultset := (EXECUTE IMMEDIATE :SQL_TEXT);
RETURN TABLE(RES);
END;
list_template_requests¶
- Schema:
CONSUMER
Beschreibung: Zeigt alle Anfragen, die der Verbraucher gestellt hat, um eine Vorlage zu einem Clean Room hinzuzufügen.
Argumente:
cleanroom_name (String) - Der Clean Room, für den Vorlagenanfragen aufgelistet werden sollen.
Rückgabe: Eine Tabelle mit den folgenden Spalten:
request_id
- ID der Anfrage, die vom Clean Room-System generiert wird.provider_identifier
- Konto-Locator des Anbieterkontos.template_name
- Name der Vorlage, den der Verbraucher in der Anfrage angegeben hat.template_definition
- Quellcode der Vorlage, die der Verbraucher zum Clean Room hinzugefügt haben wollte.request_status
- Status der Anfrage: PENDING, APPROVED oder REJECTED.reason
- Wenn der Status der Anfrage REJECTEDist, sollte der Anbieter hier einen Grund für die Ablehnung angeben.
Beispiel:
CALL samooha_by_snowflake_local_db.consumer.list_template_requests($cleanroom_name);
Getter-Methoden für Reinraum-Metadaten¶
Die folgenden Methoden zeigen relevante Eigenschaften des Reinraums:
describe_cleanroom¶
- Schema:
CONSUMER
Beschreibung: Bietet eine Zusammenfassung der wichtigsten Informationen über den angegebenen Clean Room, einschließlich Vorlagen, Datensets und Richtlinien. Wenn eine Vorlage verborgen wurde durch Anwendung des Arguments is_obfuscated
, müssen Sie Snowflake Enterprise Edition oder höher verwenden, um den Namen der Vorlage sehen zu können.
Argumente:
cleanroom_name (String) - Name des zu beschreibenden Clean Rooms.
Rückgabe: (String) Beschreibung des Clean Rooms.
Beispiel:
CALL samooha_by_snowflake_local_db.consumer.describe_cleanroom($cleanroom_name);
view_provider_datasets¶
- Schema:
CONSUMER
Beschreibung: Listet alle Datensets auf, die der Anbieter dem Clean Room hinzugefügt hat.
Argumente:
cleanroom_name (String) - Name des Clean Rooms.
Rückgabe: (Tabelle) Eine Tabelle mit den vom Anbieter hinzugefügten Datensets. Verwenden Sie den hier zurückgegebenen Tabellennamen in Ihren Abfragen.
Beispiel:
CALL samooha_by_snowflake_local_db.consumer.view_provider_datasets($cleanroom_name);
view_added_templates¶
- Schema:
CONSUMER
Beschreibung: Listet alle Vorlagen im Clean Room auf. Wenn eine Vorlage verborgen wurde durch Anwendung des Arguments is_obfuscated
, müssen Sie Snowflake Enterprise Edition oder höher verwenden, um den die Vorlage sehen zu können.
Argumente:
cleanroom_name (String) - Name des Clean Rooms.
Rückgabe: Eine Liste der Vorlagen in diesem Clean Room und der jeweilige Quellcode (es sei denn, die Vorlage wurde vom Anbieter verborgen).
Beispiel:
CALL samooha_by_snowflake_local_db.consumer.view_added_templates($cleanroom_name);
is_consumer_run_enabled¶
- Schema:
LIBRARY
Beschreibung: Prüft, ob die Verbraucheranalyse für den angegebenen Clean Room aktiviert ist. Diese ist standardmäßig aktiviert, aber ein Anbieter von Clean Rooms kann dies deaktivieren.
Argumente:
cleanroom_name (String) - Name des Clean Rooms.
Rückgabe: (String) Ob in diesem Clean Room Verbraucheranalysen zugelassen sind oder nicht.
Beispiel:
CALL samooha_by_snowflake_local_db.library.is_consumer_run_enabled($cleanroom_name);
view_cleanrooms¶
- Schema:
CONSUMER
Beschreibung: Listet alle Clean Rooms auf, die mit diesem Konto verknüpft (installiert) sind oder verknüpft werden können. Um nur installierte Clean Rooms anzuzeigen, führen Sie consumer.view_installed_cleanrooms
aus. Um die von diesem Konto erstellten Clean Rooms anzuzeigen, rufen Sie provider.view_cleanrooms
auf.
Argumente: Keine
Rückgabe: (Tabelle) Alle installierten oder eingeladenen Clean Rooms für dieses Konto.
Beispiel:
CALL samooha_by_snowflake_local_db.consumer.view_cleanrooms();
view_installed_cleanrooms¶
- Schema:
CONSUMER
Beschreibung: Listet alle Clean Rooms auf, die in diesem Konto installiert (damit verknüpft) sind. Um sowohl verknüpfte als auch nicht verknüpfte Clean Rooms anzuzeigen, rufen Sie consumer.view_cleanrooms
auf. Um alle von diesem Konto erstellten Clean Rooms anzuzeigen, rufen Sie provider.view_cleanrooms
auf.
Argumente: Keine
Rückgabe: (Tabelle) Die in diesem Konto installierten Clean Rooms.
Beispiel:
CALL samooha_by_snowflake_local_db.consumer.view_installed_cleanrooms();
Differential Privacy¶
Diese Prozeduren steuern Differential Privacy (differentielle Privatsphäre) im Clean Room. Sie können auch eine differentielle Privatsphäre auf Vorlagenebene festlegen, wenn Sie consumer.enable_templates_for_provider_run
aufrufen.
is_dp_enabled¶
- Schema:
CONSUMER
Beschreibung: Prüft, ob die differentielle Privatsphäre im Clean Room aktiviert ist. Der Clean Room muss installiert sein, um diesen Wert zu überprüfen.
Argumente:
cleanroom_name (String)
Rückgabe: (Boolean) Ob für den Clean Room die differentielle Privatsphäre aktiviert ist oder nicht.
Beispiel:
CALL samooha_by_snowflake_local_db.consumer.is_dp_enabled($cleanroom_name);
view_remaining_privacy_budget¶
- Schema:
CONSUMER
Beschreibung: Zeigt das verbleibende Datenschutzbudget an, das für Abfragen aus dem Clean Room verwendet werden kann. Nachdem das Budget aufgebraucht ist, sind weitere Aufrufe für run_analysis
erst wieder erlaubt, wenn das Budget zurückgesetzt wurde. Das Budget wird täglich neu festgelegt.
Argumente:
cleanroom_name (String) Name des Clean Rooms. Der Clean Room muss installiert sein, damit diese Prozedur erfolgreich ist.
Rückgabe: (Gleitkommazahl) Das verbleibende Datenschutzbudget.
Beispiel:
CALL samooha_by_snowflake_local_db.consumer.view_remaining_privacy_budget($cleanroom_name);
set_privacy_settings¶
- Schema:
CONSUMER
Beschreibung: Legt die Datenschutzeinstellungen für vom Anbieter durchgeführte Analysen (einschließlich der Aktivierung) fest, die benutzerdefinierte Vorlagen verwenden. Überschreibt alle zuvor eingestellten Werte. Bei jedem Aufruf dieser Methode werden alle vorherigen Konfigurationseinstellungen gelöscht.
Argumente:
cleanroom_name (String) - Name des Clean Rooms, in dem diese Einstellungen angewendet werden sollen.
privacy_settings (string) - Ein Zeichenfolgen-JSON-Objekt, das die Datenschutzeinstellungen angibt, wenn benutzerdefinierte Vorlagen von einem Anbieter ausgeführt werden. Hier ist die Syntax des Objekts:
'{ "null" : <template_config> }'
template_config
ist ein Objekt mit Einstellungen für differentielle Privatsphäre und Aggregation. Unter Verfügbare Datenschutzeinstellungen erfahren Sie, welche Felder Sie in diesem Objekt bereitstellen können.
Beispiel:
-- Apply differential privacy for provider-run analysis using all custom templates.
CALL samooha_by_snowflake_local_db.consumer.set_privacy_settings(
$cleanroom_name,
PARSE_JSON('{
"null":{ "differential": 1, "epsilon": 0.1, "privacy_budget": 3 }
}')
);
Rückgabe: (Zeichenfolge) Erfolgsmeldung.
Snowpark Container Services-Prozeduren¶
Weitere Informationen über die Verwendung von Snowpark Container Services in Ihren Clean Rooms.
start_or_update_service¶
- Schema:
CONSUMER
Beschreibung: Erstellt und startet die neueste Version von Snowpark Container Services, die vom Anbieter in diesem Clean Room definiert wurde. Jedes Mal, wenn der Anbieter provider.load_service_into_cleanroom
aufruft, um einen Container zu erstellen oder zu aktualisieren, muss der Verbraucher aufrufen consumer.start_or_update_service
aufrufen, um den Service zu aktualisieren.
Der Verbraucher muss den Pool definieren und starten, bevor er diese Prozedur aufruft.
Argumente:
cleanroom_name (String) - Name des Clean Rooms, in den das Skript geladen werden soll.
compute_pool_name (String) - Der Name eines Computepools, der vom Verbraucher in diesem Clean Room definiert wird. Der Pool muss bereits erstellt sein, und der Clean Room muss über Berechtigungen für den Zugriff auf den Pool verfügen.
service_options (Objekt, optional) - Ein Objekt, das Parameter für diesen Dienst angibt. Die folgenden Eigenschaften werden unterstützt:
query_warehouse
- (String, optional) Name des Warehouses, das für diesen Service verwendet werden soll. Muss nicht dasselbe Warehouse sein wie das, in dem der Clean Room ausgeführt wird.min_instances
- (Ganzzahl, optional) Mindestanzahl der Instanzen, die für diesen Dienst verwendet werden sollen.max_instances
- (Ganzzahl, optional) Höchstanzahl der Instanzen, die für diesen Dienst verwendet werden sollen.
Rückgabe: (Tabelle) Ergebnisse des Ladevorgangs, falls erfolgreich. Gibt einen Fehler aus, wenn er nicht erfolgreich ist.
Beispiel:
CALL samooha_by_snowflake_local_db.consumer.start_or_update_service(
$cleanroom_name,
'dcr_lal_pool',
object_construct(
'query_warehouse', 'app_wh',
'min_instances', '1',
'max_instances', '1'
));
Umgebungsmanagement¶
Verwenden Sie die folgenden Methoden, um die allgemeine Funktionalität des Reinraums zu unterstützen.
set_cleanroom_ui_accessibility¶
- Schema:
CONSUMER
Beschreibung: Zeigt oder verbirgt Clean Rooms in der Clean Rooms-UI für Verbraucher im aktuellen Konto.
Argumente:
cleanroom_name (String) - Der Name des Clean Rooms.
visibility_status(String) - Einer der folgenden Werte (Groß- und Kleinschreibung beachten):
HIDDEN – Verbirgt den angegebenen Clean Room in der Clean Room-UI vor allen Benutzern des aktuellen Verbraucherkontos. Der Clean Room ist weiterhin über API-Aufrufe erreichbar.
EDITABLE – Macht den Clean Room in der Clean Room-UI sichtbar.
Rückgabe: (Zeichenfolge) Erfolgsmeldung.
Beispiel:
CALL samooha_by_snowflake_local_db.consumer.set_cleanroom_ui_accessibility(
$cleanroom_name,
'HIDDEN');
manage_datastats_task_on_account¶
- Schema:
CONSUMER
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.
Wichtig
Um diese Aufgabe zu verwalten, müssen alle Teilnehmer die entsprechende Anbieter
- oder Verbraucher
-Version dieser Prozedur mit dem gleichen Wert aufrufen.
Argumente:
enable (Boolean) - TRUE um die Aufgabe zu aktivieren, FALSE um die Aufgabe zu deaktivieren.
Rückgabe: (Zeichenfolge) Erfolgsmeldung.
Beispiel:
-- Disable the task in this account.
CALL samooha_by_snowflake_local_db.consumer.manage_datastats_task_on_account(FALSE);
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 lautet 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: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
CALL samooha_by_snowflake_local_db.library.enable_local_db_auto_upgrades();
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: (string) Erfolgs- oder Fehlermeldung.
Beispiel:
CALL samooha_by_snowflake_local_db.library.disable_local_db_auto_upgrades();
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 in 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();
patch_cleanroom¶
- Schema:
CONSUMER
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 (String) : Name des Clean Rooms, für den der Patch gilt.
Rückgabe: (Zeichenfolge) Erfolgsmeldung.
Beispiel:
CALL samooha_by_snowflake_local_db.consumer.patch_cleanroom($cleanroom_name);
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();
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.
register_table_or_view – Veraltet¶
- Schema:
LIBRARY
Achtung
Diese Prozedur ist veraltet. Verwenden Sie bitte library.register_objects.
Beschreibung: Registriert Tabellen und Ansichten aller Art.
Argumente: object_names (array), is_view (boolean), is_iceberg (boolean), is_external (boolean), is_under_managed_access_schema (boolean)
Rückgabe: (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);
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);
register_table – Veraltet¶
- Schema:
LIBRARY
Achtung
Diese Prozedur ist veraltet. Verwenden Sie bitte library.register_objects.
Beschreibung: Ähnlich wie register_db
, operiert aber auf Tabellenebene. 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.
Wenn Sie Tabellen in einem verwalteten Zugriffsschema (d. h. ein Schema, das mit dem Parameter WITH MANAGED ACCESS erstellt wurde) registrieren möchten, 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']);
register_managed_access_table – Veraltet¶
- Schema:
LIBRARY
Achtung
Diese Prozedur ist veraltet. Verwenden Sie bitte library.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']);
register_view – Veraltet¶
- Schema:
LIBRARY
Achtung
Diese Prozedur ist veraltet. Verwenden Sie bitte library.register_objects.
Beschreibung: Ähnlich wie register_db
, arbeitet aber auf der 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. ein 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']);
register_managed_access_view – Veraltet¶
- Schema:
LIBRARY
Achtung
Diese Prozedur ist veraltet. Verwenden Sie bitte library.register_objects.
Beschreibung: Ähnlich wie register_view
, registriert aber die Ansichten in einem Schema, das mit dem Parameter WITH MANAGED ACCESS erstellt wurde. Ein Array oder eine Zeichenfolge, die den vollqualifizierten Ansichtsnamen repräsentiert, kann übergeben werden, und SELECT-Zuweisungen für die Rolle SAMOOHA_APP_ROLE werden ausgeführt, sodass der Benutzer die Ansicht mit dem Reinraum verknüpfen kann.
Argumente: view_name (array)
Rückgabe: (Zeichenfolge) Erfolgsmeldung.
Beispiel:
CALL samooha_by_snowflake_local_db.library.register_managed_access_view(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
unregister_table_or_view – Veraltet¶
- Schema:
LIBRARY
Achtung
Diese Prozedur ist veraltet. Verwenden Sie bitte library.unregister_objects.
Beschreibung: Hebt die Registrierung von Tabellen und Ansichten aller Art auf.
Argumente: object_names (array), is_view (boolean), is_iceberg (boolean), is_external (boolean), is_under_managed_access_schema (boolean)
Ausgabe (String) 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);
unregister_table – Veraltet¶
- Schema:
LIBRARY
Achtung
Diese Prozedur ist veraltet. Verwenden Sie bitte library.unregister_objects.
Beschreibung: Ähnlich wie unregister_db
, arbeitet jedoch 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 Clean Room 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']);
unregister_managed_access_table – Veraltet¶
- Schema:
LIBRARY
Achtung
Diese Prozedur ist veraltet. Verwenden Sie bitte library.unregister_objects.
Beschreibung: Ähnlich wie unregister_table
, hebt jedoch die Registrierung von Tabellen in einem verwalteten Zugriffsschema auf (d. h. ein 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']);
unregister_view – Veraltet¶
- Schema:
LIBRARY
Achtung
Diese Prozedur ist veraltet. Verwenden Sie bitte library.unregister_objects.
Beschreibung: Ähnlich wie unregister_db
, arbeitet aber auf der 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 Clean Room verknüpfen.
Wenn Sie die Registrierung von Ansichten in einem verwaltetem 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']);
unregister_managed_access_view – Veraltet¶
- Schema:
LIBRARY
Achtung
Diese Prozedur ist veraltet. Verwenden Sie bitte library.unregister_objects.
Beschreibung: Ähnlich wie unregister_view
, hebt jedoch die Registrierung von Ansichten in einem verwalteten Zugriffsschema auf (d. h. ein 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']);