Snowflake Data Clean Rooms Collaboration-API¶
Einführung¶
Dies ist die Referenzseite für die Snowflake Data Clean Rooms Collaboration-API. Diese API verwendet die COLLABORATION- und REGISTRY-Namespaces, nicht die PROVIDER- oder CONSUMER-Namespaces, die von den Anbieter- und Verbraucher-APIs verwendet werden.
Bemerkung
Sie sollten Sekundärrollen in Ihrer Umgebung deaktivieren, wenn Sie die Collaboration-API verwenden:
USE SECONDARY ROLES NONE;
Verwalten des Zugriffs auf die DCR Collaboration-API¶
Mitarbeiter können die allgemeine Rolle SAMOOHA_APP_ROLE verwenden, um alle aufzurufen DCR Collaboration-API-Prozeduren aufzurufen.
Wir empfehlen jedoch, dass Administratoren je nach Bedarf einen detaillierteren Zugriff für bestimmte Collaborations oder bestimmte Rollen gewähren. Die detaillierteren Berechtigungen finden Sie unter Prozeduren für die Zugriffsverwaltung.
Um einem Benutzer detaillierte API-Berechtigungen zu erteilen, führen Sie die folgenden Schritte aus:
Erstellen Sie eine Rolle.
Erteilen Sie der Rolle die Nutzungsberechtigung für das verwendete Warehouse.
Rufen Sie bei Bedarf GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE auf, um einer Rolle die entsprechenden Berechtigungen für eine bestimmte Collaboration zu erteilen.
Rufen Sie bei Bedarf GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE auf, um der Rolle entsprechende Berechtigungen für alle Collaborations im Konto zu erteilen.
Weisen Sie dem Benutzer die Rolle zu, der nun Collaboration-Prozeduren aufrufen kann, um an der Zusammenarbeit teilnehmen zu können.
Beispiel¶
Hier ist ein Beispiel für die Erstellung von zwei Collaboration-API-Rollen: eine Rolle, die Collaborations erstellen und verknüpfen kann, und eine andere Rolle, die Ressourcen in einer Collaboration anzeigen und Analysen in einer Collaboration durchführen kann (aber nicht einer Collaboration beitreten oder sie ändern kann).
-- Create a role that can create and join collaborations.
USE ROLE ACCOUNTADMIN;
CREATE ROLE COLLABORATION_CREATOR_ROLE;
GRANT USAGE ON WAREHOUSE APP_WH TO COLLABORATION_CREATOR_ROLE;
GRANT APPLY ROW ACCESS POLICY ON ACCOUNT TO ROLE COLLABORATION_CREATOR_ROLE;
GRANT CREATE APPLICATION ON ACCOUNT TO ROLE COLLABORATION_CREATOR_ROLE;
GRANT CREATE DATABASE ON ACCOUNT TO ROLE COLLABORATION_CREATOR_ROLE;
GRANT CREATE LISTING ON ACCOUNT TO ROLE COLLABORATION_CREATOR_ROLE;
GRANT CREATE SHARE ON ACCOUNT TO ROLE COLLABORATION_CREATOR_ROLE;
GRANT IMPORT SHARE ON ACCOUNT TO ROLE COLLABORATION_CREATOR_ROLE;
GRANT MANAGE SHARE TARGET ON ACCOUNT TO ROLE COLLABORATION_CREATOR_ROLE;
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.ADMIN.GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'COLLABORATION_CREATOR_ROLE');
GRANT ROLE COLLABORATION_CREATOR_ROLE TO USER george_washington;
-- Create a role that can run analyses on a specific collaboration.
USE ROLE COLLABORATION_CREATOR_ROLE;
CREATE ROLE ANALYST_ROLE;
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.ADMIN.GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE(
'RUN',
'COLLABORATION',
$collaboration_name,
'ANALYST_ROLE'
);
-- Also grant READ, which gives permission to read the resources available to use in a collaboration.
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.ADMIN.GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE(
'READ',
'COLLABORATION',
$collaboration_name,
'ANALYST_ROLE'
);
GRANT ROLE ANALYST_ROLE to USER alexander_hamilton;
Metadaten-Merkblatt¶
Hier finden Sie einige häufig gesuchte Informationen über Collaborations:
Um dies zu erfahren … |
Rufen Sie dies auf |
|---|---|
Welchen Collaborations kann ich beitreten? |
|
Welchen Collaborations bin ich beigetreten? |
|
Welche Collaborations gehören mir? |
|
Wie ist der Status aller Teilnehmer einer Collaboration? |
|
Wie ist der Verknüpfungs- oder Erstellungsstatus einer Collaboration? |
|
Wem gehört eine bestimmte Collaboration? |
|
Was ist meine Rolle in einer bestimmten Collaboration? |
|
Welche Rollen werden in einer bestimmten Collaboration zugewiesen? |
|
Was ist die Spezifikation einer bestimmten Collaboration? |
|
Ist die Spezifikation auf dem neuesten Stand? |
Es gibt keine Möglichkeit, um festzustellen, ob für eine bestimmte Spezifikation Änderungen vorgenommen wurden, aber Sie können |
Welche ausstehenden Aktualisierungsanfragen habe ich? |
|
Zeige mir die Spezifikation für eine bestimmte Collaboration |
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.VIEW_COLLABORATIONS() ->>
SELECT "COLLABORATION_SPEC" FROM $1
WHERE "SOURCE_NAME" = <collaboration name>;
|
Vorlagenprozeduren¶
REGISTER_TEMPLATE¶
- Schema:
REGISTRY
Registriert eine Vorlage, damit sie in einer Collaboration verwendet werden kann. Jede registrierte Vorlage muss einen eindeutigen Namen + Version für alle Vorlagen in allen Registrys in Ihrem Konto haben.
Syntax¶
REGISTER_TEMPLATE( ['<registry_name>' ,] <template_spec> )
Argumente¶
registry_name(Optional)Name einer kundenspezifischen Registry, in der diese Vorlage registriert werden soll. Wenn nicht angegeben, wird die Vorlage in der standardmäßigen Konto-Registry registriert.
template_specVorlagendefinition im YAML-Format als Zeichenfolge
Rückgabewerte¶
Eine Vorlagen-ID zur Verwendung in der Collaboration-Spezifikation.
Beispiele¶
Registrieren einer Vorlage in der Standard-Registry:
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.REGISTRY.REGISTER_TEMPLATE(
$$
api_version: 2.0.0
spec_type: template
name: my_test_template
version: 2026_01_12_V1
type: sql_analysis
description: A test template
template:
SELECT * FROM IDENTIFIER({{ source_table[0] }}) LIMIT 10;
$$);
Registrieren einer Vorlage in einer kundenspezifischen Registry:
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.REGISTRY.REGISTER_TEMPLATE(
'my_custom_registry',
$$
api_version: 2.0.0
spec_type: template
name: my_test_template
version: 2026_01_12_V1
type: sql_analysis
description: A test template
template:
SELECT * FROM IDENTIFIER({{ source_table[0] }}) LIMIT 10;
$$);
Zugriffsanforderungen¶
Wenn Sie nicht die Rolle SAMOOHA_APP_ROLE verwenden, müssen Sie eine Rolle verwenden, der Berechtigungen erteilt wurden, indem Sie die folgenden Prozeduren aufrufen:
So registrieren Sie Objekte in der Standard-Registry:
GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('REGISTER TEMPLATE', 'role name')
So registrieren Sie Elemente in einer kundenspezifischen Registry:
Sie haben Lese- und Schreibberechtigungen für jede kundenspezifische Registry, die Sie selbst erstellt haben.
Um auf eine von einem anderen Benutzenden erstellte kundenspezifische Registry zuzugreifen, benötigen Sie
GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('REGISTER', 'REGISTRY', 'MY_REGISTRY', 'role name').
VIEW_REGISTERED_TEMPLATES¶
- Schema:
REGISTRY
Listet alle Vorlagen auf, die Sie registriert haben. Um eine Vorlage zu registrieren, rufen Sie REGISTRY.REGISTER_TEMPLATE auf.
Syntax¶
VIEW_REGISTERED_TEMPLATES( [ '<registry_name>' ] )
Argumente¶
registry_name(Optional)Name einer kundenspezifische Registry zum Auflisten von Vorlagen. Wenn nicht angegeben, werden Vorlagen aus der Standardkonto-Registry aufgelistet.
Rückgabewerte¶
Eine Tabelle, die die Details aller Vorlagen auflistet, die Sie in diesem Konto registriert haben.
Beispiel¶
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.REGISTRY.VIEW_REGISTERED_TEMPLATES();
Zugriffsanforderungen¶
Wenn Sie nicht die Rolle SAMOOHA_APP_ROLE verwenden, müssen Sie eine Rolle verwenden, der Berechtigungen erteilt wurden, indem Sie eine der folgenden Prozeduren aufrufen.
So zeigen Sie Elemente in der Standard-Registry an:
GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('VIEW REGISTERED TEMPLATES', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')
So zeigen Sie Elemente in einer kundenspezifischen Registry an:
Sie haben Lese- und Schreibberechtigungen für jede kundenspezifische Registry, die Sie selbst erstellt haben.
Um auf eine von einem anderen Benutzenden erstellte kundenspezifische Registry zuzugreifen, benötigen Sie
GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('READ', 'REGISTRY', 'MY_REGISTRY', 'role name').
ADD_TEMPLATE_REQUEST¶
- Schema:
COLLABORATION
Sendet eine Anfrage zum Hinzufügen einer Vorlage zu einer vorhandenen Collaboration. Wenn der Absender von der Anfrage betroffen ist, genehmigt er die Anfrage automatisch. Alle anderen betroffenen Teilnehmer müssen der Anfrage zustimmen, damit die Änderung angewendet wird. Alle Teilnehmer müssen diese Prozedur aufrufen, um eine Vorlage zu einer vorhandenen Collaboration hinzuzufügen, auch der Eigentümer der Collaboration.
Um weitere Vorlagenutzer hinzuzufügen, können Sie diese Prozedur mit deren Aliassen erneut aufrufen. Bei jedem Aufruf werden die in share_with aufgeführten Benutzer hinzugefügt.
Um den Status der Anfrage zu sehen, rufen Sie VIEW_UPDATE_REQUESTS auf.
Siehe Workflow zum Hinzufügen einer Vorlage
Syntax¶
ADD_TEMPLATE_REQUEST( <collaboration_name>, <template_id>, <share_with> )
Argumente¶
collaboration_nameName der Collaboration, zu der die Vorlage hinzugefügt werden soll.
template_idID der Vorlage, die der Collaboration hinzugefügt werden soll. Registrieren Sie die Vorlage, um diesen Wert zu erhalten.
share_withArray von Aliassen der Analyse-Runner, für die diese Vorlage freigegeben werden soll. Die hier aufgeführten Teilnehmer werden zusätzlich zu allen anderen Teilnehmern hinzugefügt, die mit dieser Vorlage verbunden sind. Alle hier aufgeführten Teilnehmer müssen Analyse-Runner sein, sonst schlägt die Prozedur fehl, ohne dass diese Vorlage für jemanden freigegeben ist.
Rückgabewerte¶
String-Erfolgsmeldung.
Beispiel¶
-- Ask to add the template only for Collaborator3 in this collaboration.
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.ADD_TEMPLATE_REQUEST(
$collaboration_name,
$template_alias,
['Collaborator3']
);
Zugriffsanforderungen¶
Wenn Sie nicht die Rolle SAMOOHA_APP_ROLE verwenden, müssen Sie eine Rolle verwenden, der Berechtigungen erteilt wurden, indem Sie die folgenden Prozeduren aufrufen:
GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('UPDATE', 'COLLABORATION', 'collaboration name', 'role name')Eine der folgenden Berechtigungen:
GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name'), zuzüglich aller zusätzlichen Berechtigungen auf Kontoebene, die der Rolle manuell erteilt werden müssen.GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name'), zuzüglich aller zusätzlichen Berechtigungen auf Kontoebene, die der Rolle manuell erteilt werden müssen.
Wenn sich die Vorlage in einer kundenspezifischen Registry befindet, müssen Sie auch über
GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE( 'READ', 'registry name', 'role name')verfügen.
REMOVE_TEMPLATE¶
- Schema:
COLLABORATION
Asynchrone Anfrage zum Entfernen einer Vorlage aus einer bestimmten Collaboration für bestimmte Teilnehmer. Nur der Teilnehmer, der die Vorlage registriert hat, kann eine Vorlage entfernen. Um eine von Ihnen registrierte Vorlage zu entfernen, ist keine Genehmigung von anderen Personen erforderlich. Wenn eine Vorlage für einen Teilnehmer entfernt wird, kann dieser Teilnehmer die Vorlage weder sehen noch anzeigen.
Syntax¶
REMOVE_TEMPLATE( <collaboration_name>, <template_id>, <remove_for> )
Argumente¶
collaboration_nameName der Collaboration, aus der die Vorlage entfernt werden soll.
template_idID der Vorlage, die aus der Collaboration entfernt werden soll.
remove_forArray von einem oder mehreren Aliassen der Analyse-Runner in dieser Collaboration, die diese Vorlage nicht mehr sehen oder verwenden können sollen.
Rückgabewerte¶
String-Erfolgsmeldung. Um zu sehen, ob eine Vorlage für einen Teilnehmer entfernt wurde, sehen Sie sich die Collaboration-Spezifikation an.
Beispiel¶
-- Prevent collaborator_1234 from using the specified template
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.REMOVE_TEMPLATE(
$collaboration_name,
$template_id,
['collaborator_1234']
);
Zugriffsanforderungen¶
Wenn Sie nicht die Rolle SAMOOHA_APP_ROLE verwenden, müssen Sie eine Rolle verwenden, der Berechtigungen erteilt wurden, indem Sie die folgenden Prozeduren aufrufen:
GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('UPDATE', 'COLLABORATION', 'collaboration name', 'role name')Eine der folgenden Berechtigungen:
GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name'), zuzüglich aller zusätzlichen Berechtigungen auf Kontoebene, die der Rolle manuell erteilt werden müssen.GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name'), zuzüglich aller zusätzlichen Berechtigungen auf Kontoebene, die der Rolle manuell erteilt werden müssen.
Wenn sich die Vorlage in einer kundenspezifischen Registry befindet oder auf eine Codespezifikation in einer kundenspezifischen Registry verweist, müssen Sie auch über
GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE( 'READ', 'registry name', 'role name')verfügen.
VIEW_TEMPLATES¶
- Schema:
COLLABORATION
Zeigt alle Vorlagen an, die Sie ausführen können oder die Sie für die angegebene Collaboration eingereicht haben.
Syntax¶
VIEW_TEMPLATES( <collaboration_name> )
Argumente¶
collaboration_nameName der Collaboration. Sie müssen diese Collaboration überprüfen oder ihr beitreten, bevor Sie ihre Vorlagen auflisten können.
Rückgabewerte¶
Eine Tabelle, die Informationen über Vorlagen auflistet, die Sie in dieser Collaboration ausführen können, einschließlich Vorlagen, die Sie registriert haben. Die Informationen enthalten die Vorlagen-ID (die zur Ausführung der Vorlage verwendet wird), Vorlagentext, Parameter, wer sie erstellt hat und wer sie ausführen kann.
Beispiel¶
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.VIEW_TEMPLATES(
$collaboration_name
);
Zugriffsanforderungen¶
Wenn Sie nicht die Rolle SAMOOHA_APP_ROLE verwenden, müssen Sie eine Rolle verwenden, der Berechtigungen erteilt wurden, indem Sie eine der folgenden Prozeduren aufrufen:
GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('VIEW TEMPLATES', 'COLLABORATION', 'collaboration name', 'role name')GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('READ', 'COLLABORATION', 'collaboration name', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')
ENABLE_TEMPLATE_AUTO_APPROVAL¶
- Schema:
COLLABORATION
Bewirkt, dass alle von anderen Teilnehmern gesendeten Anfragen zur Vorlagenaktualisierung automatisch genehmigt werden. Anfragen werden weiterhin im Anfrageprotokoll angezeigt. Dies betrifft nur Anfragen, die nach der Aktivierung der automatischen Genehmigung gesendet werden.
Syntax¶
ENABLE_TEMPLATE_AUTO_APPROVAL( <collaboration_name> )
Argumente¶
collaboration_nameName der Collaboration.
Rückgabewerte¶
String-Erfolgsmeldung.
Beispiel¶
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.ENABLE_TEMPLATE_AUTO_APPROVAL(
$collaboration_name
);
Zugriffsanforderungen¶
Wenn Sie nicht die Rolle SAMOOHA_APP_ROLE verwenden, müssen Sie eine Rolle verwenden, der Berechtigungen erteilt wurden, indem Sie eine der folgenden Prozeduren aufrufen:
GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('MANAGE TEMPLATE AUTO APPROVAL', 'COLLABORATION', 'collaboration name', 'role name')GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('UPDATE', 'COLLABORATION', 'collaboration name', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')
DISABLE_TEMPLATE_AUTO_APPROVAL¶
- Schema:
COLLABORATION
Deaktiviert die automatische Genehmigung für Anfragen zu Vorlagen, die von anderen Teilnehmern gestellt wurden. Alle zukünftigen Anfragen müssen manuell durch Aufruf von APPROVE_UPDATE_REQUEST genehmigt werden.
Syntax¶
DISABLE_TEMPLATE_AUTO_APPROVAL( <collaboration_name> )
Argumente¶
collaboration_nameName der Collaboration.
Rückgabewerte¶
String-Erfolgsmeldung.
Beispiel¶
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.DISABLE_TEMPLATE_AUTO_APPROVAL(
$collaboration_name
);
Zugriffsanforderungen¶
Wenn Sie nicht die Rolle SAMOOHA_APP_ROLE verwenden, müssen Sie eine Rolle verwenden, der Berechtigungen erteilt wurden, indem Sie eine der folgenden Prozeduren aufrufen:
GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('MANAGE TEMPLATE AUTO APPROVAL', 'COLLABORATION', 'collaboration name', 'role name')GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('UPDATE', 'COLLABORATION', 'collaboration name', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')
Prozeduren für Datenangebote¶
REGISTER_DATA_OFFERING¶
- Schema:
REGISTRY
Registriert ein Datenangebot, sodass es zu einer Collaboration-Definition hinzugefügt werden kann. Die Registrierung eines registrierten Datenangebots kann nicht aufgehoben werden. Sie können ein bestehendes Datenangebot nicht überschreiben, aber Sie können ein neues mit demselben Namen und einer neuen Version registrieren. Beim Erstellen einer neuen Version eines Datenangebots werden keine früheren Versionen entfernt.
Jedes Datenangebot muss einen eindeutigen Namen + Version für alle Datenangebote in allen Registrys Ihres Kontos haben.
Wenn Sie diese Tabelle für andere Mitglieder der Collaboration freigeben möchten, fügen Sie die Tabelle vor dem Erstellen der Collaboration zu den Collaboration-Spezifikationen hinzu.
Sie müssen OWNERSHIP-Berechtigung für alle Daten haben, die Sie in einer Collaboration freigeben. Wenn Sie dies nicht tun, erhalten Sie beim Versuch, der Collaboration beizutreten oder das Objekt zu registrieren, den Fehler „fehlende Referenznutzungszuweisung“. Erfahren Sie, wie Sie dieses Problem beheben können.
Syntax¶
REGISTER_DATA_OFFERING( ['<registry_name>' ,] <data_offering_spec> )
Argumente¶
registry_name(Optional)Name einer kundenspezifischen Registry, in der dieses Datenangebot registriert werden soll. Wenn nicht angegeben, wird das Datenangebot in der standardmäßigen Konto-Registry registriert.
data_offering_specEine Datenangebotsdefinition im YAML-Format, das dieses Datenangebot beschreibt.
Rückgabewerte¶
Die Datenangebots-ID zur Verwendung in einem data_offerings.id-Feld der Collaboration.
Beispiele¶
Registrieren eines Datenangebots in der Standard-Registry:
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.REGISTRY.REGISTER_DATA_OFFERING(
$$
api_version: 2.0.0
spec_type: data_offering
version: v1
name: customers
datasets:
- alias: customers_1
data_object_fqn: SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS
allowed_analyses: template_only
schema_and_template_policies:
hashed_email:
category: join_custom
status:
category: passthrough
$$
);
Registrieren eines Datenangebots in einer kundenspezifischen Registry:
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.REGISTRY.REGISTER_DATA_OFFERING(
'my_custom_registry',
$$
api_version: 2.0.0
spec_type: data_offering
version: v1
name: customers
datasets:
- alias: customers_1
data_object_fqn: SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS
allowed_analyses: template_only
schema_and_template_policies:
hashed_email:
category: join_custom
status:
category: passthrough
$$
);
Zugriffsanforderungen¶
Wenn Sie nicht die Rolle SAMOOHA_APP_ROLE verwenden, müssen Sie eine Rolle verwenden, der Berechtigungen erteilt wurden, indem Sie die folgenden Prozeduren aufrufen:
Registrieren eines Datenangebots in der Standard-Registry:
GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('REGISTER DATA OFFERING', 'role name')
So registrieren Sie Elemente in einer kundenspezifischen Registry:
Sie haben Lese- und Schreibberechtigungen für jede kundenspezifische Registry, die Sie selbst erstellt haben.
Um auf eine von einem anderen Benutzenden erstellte kundenspezifische Registry zuzugreifen, benötigen Sie
GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('REGISTER', 'REGISTRY', 'MY_REGISTRY', 'role name').
LINK_DATA_OFFERING¶
- Schema:
COLLABORATION
Ein Datenanbieter führt dieses Verfahren aus, um eine bestehende Collaboration zu aktualisieren, indem das angegebene Datenangebot den angegebenen Analyse-Runnern zur Verfügung gestellt wird. Dies ist eine asynchrone Prozedur. Analyse-Runner sollten VIEW_DATA_OFFERINGS aufrufen, um zu sehen, wann das Datenangebot für die Nutzung verfügbar ist.
Diese Prozedur ist additiv, d. h. die von Ihnen angegebenen Teilnehmer werden der bestehenden Liste der Datenfreigabeangebote hinzugefügt.
Wenn Sie diese Tabelle verwenden möchten, sie aber nicht für andere Teilnehmer sichtbar machen möchten, rufen Sie LINK_LOCAL_DATA_OFFERING anstelle von LINK_DATA_OFFERING auf.
Wichtig
LINK_DATA_OFFERING kann derzeit nur von der Rolle aufgerufen werden, die die Collaboration erstellt hat oder ihr beigetreten ist.
Sie können keine aktive Sekundärrolle haben, wenn Sie diese Prozedur ausführen. Führen Sie folgenden SQL-Code zum Deaktivieren von Sekundärrollen aus:
USE SECONDARY ROLES NONE;
Diese Methode ist atomar: Alle folgenden Bedingungen müssen erfüllt sein, damit diese Prozedur erfolgreich ist. Wenn der Verknüpfungsversuch für einen Teilnehmer fehlschlägt, schlägt er für alle Teilnehmer fehl.
Alle angegebenen Teilnehmer müssen Analyse-Runner sein.
Dieses Datenangebot darf noch nicht für einen der angegebenen Analyse-Runner freigegeben sein.
Diese Prozedur kann nur von einem Benutzer mit der Rolle des Datenanbieters ausgeführt werden, der einer Collaboration beigetreten ist.
Sie müssen OWNERSHIP für alle Daten haben, die Sie freigeben möchten. Wenn dies nicht der Fall ist, erhalten Sie beim Versuch, der Collaboration beizutreten, den Fehler „fehlende Referenznutzungszuweisung“. Erfahren Sie, wie Sie dieses Problem beheben können.
Syntax¶
LINK_DATA_OFFERING( <collaboration_name>, <data_offering_id>, <share_with> )
Argumente¶
collaboration_nameName der Collaboration.
data_offering_idID des freizugebenden Datensets, die bei der Registrierung generiert wurde. Das Datenangebot muss für Sie sichtbar sein, wenn Sie
VIEW_DATA_OFFERINGSoder``VIEW_REGISTERED_DATA_OFFERINGS`` aufrufen, um es verknüpfen zu können.share_withArray von Zeichenfolgen-Aliassen von Analyse-Runnern, für die dieses Datenset freigegeben werden soll. Die hier aufgeführten Teilnehmer werden zusätzlich zu allen anderen Teilnehmern hinzugefügt, die mit diesem Datenangebot verbunden sind. Alle hier aufgeführten Teilnehmer müssen Analysis-Runner sein, für die Sie ein Datenanbieter sind, da das Verfahren sonst fehlschlägt, ohne dass die Daten mit anderen geteilt werden.
Rückgabewerte¶
String-Erfolgsmeldung.
Beispiel¶
In diesem Beispiel ist die Verwendung von Teilnehmer alice zulässig, um das angegebene Datenangebot in der angegebenen Collaboration zu nutzen.
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.LINK_DATA_OFFERING(
$collaboration_name,
$my_data_id,
['alice']
);
Zugriffsanforderungen¶
Wenn Sie nicht die Rolle SAMOOHA_APP_ROLE verwenden, müssen Sie eine Rolle verwenden, der Berechtigungen erteilt wurden, indem Sie die folgenden Prozeduren aufrufen:
GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('UPDATE', 'COLLABORATION', 'collaboration name', 'role name')Eine der folgenden Berechtigungen:
GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name'), zuzüglich aller zusätzlichen Berechtigungen auf Kontoebene, die der Rolle manuell erteilt werden müssen.GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name'), zuzüglich aller zusätzlichen Berechtigungen auf Kontoebene, die der Rolle manuell erteilt werden müssen.
Wenn sich das Datenangebot in einer kundenspezifischen Registry befindet, müssen Sie auch über
GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE( 'READ', 'registry name', 'role name')verfügen.
UNLINK_DATA_OFFERING¶
- Schema:
COLLABORATION
Ein Datenanbieter führt dieses Verfahren aus, um den Zugriff auf ein Datenangebot für bestimmte Analyse-Runner einer bestehenden Collaboration zu entfernen. Dies ist eine asynchrone Prozedur. Analyse-Runner sollten VIEW_COLLABORATIONS aufrufen, um zu bestätigen, dass das Datenangebot entfernt wurde.
Syntax¶
UNLINK_DATA_OFFERING( <collaboration_name>, <data_offering_id>, <remove_for> )
Argumente¶
collaboration_nameName der Collaboration.
data_offering_idID des zu entkoppelnden Datensets, die bei der Registrierung generiert wurde.
remove_forArray von Zeichenfolgen-Aliassen eines oder mehrerer Analyse-Runner, für die der Zugriff entfernt werden soll. Alle hier aufgeführten Teilnehmer müssen Analyse-Runner sein, die derzeit Zugriff auf dieses Datenangebot haben.
Rückgabewerte¶
String-Erfolgsmeldung.
Beispiel¶
-- Remove data offering access for specific analysis runners in this collaboration.
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.UNLINK_DATA_OFFERING(
$collaboration_name,
$data_offering_id,
['AnalysisRunner_1', 'AnalysisRunner_2']
);
Zugriffsanforderungen¶
Wenn Sie nicht die Rolle SAMOOHA_APP_ROLE verwenden, müssen Sie eine Rolle verwenden, der Berechtigungen erteilt wurden, indem Sie eine der folgenden Prozeduren aufrufen:
GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('UPDATE', 'COLLABORATION', 'collaboration name', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')
LINK_LOCAL_DATA_OFFERING¶
- Schema:
COLLABORATION
Verwenden Sie dieses Verfahren, um Ihre eigenen Daten mit einer Collaboration zu verknüpfen, wenn Sie die Snowflake Standard Edition verwenden. Sie müssen Ihre Datenangebote zunächst registrieren, indem Sie REGISTER_DATA_OFFERING aufrufen. Diese Angebote sind für andere Teilnehmer nicht sichtbar, und die Richtlinien für die Vorlagen werden nicht durchgesetzt. Tabellen, die hier eingereicht werden, übernehmen das my_table-Array in der Vorlage.
Weitere Informationen dazu finden Sie unter Ausführen einer Analyse mit Ihren eigenen Daten, wenn Sie die Standard Edition verwenden.
Syntax¶
LINK_LOCAL_DATA_OFFERING( <collaboration_name>, <data_offering_id> )
Argumente¶
collaboration_nameName der Collaboration.
data_offering_idID des Datensets, die bei der Registrierung generiert wurde. Auch sichtbar in
VIEW_REGISTERED_DATA_OFFERINGSundVIEW_DATA_OFFERINGS(nur für Sie).
Rückgabewerte¶
String-Erfolgsmeldung.
Beispiel¶
In diesem Beispiel wird ein registriertes Datenangebot verknüpft, das nur für das aktuelle Konto verwendet werden soll, ohne dass es für die übrigen Teilnehmer zugänglich ist.
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.LINK_LOCAL_DATA_OFFERING(
$collaboration_name,
$my_private_data_offering_id
);
Zugriffsanforderungen¶
Wenn Sie nicht die Rolle SAMOOHA_APP_ROLE verwenden, müssen Sie eine Rolle verwenden, der Berechtigungen erteilt wurden, indem Sie eine der folgenden Prozeduren aufrufen:
GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('UPDATE', 'COLLABORATION', 'collaboration name', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')
UNLINK_LOCAL_DATA_OFFERING¶
- Schema:
COLLABORATION
Verwenden Sie dieses Verfahren, um Ihre eigenen lokalen Daten von einer Collaboration zu trennen. Nach dem Aufheben der Verknüpfung steht das Datenangebot nicht mehr für Analysen im Rahmen dieser Collaboration zur Verfügung. Weitere Informationen zu lokalen Datenangeboten finden Sie unter Ausführen einer Analyse mit Ihren eigenen Daten, wenn Sie die Standard Edition verwenden.
Syntax¶
UNLINK_LOCAL_DATA_OFFERING( <collaboration_name>, <data_offering_id> )
Argumente¶
collaboration_nameName der Collaboration.
data_offering_idID des zu entkoppelnden Datensets, die bei der Registrierung generiert wurde. Auch sichtbar in
VIEW_REGISTERED_DATA_OFFERINGSundVIEW_DATA_OFFERINGS(nur für Sie).
Rückgabewerte¶
String-Erfolgsmeldung.
Beispiel¶
-- Unlink a local data offering from a collaboration.
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.UNLINK_LOCAL_DATA_OFFERING(
$collaboration_name,
$my_private_data_offering_id
);
Zugriffsanforderungen¶
Wenn Sie nicht die Rolle SAMOOHA_APP_ROLE verwenden, müssen Sie eine Rolle verwenden, der Berechtigungen erteilt wurden, indem Sie eine der folgenden Prozeduren aufrufen:
GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('UPDATE', 'COLLABORATION', 'collaboration name', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')
VIEW_REGISTERED_DATA_OFFERINGS¶
- Schema:
REGISTRY
Listet alle Datenangebote auf, die Sie registriert haben. Um Datenangebote in einer von anderen hinzugefügten Collaboration anzuzeigen, rufen Sie COLLABORATION.VIEW_DATA_OFFERINGS auf.
Syntax¶
VIEW_REGISTERED_DATA_OFFERINGS( [ '<registry_name>' ] )
Argumente¶
registry_name(Optional)Name einer kundenspezifische Registry zum Auflisten von Datenangeboten. Wenn nicht angegeben, werden Datenangebote aus der Standardkonto-Registry aufgelistet.
Rückgabewerte¶
Eine Tabelle, die alle Datenangebote auflistet, die Sie über dieses Konto registriert haben.
Beispiel¶
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.REGISTRY.VIEW_REGISTERED_DATA_OFFERINGS();
Zugriffsanforderungen¶
Wenn Sie nicht die Rolle SAMOOHA_APP_ROLE verwenden, müssen Sie eine Rolle verwenden, der Berechtigungen erteilt wurden, indem Sie eine der folgenden Prozeduren aufrufen.
So zeigen Sie Elemente in der Standard-Registry an:
GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('VIEW REGISTERED DATA OFFERINGS', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')
So zeigen Sie Elemente in einer kundenspezifischen Registry an:
Sie haben Lese- und Schreibberechtigungen für jede kundenspezifische Registry, die Sie selbst erstellt haben.
Um auf eine von einem anderen Benutzenden erstellte kundenspezifische Registry zuzugreifen, benötigen Sie
GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('READ', 'REGISTRY', 'MY_REGISTRY', 'role name').
VIEW_DATA_OFFERINGS¶
- Schema:
COLLABORATION
Listet alle Datenangebote auf, die in einer bestimmten Collaboration vorhanden sind, auf die Sie als Analyse-Runner zugreifen können oder die Sie selbst hinzugefügt haben. Um nur von Ihnen registrierte Datenangebote anzuzeigen, rufen Sie REGISTRY.VIEW_REGISTERED_DATA_OFFERINGS auf.
Sie können Datenangebote von Teilnehmer X erst sehen, nachdem X der Collaboration beigetreten ist.
Syntax¶
VIEW_DATA_OFFERINGS( <collaboration_name> )
Argumente¶
collaboration_nameName der zu untersuchenden Collaboration.
Rückgabewerte¶
Informationen über alle Datenangebote in der angegebenen Collaboration. Die Tabelle enthält die folgenden Spalten:
FREEFORM_SQL_COLUMN_POLICIES: Ein JSON-Darstellung aller Freiform-Spaltenrichtlinien in dieser Collaboration, verschlüsselt nach Richtlinientyp.
FREEFORM_SQL_VIEW_NAME: Der vollqualifizierte Tabellenname, der in Freiform-SQL-Abfragen verwendet wird, wenn das Datenset Freiform-SQL-Abfragen unterstützt. Diese Zelle ist leer, wenn das Datenset keine Freiform-SQL-Abfragen bietet.
SHARE_WITH: Wer kann die Daten in einer Analyse verwenden. Wenn dieser Wert ``LOCAL``ist, handelt es sich um ein lokales Datenset, das für keine Teilnehmer freigegeben ist, außer für die Partei, die die Daten hostet.
TEMPLATE_VIEW_NAME: Der vollqualifizierte Tabellenname, der in einer Vorlage beim Aufruf von
COLLABORATION.RUNverwendet wird.
Beispiel¶
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.VIEW_DATA_OFFERINGS(
$collaboration_name
);
Zugriffsanforderungen¶
Wenn Sie nicht die Rolle SAMOOHA_APP_ROLE verwenden, müssen Sie eine Rolle verwenden, der Berechtigungen erteilt wurden, indem Sie eine der folgenden Prozeduren aufrufen:
GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('VIEW DATA OFFERINGS', 'COLLABORATION', 'collaboration name', 'role name')GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('READ', 'COLLABORATION', 'collaboration name', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')
Prozeduren für Aktualisierungsanfragen¶
Diese Prozeduren werden verwendet, um Collaboration-Aktualisierungsanfragen zu verwalten, die eine Genehmigung erfordern, wie z. B. der Workflow zum Hinzufügen einer Vorlage.
VIEW_UPDATE_REQUESTS¶
- Schema:
COLLABORATION
Zeigt alle Aktualisierungsanfragen an, die Sie in der angegebenen Collaboration erstellt haben oder die Sie genehmigen oder ablehnen können. Es kann einige Sekunden dauern, bis eine Aktualisierungsanfrage registriert wird, sodass Sie möglicherweise eine Anfrage noch nicht sehen, die Sie gerade erst gesendet haben.
Siehe Workflow zum Hinzufügen einer Vorlage
Syntax¶
VIEW_UPDATE_REQUESTS( <collaboration_name> )
Argumente¶
collaboration_nameName der Collaboration.
Rückgabewerte¶
Eine Tabelle der in dieser Collaboration gesendeten Aktualisierungsanfragen. Zu diesen Informationen gehören:
ID: ID der Anfrage. Verwenden Sie diese, um eine Anfrage zu genehmigen oder abzulehnen.TYPE: Typ der Anfrage. Die folgenden Werte werden unterstützt:‚Add Template‘ (Vorlage hinzufügen)
STATUS: Aktueller Status der Anfrage. Die folgenden Status können gemeldet werden:REJECTED: Personen in der Collaboration haben diese Anfrage abgelehnt.
PENDING: Der Antrag wartet auf Ihre Genehmigung oder Ablehnung.
AWAITING_PARTNER_APPROVAL: Sie haben die Anfrage genehmigt, aber die Anfrage muss noch von einem oder mehreren anderen Teilnehmern genehmigt werden.
APPROVED: Alle erforderlichen Genehmiger haben die Anfrage genehmigt, und die Änderung wurde auf die Collaboration angewendet.
APPROVAL_LOG: Protokoll aller Genehmigungen und Ablehnungen der Anfrage. Wenn der Antrag abgelehnt wurde, wird hier auch der Grund angegeben, den die ablehnende Seite angegeben hat.DETAILS: Details, die für den Anfragetyp spezifisch sind, wie z. B. der Name der Vorlage, die Beschreibung und die Personen, für die sie bei einer Anfrage vom Typ „Vorlage hinzufügen“ freigegeben wird.SPEC: Die Details der Ressource, die aktualisiert wird, wie z. B. die Spezifikation der Vorlage für eine ‚Add Template‘-Anfrage.UPDATED_ON: Der Zeitstempel, wann die letzte Aktion für diese Anfrage durchgeführt wurde (z. B. eine Genehmigung oder Ablehnung).
Beispiel¶
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.VIEW_UPDATE_REQUESTS(
$collaboration_name
);
Zugriffsanforderungen¶
Wenn Sie nicht die Rolle SAMOOHA_APP_ROLE verwenden, müssen Sie eine Rolle verwenden, der Berechtigungen erteilt wurden, indem Sie eine der folgenden Prozeduren aufrufen:
GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('UPDATE', 'COLLABORATION', 'collaboration name', 'role name')GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('READ', 'COLLABORATION', 'collaboration name', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')
APPROVE_UPDATE_REQUEST¶
- Schema:
COLLABORATION
Genehmigt eine Collaboration-Aktualisierungsanfrage. Zeigen Sie Ihre Liste der ausstehenden Anfragen an, indem Sie VIEW_UPDATE_REQUESTS aufrufen. Sobald Sie eine Anfrage genehmigt haben, können Sie diese später nicht mehr ablehnen.
Alle betroffenen Teilnehmer müssen einer Anfrage zustimmen, bevor die Änderung tatsächlich auf die Collaboration angewendet wird.
Siehe Workflow zum Hinzufügen einer Vorlage
Syntax¶
APPROVE_UPDATE_REQUEST( <collaboration_name>, <request_id> )
Argumente¶
collaboration_nameName der Collaboration.
request_idID der Anfrage.
Rückgabewerte¶
String-Erfolgsmeldung.
Beispiel¶
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.APPROVE_UPDATE_REQUEST(
$collaboration_name,
$request_id
);
Zugriffsanforderungen¶
Wenn Sie nicht die Rolle SAMOOHA_APP_ROLE verwenden, müssen Sie eine Rolle verwenden, der Berechtigungen erteilt wurden, indem Sie eine der folgenden Prozeduren aufrufen:
GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('MANAGE UPDATE REQUEST', 'COLLABORATION', 'collaboration name', 'role name')GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('UPDATE', 'COLLABORATION', 'collaboration name', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')
REJECT_UPDATE_REQUEST¶
- Schema:
COLLABORATION
Lehnt eine Aktualisierungsanfrage für die Collaboration ab. Eine einzelne Ablehnung verhindert, dass die Änderung auf die Collaboration angewendet wird. Sie können eine Anfrage nicht genehmigen, nachdem Sie sie abgelehnt haben.
Syntax¶
REJECT_UPDATE_REQUEST( <collaboration_name>, <request_id>, <reason> )
Argumente¶
collaboration_nameName der Collaboration.
request_idID der Anfrage.
reasonEine von Menschen lesbare Beschreibung, warum die Anfrage abgelehnt wurde. Das Argument ist erforderlich, aber Sie können eine leere Zeichenfolge übermitteln.
Rückgabewerte¶
String-Erfolgsmeldung.
Beispiel¶
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.REJECT_UPDATE_REQUEST(
$collaboration_name,
'request_1324f934457',
'Needs more cowbell'
);
Zugriffsanforderungen¶
Wenn Sie nicht die Rolle SAMOOHA_APP_ROLE verwenden, müssen Sie eine Rolle verwenden, der Berechtigungen erteilt wurden, indem Sie eine der folgenden Prozeduren aufrufen:
GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('MANAGE UPDATE REQUEST', 'COLLABORATION', 'collaboration name', 'role name')GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('UPDATE', 'COLLABORATION', 'collaboration name', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')
Prozeduren für das Collaboration-Management¶
INITIALIZE¶
- Schema:
COLLABORATION
Der Eigentümer ruft dies auf, um eine Collaboration zu erstellen und optional der Collaboration beizutreten.
Einreichen einer Definition für die Collaboration mit demselben Wert für name, da eine bestehende Collaboration einen Fehler auslöst.
Es nimmt einige Zeit in Anspruch, eine Collaboration zu erstellen und ihr beizutreten, also müssen Sie GET_STATUS aufrufen, um zu erfahren, ob die Collaboration erstellt wurde.
Nachdem die Collaboration erstellt wurde, können alle aufgelisteten Teilnehmer diese bei Aufruf von VIEW_COLLABORATIONS sehen und können sie überprüfen und ihr beitreten.
Syntax¶
INITIALIZE( <collaboration_spec> [, '<auto_join_warehouse>'] )
Argumente¶
collaboration_specDefinition der Collaboration im YAML-Format als Zeichenfolge.
auto_join_warehouse(Optional)Zeichenfolge, die einen Warehouse-Namen als gültigen Snowflake-Bezeichner angibt. Falls angegeben, erfolgt das Erstellen der Collaboration sowie der Beitritt zu ihr mit diesem Warehouse. Wenn nicht angegeben, wird das aktuelle Warehouse für die Erstellung der Collaboration verwendet, und Sie müssen JOIN aufrufen, um der Collaboration beizutreten. Es wird ein Warehouse der Größe XS empfohlen.
Rückgabewerte¶
Eine Tabelle mit den folgenden Spalten:
COLLABORATION_NAME: Der Name der Collaboration. Verwenden Sie dies in allen Prozeduren, in denen Sie eine Collaboration angeben müssen.
MESSAGE: Informationen zur Initialisierungsanforderung.
Beispiele¶
Im folgenden Beispiel wird eine Collaboration erstellt, bei der Alice die Eigentümerin ist und eine Analyse mit den von Bob bereitgestellten Daten durchführen kann.
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.INITIALIZE(
$$
api_version: 2.0.0
spec_type: collaboration
name: basic_collaboration
owner: alice
collaborator_identifier_aliases:
alice: corp_id.account_id
bob: corp2_id.account2_id
analysis_runners:
alice:
data_providers:
bob:
data_offerings:
- id: bob_data_v1
templates:
- id: alice_test_template_2026_01_12_V1
$$,
'APP_WH'
);
Zugriffsanforderungen¶
Wenn Sie nicht die Rolle SAMOOHA_APP_ROLE verwenden, müssen Sie eine Rolle verwenden, der Berechtigungen erteilt wurden, indem Sie die folgende Prozedur aufrufen:
GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')Bei Bereitstellung des``auto-join-warehouse``-Parameters und Verwendung einer anderen Rolle als SAMOOHA_APP_ROLE, muss der Rolle auch die EXECUTE TASK-Berechtigung auf Kontoebene gewährt werden.
Siehe GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE für zusätzliche erforderliche Rollenberechtigungen.
TEARDOWN¶
- Schema:
COLLABORATION
Wird vom Eigentümer aufgerufen, um eine Collaboration für alle Parteien zu löschen.
Sie müssen diese Prozedur zweimal aufrufen. Rufen Sie sie einmal auf, und rufen Sie dann GET_STATUS auf, bis LOCAL_DROP_PENDING zurückgegeben wird. Dann rufen Sie diese Prozedur erneut auf.
Bemerkung
Diese Prozedur kann nur für eine Collaboration aufgerufen werden, die Sie erstellt haben und der Sie beigetreten sind. Wenn Sie die Collaboration erstellt haben, aber noch nicht beigetreten sind, müssen Sie ihr beitreten, bevor Sie sie verwerfen können.
Syntax¶
TEARDOWN( <collaboration_name> )
Argumente¶
collaboration_nameName der zu löschenden Collaboration.
Rückgabewerte¶
String-Erfolgsmeldung.
Beispiel¶
-- Start the process.
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.TEARDOWN($collaboration_name);
-- Call until it returns LOCAL_DROP_PENDING.
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.GET_STATUS($collaboration_name);
-- Final call.
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.TEARDOWN($collaboration_name);
Zugriffsanforderungen¶
Wenn Sie nicht die Rolle SAMOOHA_APP_ROLE verwenden, müssen Sie eine Rolle verwenden, der Berechtigungen erteilt wurden, indem Sie eine der folgenden Prozeduren aufrufen:
GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')
Siehe GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE für zusätzliche erforderliche Rollenberechtigungen.
GET_STATUS¶
- Schema:
COLLABORATION
Zeigt Informationen über alle Teilnehmer einer bestimmten Collaboration an.
Wenn Sie eine asynchrone Operation ausführen, wie z. B. das Erstellen oder Beitreten zu einer Collaboration, müssen Sie den Status überprüfen, um zu wissen, wann die letzte Operation abgeschlossen wurde, bevor Sie weitere Aktionen für diese Collaboration durchführen können, wie z. B. das Ausführen von Analysen. Diese Prozedur kann von jedem Teilnehmer aufgerufen werden, der zu einer Collaboration eingeladen wird.
Collaboration-Eigentümer sehen den folgenden Statuspfad:
CREATING » CREATED » INSTALLING » IN_REVIEW (oder INSTALLATION_FAILED) » JOINING » JOINED (oder JOIN_FAILED)
Nicht-Eigentümer sehen den folgenden Statuspfad:
INSTALLING » IN_REVIEW (oder INSTALLATION_FAILED) » JOINING » JOINED (oder JOIN_FAILED)
Syntax¶
GET_STATUS( <collaboration_name> )
Argumente¶
collaboration_nameName der Collaboration, deren Status angezeigt werden soll. Sie können eine Liste Ihrer Kooperationen einsehen, indem Sie
COLLABORATION.VIEW_COLLABORATIONSaufrufen. Sie müssen erst zu einer Collaboration eingeladen werden oder ihr beigetreten sein, bevor SieGET_STATUSfür sie aufrufen können.
Rückgabewerte¶
Eine Tabelle, die die Details zum letzten Verknüpfungsversuch für alle Teilnehmer der angegebenen Collaboration enthält. Die Tabelle enthält die folgenden Spalten:
UPDATED_ON: Zeitstempel, wann der Status vom System gemeldet wurde.
COLLABORATOR_ACCOUNT: Datenfreigabe-Konto-ID dieses Teilnehmers.
COLLABORATOR_NAME: Der Alias des Teilnehmers, wie in der Collaboration-Spezifikation deklariert.
COLLABORATOR_ROLES: Die tatsächlichen und potenziellen Rollen für diesen Teilnehmer. Die Werte umfassen:
owner,data_provider,analysis_runner.STATUS: Status zum aktualisierten Zeitpunkt. Die folgenden Werte werden unterstützt und zeigen den Status des benannten Teilnehmers in der angegebenen Collaboration.
CREATING: Die Erstellung einer Collaboration hat begonnen.
CREATE_FAILED: Erstellung der Collaboration fehlgeschlagen.
CREATED: Die Collaboration wurde erstellt und ist zur Verarbeitung bereit.
INSTALLING: Installieren des Anwendungspakets und Vorbereiten der Collaboration-Details zur Überprüfung.
IN_REVIEW: Die Collaboration wird überprüft.
INSTALLATION_FAILED: Installation fehlgeschlagen; Anwendungspaket wurde nicht installiert und kann nicht überprüft werden.
INVITED: Der Teilnehmer wurde eingeladen.
REVIEWING: Collaboration wird derzeit überprüft.
JOINING: Der Beitretungsprozess hat begonnen.
JOIN_FAILED: Beitretungsprozess fehlgeschlagen.
JOINED: Der Collaboration erfolgreich beigetreten. Sie können beginnen, die Collaboration zu nutzen.
INVITE_STARTED: Einladungsprozess gestartet.
INVITE_ACCEPTED: Die Einladung wurde angenommen.
LEAVING: Austrittsprozess hat begonnen.
LEAVE_FAILED: Austrittsprozess fehlgeschlagen.
LEFT: Collaboration erfolgreich verlassen.
LOCAL_DROP_PENDING: Sie haben erfolgreich eine Anfrage zum Abbrechen oder Verlassen der Collaboration gestellt. Schließen Sie den Vorgang ab, indem Sie
TEARDOWNoderLEAVEerneut aufrufen.DROPPING: Der Löschvorgang hat begonnen.
DROPPED: Erfolgreich gelöscht.
DROP_FAILED: Löschvorgang fehlgeschlagen.
Beispiel¶
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.GET_STATUS(
$collaboration_name
);
Zugriffsanforderungen¶
Wenn Sie nicht die Rolle SAMOOHA_APP_ROLE verwenden, müssen Sie eine Rolle verwenden, der Berechtigungen erteilt wurden, indem Sie eine der folgenden Prozeduren aufrufen:
GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('READ', 'COLLABORATION', 'collaboration name', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')
ENABLE_EXTERNAL_TABLE_ANALYSIS_FOR_COLLABORATION¶
- Schema:
ADMIN
Aktiviert externe und Apache Iceberg™-Tabellen, die für eine Analyse in Ihrem Konto verwendet werden sollen. Ein Analyse-Runner muss dies aufrufen, bevor er eine Analyse ausführt, die externe oder Iceberg-Tabellen verwendet. Diese Prozedur wird einmal pro Collaboration aufgerufen, nicht einmal pro Analyse.
Syntax¶
ENABLE_EXTERNAL_TABLE_ANALYSIS_FOR_COLLABORATION( <collaboration_name> )
Argumente¶
collaboration_nameName der Collaboration.
Rückgabewerte¶
String-Erfolgsmeldung.
Beispiel¶
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.ADMIN.ENABLE_EXTERNAL_TABLE_ANALYSIS_FOR_COLLABORATION(
$collaboration_name
);
Zugriffsanforderungen¶
Wenn Sie nicht die Rolle SAMOOHA_APP_ROLE verwenden müssen Sie eine Rolle verwenden, der die Berechtigung MANAGE FIREWALL CONFIGURATION zugewiesen wurde, um diese Prozedur aufzurufen.
VIEW_COLLABORATIONS¶
- Schema:
COLLABORATION
Anzeigen von Informationen zu Collaborations, die Sie erstellt haben, die Sie prüfen können oder denen Sie beigetreten sind.
Syntax¶
VIEW_COLLABORATIONS()
Argumente¶
None
Rückgabewerte¶
Eine Tabelle, die Details zu allen Collaborations auflistet, auf die Sie zugreifen können. Die Tabelle enthält die folgenden Spalten:
SOURCE_NAME: Der Name der Collaboration, wie durch den
name-Wert in der Collaboration-Spezifikation angegeben.COLLABORATION_NAME: Der Name der installierten Collaboration. Dieser ist NULL, bis die Collaboration durch den Aufruf von
JOIN(Eigentümer) oderREVIEW(Nicht-Eigentümer) installiert wird.OWNER_ACCOUNT: Datenfreigabe-ID des Kontos, das die Collaboration erstellt hat.
UPDATED_ON: Zeitpunkt der letzten Aktualisierung der Collaboration.
COLLABORATION_SPEC: Die Spezifikation für diese Collaboration im YAML-Format. Dies zeigt die neueste Version der Collaboration, einschließlich aller Ressourcen, die nach dem Erstellen der Collaboration hinzugefügt oder entfernt wurden. Es kann jedoch Aktualisierungsanfragen geben, die gerade ausgeführt werden und demnächst hinzugefügt werden, wie z. B. neue oder entfernte Vorlagen oder Datenangebote.
Beispiele¶
Zeigen Sie alle Collaborations an:
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.VIEW_COLLABORATIONS();
Zeigen Sie die Spezifikation für eine bestimmte Collaboration nach Namen an:
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.VIEW_COLLABORATIONS() ->>
SELECT "COLLABORATION_SPEC" FROM $1 WHERE "SOURCE_NAME" = $collaboration_name;
Zugriffsanforderungen¶
Wenn Sie nicht die Rolle SAMOOHA_APP_ROLE verwenden, müssen Sie eine Rolle verwenden, der Berechtigungen erteilt wurden, indem Sie eine der folgenden Prozeduren aufrufen:
GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('READ', 'COLLABORATION', 'collaboration name', 'role name')GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('RUN', 'COLLABORATION', 'collaboration name', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('VIEW COLLABORATIONS', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')
REVIEW¶
- Schema:
COLLABORATION
Enthält Details zu einer Collaboration, zu der Sie eingeladen wurden. Rufen Sie COLLABORATION.VIEW_COLLABORATIONS auf, um zu sehen, zu welchen Collaborations Sie eingeladen wurden und noch nicht beigetreten sind. Alle Teilnehmer außer dem Eigentümer müssen diese Prozedur aufrufen, bevor sie JOIN aufrufen. Sie können diese Prozedur nicht für eine Collaboration aufrufen, der Sie beigetreten sind. Sie müssen dieselbe Rolle zum Aufrufen von REVIEW und JOIN verwenden. Wenn sich Ihr Konto in einer anderen Cloudhosting-Region befindet als der Eigentümer, müssen Sie diese Prozedur möglicherweise mehrmals aufrufen, bis eine erfolgreiche Antwort zurückgegeben wird.
Diese Prozedur installiert die zugrunde liegende Anwendung in Ihrem Konto.
Wichtige Hinweise:
Eigentümer können nicht
REVIEWfür ihre eigene Collaboration aufrufen.Alle außer dem Eigentümer müssen
REVIEWvorJOINaufrufen.Nachdem Sie einer Collaboration beigetreten sind, können Sie
REVIEWnicht mehr aufrufen.
Syntax¶
REVIEW( <source_name>, <owner_account> )
Argumente¶
source_nameName der Collaboration, zu der Sie eingeladen wurden. Sie können eine Liste Ihrer Kooperationen einsehen, indem Sie
COLLABORATION.VIEW_COLLABORATIONSaufrufen.owner_accountDatenfreigabe-Kontobezeichner des Eigentümers. Diesen finden Sie in der Antwort auf
COLLABORATION.VIEW_COLLABORATIONS.
Rückgabewerte¶
Tabelle mit Informationen über die Collaboration, einschließlich der Collaboration-ID, Eigentümer und die Collaboration-Spezifikation.
Wenn sich Ihr Konto in einer anderen Cloudhosting-Region als die des Eigentümers der Collaboration befindet, kann REVIEW eine Meldung zurückgeben, die besagt, dass noch zusätzliche Einrichtungsschritte ausgeführt werden. Wenn Sie diese Meldung erhalten, rufen Sie REVIEW weiter auf, bis die Informationstabelle über die Collaboration zurückgegeben wird.
Beispiel¶
-- View the collaboration for your own usage.
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.REVIEW(
$collaboration_name,
'org1.account1234'
);
Zugriffsanforderungen¶
Wenn Sie nicht die Rolle SAMOOHA_APP_ROLE verwenden, müssen Sie eine Rolle verwenden, der Berechtigungen erteilt wurden, indem Sie eine der folgenden Prozeduren aufrufen:
GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')
Siehe GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE für zusätzliche erforderliche Rollenberechtigungen.
JOIN¶
- Schema:
COLLABORATION
Asynchrone Methode, um einer bestimmten Collaboration beizutreten. Beachten Sie, dass Sie zum Zeitpunkt Ihres Beitritts nur auf die Ressourcen zugreifen können, die in der Collaboration aufgeführt sind. Diese Prozedur nimmt einige Zeit in Anspruch.
Sie benötigen die Kontoberechtigung REGISTER DATA OFFERING, um einer Collaboration beizutreten, in der Sie Daten aktivieren können (d. h. Sie sind ein Analyse-Runner und die Spezifikation der Collaboration enthält ein activation_destinations-Feld). Siehe Zugriffsverwaltung API-Referenzhandbuch.
Sie können keine aktive Sekundärrolle haben, wenn Sie diese Prozedur ausführen. Führen Sie folgenden SQL-Code zum Deaktivieren von Sekundärrollen aus:
USE SECONDARY ROLES NONE;
Alle außer dem Ersteller der Collaboration müssen COLLABORATION.REVIEW aufrufen, bevor sie diese Prozedur aufrufen.
Diese Prozedur ist asynchron. Rufen Sie GET_STATUS auf, um festzustellen, ob Sie der Collaboration erfolgreich beigetreten sind.
Jeder, der eine Ressource bei der Collaboration einreicht oder eine Vorlage in der Collaboration ausführen möchte, muss der Collaboration zuerst beitreten. Der Beitritt des Erstellers der Collaboration erfolgt automatisch, wenn INITIALIZE aufgerufen wird (es sei denn, auto_join_warehouse wird bereitgestellt).
Syntax¶
JOIN( <collaboration_name> )
Argumente¶
collaboration_nameName der Collaboration, der beigetreten werden soll. Sie können eine Liste Ihrer Kooperationen einsehen, indem Sie
COLLABORATION.VIEW_COLLABORATIONSaufrufen. Wenn Sie eingeladen wurden, mehreren Collaborations mit demselben Namen beizutreten, ist dies standardmäßig die zuletzt von Ihnen aufgerufeneCOLLABORATION.REVIEW.
Rückgabewerte¶
String-Erfolgsmeldung. Wenn Sie eine Fehlermeldung über eine fehlende Berechtigung zur Verwendung von Referenzen erhalten, sehen Sie unter Anleitung zur Problembehandlung nach.
Beispiel¶
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.JOIN(
$collaboration_name
);
Zugriffsanforderungen¶
Wenn Sie nicht die Rolle SAMOOHA_APP_ROLE verwenden, müssen Sie eine Rolle verwenden, der Berechtigungen erteilt wurden, indem Sie eine der folgenden Prozeduren aufrufen:
GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')
Siehe GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE für zusätzliche erforderliche Rollenberechtigungen.
LEAVE¶
- Schema:
COLLABORATION
Verlassen einer Collaboration, der Sie beigetreten sind. Sie können einer Collaboration nicht wieder beitreten, nachdem Sie sie verlassen haben.
Sie müssen diese Prozedur zweimal aufrufen. Rufen Sie sie einmal auf, und rufen Sie dann GET_STATUS auf, bis LOCAL_DROP_PENDING zurückgegeben wird. Dann rufen Sie diese Prozedur erneut auf.
Syntax¶
LEAVE( <collaboration_name> )
Argumente¶
collaboration_nameName der zu verlassenden Collaboration.
Rückgabewerte¶
String-Erfolgsmeldung.
Beispiel¶
-- Start the process.
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.LEAVE($collaboration_name);
-- Call until it returns LOCAL_DROP_PENDING.
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.GET_STATUS($collaboration_name);
-- Final call.
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.LEAVE($collaboration_name);
Zugriffsanforderungen¶
Wenn Sie nicht die Rolle SAMOOHA_APP_ROLE verwenden, müssen Sie eine Rolle verwenden, der Berechtigungen erteilt wurden, indem Sie eine der folgenden Prozeduren aufrufen:
GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')
Siehe GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE für zusätzliche erforderliche Rollenberechtigungen.
Ausführen von Analysen und Aktivierungen¶
RUN¶
- Schema:
COLLABORATION
Führt eine Analyse im Datenreinraum aus. Sie können die Ausführungsdetails entweder als einzelne Parameter oder durch Übergabe einer YAML -Spezifikationszeichenfolge zur Analyse übergeben.
Lesen Sie die Referenz consumer.run_analysis für Hintergrundinformationen zur Ausführung einer Vorlage in einem Datenreinraum.
Es gibt zwei Versionen dieser Prozedur: eine, die die Ausführungsargumente als eine einzige YAML-formatierte Zeichenfolge betrachtet und eine, die die Argumente als einzelne Parameter erwartet.
YAML-Argument-Syntax¶
RUN( <collaboration_name>, <analysis_spec> )
Argumente¶
collaboration_nameName der Collaboration, in der diese Analyse ausgeführt werden soll.
analysis_specAnalysedefinition im YAML-Format als Zeichenfolge, welche die Vorlage, die Tabellen und die Vorlagenwerte beschreibt, die in dieser Analyse verwendet werden sollen.
Explizite Parametersyntax¶
RUN( <collaboration_name>, <template_id>, <template_view_names>, <local_template_view_names>, <arguments> )
Argumente¶
collaboration_nameName der Collaboration, in der diese Analyse ausgeführt werden soll.
template_idID der auszuführenden Vorlage.
template_view_namesArray von Zeichenfolgennamen der Quelltabellen, die in der Analyse verwendet werden sollen. Verwenden Sie von
VIEW_DATA_OFFERINGSzurückgegebene Tabellennamen in der Spalte TEMPLATE_VIEW_NAME. Das Format für jeden Eintrag istuser_alias.data_offering_id.dataset_aliaslocal_template_view_namesArray aus Zeichenfolgen-IDs Ihrer eigenen Tabellen, die Sie für die Analyse verwenden möchten. Sie müssen diese Tabellen zuerst verknüpfen, indem Sie
LINK_LOCAL_DATA_OFFERINGaufrufen.argumentsJSON-Objekt, das benannte Argumente enthält, die von der Vorlage verwendet werden, wobei jeder Schlüssel ein Name des Vorlagenarguments ist und der Wert der Wert dieses Arguments ist.
Rückgabewerte¶
Analyseergebnisse im Tabellenformat.
Beispiele¶
Beispiel für Übergabe von Parametern:
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.RUN(
$collaboration_name,
$template_name,
['Provider.data_offering_1_2026_01_12_v0.test_dataset'], -- Tables to pass to source_tables variable.
[],
{} -- Template takes no parameters.
);
Zugriffsanforderungen¶
Wenn Sie nicht die Rolle SAMOOHA_APP_ROLE verwenden, müssen Sie eine Rolle verwenden, der Berechtigungen erteilt wurden, indem Sie eine der folgenden Prozeduren aufrufen:
GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('RUN', 'COLLABORATION', 'collaboration name', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')
VIEW_ACTIVATIONS¶
- Schema:
COLLABORATION
Zeigt den Aktivierungsstatus aller Analyseläufe an, die entweder von Ihnen ausgelöst wurden, um sie an einen Teilnehmer zu senden, oder Aktivierungen, die ein Teilnehmer ausgelöst hat, um sie an Sie zu senden. Aktivierungsanfragen zum Senden von Daten an sich selbst sind nicht aufgeführt.
Weitere Informationen zur Aktivierung finden Sie unter Abfrageergebnisse aktivieren.
Syntax¶
VIEW_ACTIVATIONS( <collaboration_name> )
Argumente¶
collaboration_nameName der Collaboration.
Rückgabewerte¶
Eine Tabelle mit Details zu jeder Aktivierung. Die Tabelle enthält die folgenden Spalten:
UPDATED_ON: Zeitpunkt, zu dem der Status zuletzt aktualisiert wurde.SEGMENT_NAME: Eine beliebige Zeichenfolge, die vom Analyse-Runner zugewiesen wird, um diese Aktivierung zu identifizieren. Weitere Informationen dazu finden Sie unter Aktivieren von Abfrageergebnissen.ACTIVATION_ID: ID dieser Aktivierungsanforderung. Weitere Informationen dazu finden Sie unter Ergebnisse der Anbieter- und Verbraucheraktivierung anzeigen.TEMPLATE_ID: Vorlage, die zur Erstellung dieser Aktivierungsdaten verwendet wurde.SHARED_BY: Teilnehmer, der die Analyse ausgeführt hat.SHARED_WITH: Teilnehmer, der die Analysedaten erhalten soll.STATUS: Status der Aktivierung. Die folgenden Werte werden unterstützt:PENDING: Die Aktivierung wurde angefordert, wartet aber auf die Verarbeitung.SHARED: Die Aktivierungsdaten können verarbeitet werden. Rufen SiePROCESS_ACTIVATIONauf, um die Ergebnisse an Ihr Konto zu senden.FAILED: Aktivierungsverarbeitung fehlgeschlagen. Weitere Informationen dazu finden Sie in der SpalteDETAILS.PROCESSED: Die Ergebnisse der Aktivierung wurden an das in der Aktivierungsanfrage angegebene Konto gesendet.
DETAILS: Fehlerdetails, falls die Aktivierung fehlgeschlagen ist.
Beispiel¶
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.VIEW_ACTIVATIONS(
$collaboration_name
);
Zugriffsanforderungen¶
Wenn Sie nicht die Rolle SAMOOHA_APP_ROLE verwenden, müssen Sie eine Rolle verwenden, der Berechtigungen erteilt wurden, indem Sie eine der folgenden Prozeduren aufrufen:
GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('VIEW ACTIVATIONS', 'COLLABORATION', 'collaboration name', 'role name')GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('RUN', 'COLLABORATION', 'collaboration name', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')
PROCESS_ACTIVATION¶
- Schema:
COLLABORATION
Wenn der Analyse-Runner Daten an das Konto eines anderen Teilnehmers sendet, sollte dieser Teilnehmer PROCESS_ACTIVATION aufrufen, um die Aktivierungsdaten in sein Konto zu importieren. Der Teilnehmer sollte VIEW_ACTIVATIONS aufrufen und vor dem Aufrufen von PROCESS_ACTIVATION warten, bis die Ausgabe anzeigt, dass der Aktivierungsstatus für ein bestimmtes Segment SHARED ist.
Syntax¶
PROCESS_ACTIVATION( <collaboration_name>, <segment_name> )
Argumente¶
collaboration_nameName der Collaboration.
segment_nameEine beliebige Zeichenfolge, die zugewiesen wurde, um diese Aktivierung in der Ergebnistabelle zu identifizieren. Der Segmentname wird in der Analyseabfrage mit
template_configuration.arguments.segment_namezugewiesen. Weitere Informationen dazu finden Sie unter Aktivieren von Abfrageergebnissen.
Rückgabewerte¶
Der Name der Tabelle, in welcher der Benutzer die Ergebnisse abrufen kann, und der für die Ergebnisse angegebene Segmentname. Unter Abfrageergebnisse aktivieren erfahren Sie, wie die Ergebnisse gelesen werden.
Beispiel¶
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.PROCESS_ACTIVATION(
$collaboration_name,
'q1_2025_segment'
);
Zugriffsanforderungen¶
Wenn Sie nicht die Rolle SAMOOHA_APP_ROLE verwenden, müssen Sie eine Rolle verwenden, der Berechtigungen erteilt wurden, indem Sie eine der folgenden Prozeduren aufrufen:
GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('PROCESS ACTIVATION', 'COLLABORATION', 'collaboration name', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')
Prozeduren für das Management von Registrys¶
CREATE_REGISTRY¶
- Schema:
REGISTRY
Erstellt eine kundenspezifische Registry zum Organisieren von Ressourcen wie Vorlagen und Datenangeboten. Eine kundenspezifische Registrierung kann Ressourcen eines einzigen Typs speichern, der bei der Erstellung der Registrierung festgelegt wird.
Verwenden Sie benutzerdefinierte Registrys, um zusammengehörige Ressourcen getrennt von der lokalen Standardregistrierung zu gruppieren. Fügen Sie dieser Registrierung mit dem optionalen Parameter „registry name“ Ressourcen hinzu.
Syntax¶
CREATE_REGISTRY( '<registry_name>', <registry_type> )
Argumente¶
registry_nameName der zu erstellenden Registry. Der Name muss unter allen Registrys des Kontos eindeutig sein.
registry_typeDer Typ der Ressourcen, die diese Registry enthalten wird. Unterstützte Werte:
TEMPLATE,DATA OFFERING.
Rückgabewerte¶
String-Erfolgsmeldung.
Beispiel¶
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.REGISTRY.CREATE_REGISTRY(
'my_custom_registry',
'TEMPLATE'
);
Zugriffsanforderungen¶
Wenn Sie nicht die Rolle SAMOOHA_APP_ROLE verwenden, müssen Sie eine Rolle verwenden, der Berechtigungen erteilt wurden, indem Sie die folgende Prozedur aufrufen:
GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE REGISTRY', 'role name')
DROP_REGISTRY¶
- Schema:
REGISTRY
Löscht eine kundenspezifische Registry und hebt die Registrierung aller darin enthaltenen Objekte auf. Sie können nur Registrys löschen, die Sie selbst erstellt haben.
Syntax¶
DROP_REGISTRY( '<registry_name>' )
Argumente¶
registry_nameName der zu löschenden Registry.
Rückgabewerte¶
String-Erfolgsmeldung.
Beispiel¶
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.REGISTRY.DROP_REGISTRY(
'my_custom_registry'
);
Zugriffsanforderungen¶
Wenn Sie nicht die Rolle SAMOOHA_APP_ROLE verwenden, müssen Sie eine Rolle verwenden, der Berechtigungen erteilt wurden, indem Sie die folgende Prozedur aufrufen:
GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE REGISTRY', 'role name')
Prozeduren für die Zugriffsverwaltung¶
Die SAMOOHA_APP_ROLE-Rolle gewährt Zugriff auf alle DCR Collaboration-API-Prozeduren. Wenn ein Administrator jedoch bestimmten Rollen detailliertere Berechtigungen erteilen möchte, können Sie mithilfe der in diesem Abschnitt beschriebenen Verfahren eine Rolle erstellen und dieser Rolle spezifische Berechtigungen erteilen.
Erfahren Sie mehr über die Zugriffsgewährung unter Verwalten des Zugriffs auf die DCR Collaboration-API.
Die folgenden Verfahren dienen der Verwaltung des fein abgestuften Zugriffs auf die Snowflake Data Clean Room Collaboration-API:
GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE¶
- Schema:
ADMIN
Gewährt einer bestimmten Rolle die Berechtigung, bestimmte Prozeduren für ein bestimmtes Objekt aufzurufen. Der Typ des Objekts wird mit dem OBJECT_TYPE-Argument definiert.
Sie können diese Prozedur mehrmals aufrufen, um derselben Rolle mehrere Berechtigungen zu erteilen. Führen Sie diese Prozedur mit der Rolle aus, die Eigentümer des Objekts ist.
Syntax¶
GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE(
<privilege>,
<object_type>,
<object_name>,
<account_role_name> )
Argumente¶
privilegeWelche Berechtigung dieser Rolle erteilt werden soll. In der folgenden Tabelle können Sie erfahren, welche Berechtigungen für welche Objekte verfügbar sind.
object_typeDer Typ des Objekts, für das dieser Rolle Berechtigungen erteilt werden. Unterstützte Werte:
COLLABORATIONREGISTRY
object_nameDie ID des Objekts, wie in der Spezifikation des Objekts angegeben.
account_role_nameDie zugewiesene Rolle.
Die folgenden Kombinationen von Berechtigungen und Objekttypen werden unterstützt:
Berechtigung |
Objekttyp |
Aktivierte Prozeduren |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
Anzeigen von Ressourcen, die in einer kundenspezifischen Registry registriert sind. |
|
|
Registrieren von Ressourcen wie Vorlagen und Datenangebote in einer kundenspezifischen Registry. |
Rückgabewerte¶
String-Erfolgsmeldung.
Beispiel¶
Dieses Beispiel erstellt eine Rolle, mit der Analysten ihre Analysen in einer Collaboration namens my_collaboration durchführen können, und weist sie einem Benutzer zu.
USE ROLE role_that_created_this_collaboration;
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.ADMIN.GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE(
'RUN',
'COLLABORATION',
$collaboration_name,
'collaborator_analyst_role'
);
GRANT ROLE collaborator_analyst_role to USER alexander_hamilton;
Zugriffsanforderungen¶
Sie müssen dieselbe Rolle verwenden, die das aufzurufende Objekt GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE für dieses Objekt erstellt hat.
GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE¶
- Schema:
ADMIN
Erteilt einer Rolle Berechtigungen auf Kontoebene. Mit dieser Prozedur kann jeder, der diese Rolle verwendet, die für diese Berechtigung aufgeführten Prozeduren aufrufen.
Syntax¶
GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE( <privilege>, <account_role_name> )
Argumente¶
privilegeDie Berechtigung, die dieser Rolle zugewiesen wird. Die folgenden Zeichenfolgenwerte werden unterstützt:
JOIN COLLABORATION: Erteilt die Berechtigung zur Ausführung vonCOLLABORATION.JOINsowie der folgenden Verfahren für die beigetretene Collaboration:ADMIN.GRANT_PRIVILEGE_ON_OBJECT_TO_ROLECOLLABORATION.ADD_TEMPLATE_REQUESTCOLLABORATION.APPROVE_UPDATE_REQUESTCOLLABORATION.ENABLE_TEMPLATE_AUTO_APPROVALCOLLABORATION.DISABLE_TEMPLATE_AUTO_APPROVALCOLLABORATION.REMOVE_TEMPLATECOLLABORATION.GET_STATUSCOLLABORATION.LEAVECOLLABORATION.LINK_DATA_OFFERINGCOLLABORATION.LINK_LOCAL_DATA_OFFERINGCOLLABORATION.PROCESS_ACTIVATIONCOLLABORATION.REJECT_UPDATE_REQUESTCOLLABORATION.REVIEWCOLLABORATION.RUNCOLLABORATION.TEARDOWNCOLLABORATION.UNLINK_DATA_OFFERINGCOLLABORATION.UNLINK_LOCAL_DATA_OFFERINGCOLLABORATION.VIEW_ACTIVATIONSCOLLABORATION.VIEW_COLLABORATIONSCOLLABORATION.VIEW_DATA_OFFERINGSCOLLABORATION.VIEW_TEMPLATESCOLLABORATION.VIEW_UPDATE_REQUESTSREGISTRY.VIEW_REGISTERED_DATA_OFFERINGSREGISTRY.VIEW_REGISTERED_TEMPLATES
Für diese Berechtigung müssen der Rolle die folgenden Berechtigungen auf Kontoebene manuell erteilt werden:
APPLY ROW ACCESS POLICY
CREATE APPLICATION
CREATE DATABASE
CREATE-LISTING
CREATE SHARE
IMPORT SHARE
MANAGE SHARE TARGET
CREATE COLLABORATION: Erteilt die Berechtigung zur Ausführung vonCOLLABORATION.INITIALIZEsowie aller durchJOIN COLLABORATIONerlaubten Prozeduren für die beigetretene Collaboration. Erfordert, dass die folgenden Berechtigungen auf Kontoebene der Rolle manuell gewährt werden:APPLY ROW ACCESS POLICY
CREATE APPLICATION
CREATE DATABASE
CREATE-LISTING
CREATE SHARE
IMPORT SHARE
MANAGE SHARE TARGET
EXECUTE TASK (bei Verwendung des automatischen Beitritts in der Prozedur INITIALIZE)
VIEW COLLABORATIONS: Erteilt die Berechtigung zur Ausführung vonCOLLABORATION.VIEW_COLLABORATIONS. Die folgenden Berechtigungen müssen der Rolle manuell gewährt werden:IMPORT SHARE
REGISTER DATA OFFERING: Erteilt die Berechtigung zur Ausführung vonREGISTRY.REGISTER_DATA_OFFERING. Diese Berechtigung ist für jeden Analyse-Runner erforderlich, um einer Collaboration beizutreten, die die Aktivierung implementiert.VIEW REGISTERED DATA OFFERINGS: Erteilt die Berechtigung zur Ausführung vonREGISTRY.VIEW_REGISTERED_DATA_OFFERINGS.VIEW REGISTERED TEMPLATES: Erteilt die Berechtigung zur Ausführung vonREGISTRY.VIEW_REGISTERED_TEMPLATES.REGISTER TEMPLATE: Erteilt die Berechtigung zur Ausführung vonREGISTRY.REGISTER_TEMPLATE.CREATE REGISTRY: Erteilt die Berechtigung zur Ausführung vonREGISTRY.CREATE_REGISTRYund ``REGISTRY.DROP_REGISTRY``sowie die Fähigkeit, aus kundenspezifischen Registrys zu lesen.MANAGE LISTING AUTO FULFILLMENT: Erteilt einem Teilnehmer die Berechtigung, einer Collaboration in einer anderen Cloudhosting-Region beizutreten. Weitere Informationen dazu finden Sie unter Cloud-übergreifende automatische Ausführung aktivieren.
account_role_nameDer Name einer Rolle auf Kontoebene.
Rückgabewerte¶
String-Erfolgsmeldung.
Beispiel¶
USE ROLE ACCOUNTADMIN;
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.ADMIN.GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE(
'REGISTER DATA OFFERING',
'COLLABORATOR_ANALYST_ROLE'
);
Zugriffsanforderungen¶
Sie benötigen die ACCOUNTADMIN-Rolle, um diese Prozedur auszuführen.