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- undREGISTRY-Schemas.

Bemerkung

Sie sollten Sekundärrollen in Ihrer Umgebung deaktivieren, wenn Sie die Collaboration-API verwenden:

USE SECONDARY ROLES NONE;

Wie Sie Ihre Entwicklungsumgebung einrichten, erfahren Sie unter Einrichten Ihrer Umgebung.

Unter Verwenden von DCR-Berechtigungen zum Verwalten von Berechtigungen für Konten, Objekte und Prozeduren erfahren Sie, wie Sie den Zugriff auf die Zusammenarbeits-API-Prozeduren verwalten können.

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?

VIEW_COLLABORATIONS: Suchen Sie nach Collaborations, bei denen die Spalte collaboration_name gleich NULL ist.

Welchen Collaborations bin ich beigetreten?

VIEW_COLLABORATIONS: Suchen Sie nach Collaborations, bei denen die collaboration_name-Spalte nicht NULL ist, was bedeuten kann, dass Sie die Collaboration entweder erstellt haben oder ihr beigetreten sind.

Welche Collaborations gehören mir?

VIEW_COLLABORATIONS: Suchen Sie in der Spalte owner_account.

Wie ist der Status aller Teilnehmer einer Collaboration?

GET_STATUS

Wie ist der Verknüpfungs- oder Erstellungsstatus einer Collaboration?

GET_STATUS oder VIEW_COLLABORATIONS

Wem gehört eine bestimmte Collaboration?

GET_STATUS: Suchen Sie nach OWNER in der Spalte roles.

Was ist meine Collaboration-Rolle in einer bestimmten Collaboration?

GET_STATUS: Suchen Sie in der Spalte roles.

Welche Collaboration-Rollen werden in einer bestimmten Collaboration zugewiesen?

GET_STATUS: Suchen Sie in der Spalte roles.

Was ist die Spezifikation einer bestimmten Collaboration?

VIEW_COLLABORATIONS: Suchen Sie in der Spalte collaboration_spec.

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 VIEW_COLLABORATIONS aufrufen, um zu sehen, wann die letzten Aktualisierungen angewendet wurden.

Welche ausstehenden Aktualisierungsanfragen habe ich?

VIEW_UPDATE_REQUESTS. Suchen Sie nach Zeilen mit STATUS = PENDING_MY_APPROVAL.

Zeige mir die Spezifikation für eine bestimmte Collaboration

REVIEW gibt die Collaboration-Spezifikation zurück. Wenn Sie bereits REVIEW aufgerufen haben oder der Collaboration beigetreten sind, rufen Sie den folgenden SQL-Befehl mit Ihrem Collaboration-Namen wie angegeben auf:

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 eine eindeutige Kombination aus Name und 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_spec

Vorlagendefinition 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. Die Tabelle enthält die folgenden Spalten:

  • TEMPLATE_ID: ID der Vorlage.

  • NAME: Name der Vorlage.

  • VERSION: Version der Vorlage.

  • TEMPLATE_SPEC: Vollständige YAML-Spezifikation der Vorlage.

  • REGISTRY: Registry, in der die Vorlage registriert ist.

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 Verknüpfen einer Vorlage mit 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 mit einer vorhandenen Collaboration zu verknüpfen, 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 zu der bestehenden Liste der Freigaben hinzugefügt.

Um den Status der Anfrage zu sehen, rufen Sie VIEW_UPDATE_REQUESTS auf.

Siehe den Link-Vorlagen-Workflow.

Syntax

ADD_TEMPLATE_REQUEST( <collaboration_name>, <template_id>, <share_with> )

Argumente

collaboration_name

Name der Collaboration, mit der die Vorlage verknüpft werden soll.

template_id

ID der Vorlage, mit der die Collaboration verknüpft werden soll. Registrieren Sie die Vorlage, um diesen Wert zu erhalten.

share_with

Array 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 link 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 verwenden.

Syntax

REMOVE_TEMPLATE( <collaboration_name>, <template_id>, <remove_for> )

Argumente

collaboration_name

Name der Collaboration, aus der die Vorlage entfernt werden soll.

template_id

ID der Vorlage, die aus der Collaboration entfernt werden soll.

remove_for

Array 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_name

Name 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 Tabelle enthält die folgenden Spalten:

  • template_id: ID der Vorlage. Übergeben Sie diese im template-Feld oder``template_id``-Parameter Ihres RUN-Befehls.

  • template_spec: Die Vorlagenspezifikation für diese Vorlage, die die vollständigen JinjaSQL für diese Vorlage enthält.

  • parameters: Eine Beschreibung aller Argumente, die von dieser Vorlage akzeptiert werden, im JSON-Format. Zu den Informationen zu jedem Parameter gehören der Name, der Standardwert, die vom Vorlagenanbieter geschriebene Beschreibung und die Angabe, ob er erforderlich ist. Übergeben Sie Werte für diese Parameter in Ihren RUN-Befehl.

  • shared_by: Der Teilnehmer, der diese Vorlage registriert hat.

  • shared_with: Die Teilnehmer, für die diese Vorlage freigegeben ist.

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_name

Name 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_name

Name 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 mit einer Collaboration-Definition verknüpft 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 eine eindeutige Kombination aus Name + Version für alle Datenangebote in allen Registrys Ihres Kontos haben.

Wenn Sie diese Tabelle für andere Mitglieder der Collaboration freigeben möchten, schließen Sie die Tabelle vor dem Erstellen der Collaboration in die Collaboration-Spezifikationen ein.

Sie müssen über die REFERENCE_USAGE-Berechtigung mit GRANT OPTION für alle Daten verfügen, 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_spec

Eine 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').


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 die Details aller Datenangebote auflistet, die Sie in diesem Konto registriert haben. Die Tabelle enthält die folgenden Spalten:

  • DATA_OFFERING_ID: ID des Datenangebots.

  • NAME: Name des Datenangebots.

  • VERSION: Version des Datenangebots.

  • DATA_OFFERING_SPEC: Vollständige YAML-Spezifikation des Datenangebots.

  • REGISTRY: Registry, in der das Datenangebot registriert ist.

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 verknüpft 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_name

Name der zu untersuchenden Collaboration.

Rückgabewerte

Informationen über alle Datenangebote in der angegebenen Collaboration. Die Tabelle enthält die folgenden Spalten:

  • template_view_name: Der vollqualifizierte Name der Ansicht, mit dem beim Aufruf von RUN zur Abfrage mit einer Vorlage auf Angebote verwiesen wird. Übergeben Sie diesen Namen im Feld source_tables in derRUN-Spezifikation.

  • template_join_columns: Namen der Spalten in dieser Tabelle, die in Joins von vorlagenbasierten Abfragen verwendet werden können.

  • analysis_allowed_columns: Namen der Spalten in dieser Tabelle, die in vorlagenbasierten Abfragen projiziert werden können.

  • activation_allowed_columns: Namen der Spalten in dieser Tabelle, die aktiviert werden können.

  • 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.

  • freeform_sql_column_policies: Ein JSON-Darstellung aller Freiform-Spaltenrichtlinien in dieser Collaboration, verschlüsselt nach Richtlinientyp.

  • shared_by: Der Teilnehmer, der dieses Datenangebot verknüpft hat.

  • shared_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.

  • data_offering_id: Die eindeutigeID dieses Datenangebots, das bei der Registrierung generiert wurde.

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 kundenspezifische Funktionen

REGISTER_CODE_SPEC

Schema:

REGISTRY

Registriert ein Code-Bundle. Dies speichert den Code in der Clean Room-Umgebung in der Tabelle REGISTRY.CODE_SPECS. Nachdem eine Codespezifikation registriert wurde, kann sie von einer Vorlage verwendet werden.

Jede registrierte Codespezifikation muss eine eindeutige Kombination aus Name und Version für alle Registrys in Ihrem Konto haben.

Syntax

REGISTER_CODE_SPEC( ['<registry_name>' ,] <code_spec> )

Argumente

registry_name (Optional)

Name einer kundenspezifischen Registry, in der diese Codespezifikation registriert werden soll. Wenn nicht angegeben, wird die Codespezifikation in der standardmäßigen Konto-Registry registriert.

code_spec

Definition der Code-Bundle-Spezifikation im YAML-Format als Zeichenfolge.

Rückgabewerte

Die ID der generierten Code-Bundle-Spezifikation.

Beispiele

Registrieren eines Code-Bundles in der Standard-Registry:

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.REGISTRY.REGISTER_CODE_SPEC(
  $$
  api_version: 2.0.0
  spec_type: code_spec
  name: custom_udf
  version: v1
  description: Custom UDF for data normalization

  functions:
    - name: normalize_value
      type: UDF
      language: PYTHON
      runtime_version: "3.10"
      handler: normalize
      arguments:
        - name: value
          type: FLOAT
        - name: min_val
          type: FLOAT
        - name: max_val
          type: FLOAT
      returns: FLOAT
      code_body: |
        def normalize(value, min_val, max_val):
            if max_val == min_val:
                return 0.0
            return (value - min_val) / (max_val - min_val)
  $$
);

Registrieren eines Code-Bundles in einer kundenspezifischen Registry:

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.REGISTRY.REGISTER_CODE_SPEC(
  'my_custom_registry',
  $$
  api_version: 2.0.0
  spec_type: code_spec
  name: custom_udf
  version: v1
  description: Custom UDF for data normalization

  functions:
    - name: normalize_value
      type: UDF
      language: PYTHON
      runtime_version: "3.10"
      handler: normalize
      arguments:
        - name: value
          type: FLOAT
        - name: min_val
          type: FLOAT
        - name: max_val
          type: FLOAT
      returns: FLOAT
      code_body: |
        def normalize(value, min_val, max_val):
            if max_val == min_val:
                return 0.0
            return (value - min_val) / (max_val - min_val)
  $$
);

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 CODE SPEC', '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_CODE_SPECS

Schema:

REGISTRY

Listet alle Code-Bundle-Spezifikationen auf, die von dieser Rolle in der lokalen Konto-Registry registriert wurden.

Syntax

VIEW_REGISTERED_CODE_SPECS( [ '<registry_name>' ] )

Argumente

registry_name (Optional)

Name einer kundenspezifischen Registry zum Auflisten von Code-Bundles. Wenn nicht angegeben, werden Code-Bundles aus der Standardkonto-Registry aufgelistet.

Rückgabewerte

Eine Tabelle, die die Details aller Codespezifikationen auflistet, die Sie in diesem Konto registriert haben. Die Tabelle enthält die folgenden Spalten:

  • code_spec_id: ID der Code-Bundle-Spezifikation.

  • name: Name der Code-Bundle-Spezifikation.

  • version: Version der Code-Bundle-Spezifikation.

  • code_spec: Vollständige YAML-Spezifikation der Code-Bundle-Spezifikation.

Beispiel

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.REGISTRY.VIEW_REGISTERED_CODE_SPECS();

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 CODE SPECS', '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_CODE_SPECS

Schema:

COLLABORATION

Gibt alle Code-Bundle-Spezifikationen zurück, die von einer beliebigen Vorlage referenziert werden, die Sie erstellt haben oder die in der angegebenen Zusammenarbeit ausgeführt werden können.

Syntax

VIEW_CODE_SPECS( <collaboration_name> )

Argumente

collaboration_name

Name der Collaboration.

Rückgabewerte

Eine Tabelle, die die in der angegebenen Zusammenarbeit verfügbaren Code-Bundles auflistet. Die Tabelle enthält die folgenden Spalten:

  • code_spec_id: ID dieser Code-Bundle-Spezifikation.

  • code_spec: Vollständige YAML-Spezifikation der Code-Bundle-Spezifikation.

  • shared_by: Teilnehmeralias, der die Code-Bundle-Spezifikation freigegeben hat.

Beispiel

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.VIEW_CODE_SPECS(
  $collaboration_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('VIEW CODE SPECS', '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 Verknüpfen 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. Dazu gehören alle Änderungen für die Collaboration wie das Hinzufügen von Datenangeboten, Vorlagen und Codepaketen. Diese Prozedur zeigt den Status der Aktualisierung an. Es kann einige Sekunden dauern, bis eine Aktualisierungsanfrage in der Anfrageliste angezeigt wird, sodass Sie möglicherweise eine Anfrage noch nicht sehen, die Sie gerade erst gesendet haben.

Siehe den Link-Vorlagen-Workflow.

Syntax

VIEW_UPDATE_REQUESTS( <collaboration_name> )

Argumente

collaboration_name

Name 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:

    • Vorlage hinzufügen

    • Datenangebot verknüpfen

    • Verknüpfung des Datenangebots aufheben

    • Vorlage entfernen

  • status: Aktueller Status der Anfrage. Die folgenden Status können gemeldet werden:

    • REQUESTED: Die Anfrage wurde übermittelt.

    • PENDING_MY_APPROVAL: Der Antrag wartet auf Ihre Genehmigung oder Ablehnung.

    • PENDING_PARTNER_APPROVAL: Sie haben die Anfrage genehmigt, aber die Anfrage muss noch von einem oder mehreren anderen Teilnehmern genehmigt werden.

    • REJECTED: Personen in der Collaboration haben diese Anfrage abgelehnt.

    • APPROVED: Alle erforderlichen Genehmigenden haben die Anforderung genehmigt.

    • COMPLETED: Die Aktualisierungsaktion ist abgeschlossen und die Änderungen wurden auf die Collobration angewendet. Bei Vorlagen, die ein Code-Bundle enthalten, sollten Sie trotzdem den Upgrade-Status überprüfen, um zu sehen, wann das Code-Bundle zum Abrufen bereit ist.

    • FAILED: Die Aktualisierungsaktion ist fehlgeschlagen. Die Spalte DETAILS enthält die Fehlerdetails.

  • 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('VIEW UPDATE REQUESTS', 'COLLABORATION', 'collaboration name', 'role name')

  • 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 den Link-Vorlagen-Workflow.

Syntax

APPROVE_UPDATE_REQUEST( <collaboration_name>, <request_id> )

Argumente

collaboration_name

Name der Collaboration.

request_id

ID 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_name

Name der Collaboration.

request_id

ID der Anfrage.

reason

Eine 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. Wenn auto_join_warehouse FALSE ist, müssen Sie JOIN aufrufen, um die Collaboration für andere Teilnehmer verfügbar zu machen. Sie müssen dieselbe Rolle zum Aufrufen von INITIALIZE und dann JOIN verwenden.

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.

Syntax

INITIALIZE( <collaboration_spec> [, '<auto_join_warehouse>'] )

Argumente

collaboration_spec

Definition 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.

  • auto_join_task: Wenn auto_join_warehouse angegeben wurde, gibt dies an, ob die Auto-Join-Aufgabe erstellt wurde.

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_name

Name 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_name

Name der Collaboration, deren Status angezeigt werden soll. Sie können eine Liste Ihrer Collaborations einsehen, indem Sie COLLABORATION.VIEW_COLLABORATIONS aufrufen. Sie müssen erst zu einer Collaboration eingeladen werden oder ihr beigetreten sein, bevor Sie GET_STATUS fü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.

  • 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.

    • CREATE_TIMED_OUT: Zeitüberschreitung der Erstellung der Collaboration.

    • 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.

    • JOINING: Der Beitretungsprozess hat begonnen.

    • JOIN_FAILED: Beitretungsprozess fehlgeschlagen.

    • JOINED: Erfolgreich zur Collaboration beigetreten. Sie können mit der Verwendung der Collaboration beginnen.

    • 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 TEARDOWN oder LEAVE erneut aufrufen.

    • DROPPING: Der Löschvorgang hat begonnen.

    • DROPPED: Erfolgreich gelöscht.

    • DROP_FAILED: Löschvorgang fehlgeschlagen.

  • details: Zusätzliche Details zum aktuellen Status, falls verfügbar.

  • region: Die Cloud-Region dieses Teilnehmers.

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('GET STATUS', '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_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_name

Name der Collaboration.

Rückgabewerte

Eine Tabelle mit einer MESSAGE-Spalte, die eine Erfolgsmeldung enthält.

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) oder REVIEW (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 verknüpft oder entfernt wurden. Es kann jedoch Aktualisierungsanfragen geben, die gerade ausgeführt werden und demnächst verknüpft 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 REVIEW für ihre eigene Collaboration aufrufen.

  • Alle außer dem Eigentümer müssen REVIEW vor JOIN aufrufen.

  • Nachdem Sie einer Collaboration beigetreten sind, können Sie REVIEW nicht mehr aufrufen.

Syntax

REVIEW( <source_name>, <owner_account> )

Argumente

source_name

Name der Collaboration, zu der Sie eingeladen wurden. Sie können eine Liste Ihrer Collaborations einsehen, indem Sie COLLABORATION.VIEW_COLLABORATIONS aufrufen.

owner_account

Datenfreigabe-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('REVIEW COLLABORATION', 'role name')

  • 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 einreichen oder eine Vorlage in der Collaboration ausführen möchte, muss zuerst der Collaboration beitreten. Der Ersteller der Zusammenarbeit tritt automatisch bei, wenn er INITIALIZE aufruft (es sei denn,``auto_join_warehouse`` ist auf FALSE gesetzt).

Syntax

JOIN( <collaboration_name> )

Argumente

collaboration_name

Name der Collaboration, der beigetreten werden soll. Sie können eine Liste Ihrer Collaborations einsehen, indem Sie COLLABORATION.VIEW_COLLABORATIONS aufrufen. Wenn Sie eingeladen wurden, mehreren Collaborations mit demselben Namen beizutreten, ist dies standardmäßig die zuletzt von Ihnen aufgerufene COLLABORATION.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_name

Name 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.


GET_CONFIGURATION

Schema:

COLLABORATION

Gibt die aktuellen Konfigurationseinstellungen für eine Collaboration zurück. Sie müssen der Collaboration beigetreten sein, bevor Sie diese Prozedur aufrufen.

Syntax

GET_CONFIGURATION( <collaboration_name> )

Argumente

collaboration_name

Name der Collaboration.

Rückgabewerte

Eine Tabelle mit den folgenden Spalten:

Spalte

Beschreibung

CONFIGURATION

Der Name der Konfigurationseinstellung.

VALUE

Der aktuelle Wert der Konfiguration.

STATUS

Gibt an, ob der Wert ACTIVE oder``PENDING`` ist (eine Änderung wurde angefordert, aber noch nicht angewendet).

Unterstützte Konfigurationen

Konfigurationsname

Beschreibung

TEMPLATE_AUTO_APPROVAL

Ob Anfragen zur Aktualisierung von Vorlagen von anderen Teilnehmern automatisch genehmigt werden. Werte: true oder false Standard: false.

Beispiel

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.GET_CONFIGURATION(
  $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('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')


SET_CONFIGURATION

Schema:

COLLABORATION

Legt einen Konfigurationswert für eine Collaboration fest. Die Änderung ist asynchron: Rufen Sie GET_CONFIGURATION auf, um zu prüfen, ob der neue Wert angewendet wurde. Sie müssen der Collaboration beigetreten sein, bevor Sie diese Prozedur aufrufen.

Verwenden Sie diese Prozedur, um die automatische Genehmigung von Vorlagen zu verwalten, anstelle der veralteten ENABLE_TEMPLATE_AUTO_APPROVAL- undDISABLE_TEMPLATE_AUTO_APPROVAL -Prozeduren. Wenn Sie TEMPLATE_AUTO_APPROVAL auf true festlegen, wird die automatische Genehmigung aktiviert. Mit false wird sie deaktiviert.

Syntax

SET_CONFIGURATION( <collaboration_name>, <config_name>, <value> )

Argumente

collaboration_name

Name der Collaboration.

config_name

Name der Konfiguration, die festgelegt werden soll. Siehe GET_CONFIGURATION für unterstützte Konfigurationsnamen.

value

Der neue Wert für die Konfiguration. Muss ein gültiger Wert für den angegebenen Konfigurationsnamen sein.

Rückgabewerte

Eine Zeichenfolge-Meldung, die bestätigt, dass die Anfrage akzeptiert wurde.

Beispiel

-- Enable automatic approval of template requests
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.SET_CONFIGURATION(
  $collaboration_name,
  'TEMPLATE_AUTO_APPROVAL',
  'true'
);

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

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.

Syntax

YAML-Argument-Syntax:

RUN( <collaboration_name>, <analysis_spec> )

Explizite Parametersyntax:

RUN( <collaboration_name>, <template_id>, <template_view_names>, <local_template_view_names>, <arguments> )

Argumente

collaboration_name

Name der Collaboration, in der diese Analyse ausgeführt werden soll.

analysis_spec

Analysedefinition im YAML-Format als Zeichenfolge, welche die Vorlage, die Tabellen und die Vorlagenwerte beschreibt, die in dieser Analyse verwendet werden sollen. Wird mit der YAML-Argument-Syntax verwendet.

template_id

ID der auszuführenden Vorlage.

template_view_names

Array von Zeichenfolgennamen der Quelltabellen, die in der Analyse verwendet werden sollen. Verwenden Sie von VIEW_DATA_OFFERINGS zurückgegebene Tabellennamen in der Spalte template_view_name. Das Format für jeden Eintrag ist user_alias.data_offering_id.dataset_alias

local_template_view_names

Array 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_OFFERING aufrufen.

arguments

JSON-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 Implementierung der Aktivierung.

Syntax

VIEW_ACTIVATIONS( <collaboration_name> )

Argumente

collaboration_name

Name 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.

  • batch_id: Batch-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.

    • REPLICATING: Aktivierungsdaten werden in die Zielregion repliziert.

    • SHARED: Die Aktivierungsdaten können verarbeitet werden. Rufen Sie PROCESS_ACTIVATION auf, um die Ergebnisse an Ihr Konto zu senden.

    • FAILED: Aktivierungsverarbeitung fehlgeschlagen. Weitere Informationen dazu finden Sie in der Spalte details.

    • 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.

Weitere Informationen dazu finden Sie unter Implementierung der Aktivierung.

Syntax

PROCESS_ACTIVATION( <collaboration_name> [, <segment_name> | <array_of_batch_ids> ] )

Argumente

collaboration_name

Name der Collaboration.

segment_name (Optional)

Zeichenfolgenname eines bestimmten Aktivierungssegments, das verarbeitet werden soll.

batch_ids (Optional)

Zeichenfolgenarray der Batch-IDs von zu verarbeitenden Aktivierungen. Dieser Wert wird von VIEW_ACTIVATIONS zurückgegeben. Wenn der Parameter nicht enthalten ist, verarbeitet die Anforderung alle ausstehenden Aktivierungen in der angegebenen Collaboration für den Aufrufenden.

Rückgabewerte

Der Name der Tabelle, in welcher der Benutzer die Ergebnisse abrufen kann, und der für die Ergebnisse angegebene Segmentname. Unter Implementierung der Aktivierung erfahren Sie, wie die Ergebnisse gelesen werden.

Beispiel

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.PROCESS_ACTIVATION(
  $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('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

Dieser Abschnitt enthält Prozeduren zum Registrieren von Objekten. Weitere Informationen dazu:

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_name

Name der zu erstellenden Registry. Der Name muss unter allen Registrys des Kontos eindeutig sein.

registry_type

Der 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')


VIEW_REGISTRIES

Schema:

REGISTRY

Listet alle Registrys auf, auf die Sie Zugriff haben, einschließlich der lokalen Standard-Registry und aller kundenspezifischen Registrys.

Syntax

VIEW_REGISTRIES()

Argumente

Keine.

Rückgabewerte

Eine Tabelle mit einer Zeile für jede Registry, auf die Sie zugreifen können.

Beispiel

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.REGISTRY.VIEW_REGISTRIES();

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('VIEW REGISTRIES', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE REGISTRY', 'role name')

Damit eine benutzerdefinierte Registry für VIEW_REGISTRIES sichtbar ist, müssen Sie auch über die READ- oder REGISTER-Berechtigung verfügen, die durch einen der folgenden Prozeduraufrufe gewährt werden:

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('READ', 'REGISTRY', 'registry name', 'role name')

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('REGISTER', 'REGISTRY', 'registry name', 'role name')

Prozeduren für die Zugriffsverwaltung

Die SAMOOHA_APP_ROLE-Rolle gewährt Zugriff auf alle Data Clean Room 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 Verwaltung des Zugriffs auf Collaboration-API: Die Dokumentation zur Zugriffsverwaltung.

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.

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

'privilege'

Welche Berechtigung dieser Rolle erteilt werden soll. In der folgenden Tabelle können Sie erfahren, welche Berechtigungen für welche Objekte verfügbar sind.

'object_type'

Der Typ des Objekts, für das dieser Rolle Berechtigungen erteilt werden. Unterstützte Werte:

  • COLLABORATION

  • REGISTRY

'object_name'

Die ID des Objekts, wie in der Spezifikation des Objekts angegeben.

'account_role_name'

Die zugewiesene Rolle.

Die folgenden Kombinationen von Berechtigungen und Objekttypen werden unterstützt:

Zusammengesetzte Berechtigungen

Die folgenden zusammengesetzten Berechtigungen gewähren Zugriff auf mehrere Prozeduren gleichzeitig:

Berechtigung

Objekttyp

Aktivierte Prozeduren

READ

COLLABORATION

VIEW_COLLABORATIONS, GET_STATUS, GET_CONFIGURATION, VIEW_CODE_SPECS, VIEW_DATA_OFFERINGS, VIEW_UPDATE_REQUESTS, VIEW_TEMPLATES

RUN

COLLABORATION

RUN, VIEW_ACTIVATIONS, VIEW_COLLABORATIONS

UPDATE

COLLABORATION

LINK_LOCAL_DATA_OFFERING, UNLINK_LOCAL_DATA_OFFERING, ADD_TEMPLATE_REQUEST, REMOVE_TEMPLATE, APPROVE_UPDATE_REQUEST, REJECT_UPDATE_REQUEST, ENABLE_TEMPLATE_AUTO_APPROVAL, DISABLE_TEMPLATE_AUTO_APPROVAL, SET_CONFIGURATION, VIEW_UPDATE_REQUESTS

READ

REGISTRY

Anzeigen von Ressourcen, die in einer kundenspezifischen Registry registriert sind.

REGISTER

REGISTRY

Registrieren oder Anzeigen von Ressourcen wie Vorlagen und Datenangebote in einer kundenspezifischen Registry.

Fein abgestufte Berechtigungen

Die folgenden fein abgestuften Berechtigungen gewähren Zugriff auf einzelne Prozeduren einer bestimmten Collaboration:

Berechtigung

Aktivierte Prozeduren

GET STATUS

GET_STATUS

VIEW DATA OFFERINGS

VIEW_DATA_OFFERINGS

VIEW TEMPLATES

VIEW_TEMPLATES

VIEW CODE SPECS

VIEW_CODE_SPECS

VIEW UPDATE REQUESTS

VIEW_UPDATE_REQUESTS

VIEW ACTIVATIONS

VIEW_ACTIVATIONS

ADD TEMPLATE REQUEST

ADD_TEMPLATE_REQUEST

REMOVE TEMPLATE

REMOVE_TEMPLATE

MANAGE UPDATE REQUEST

APPROVE_UPDATE_REQUEST, REJECT_UPDATE_REQUEST

MANAGE TEMPLATE AUTO APPROVAL

ENABLE_TEMPLATE_AUTO_APPROVAL, DISABLE_TEMPLATE_AUTO_APPROVAL, GET_CONFIGURATION, SET_CONFIGURATION

LINK LOCAL DATA OFFERINGS

LINK_LOCAL_DATA_OFFERING

UNLINK LOCAL DATA OFFERINGS

UNLINK_LOCAL_DATA_OFFERING

PROCESS ACTIVATION

PROCESS_ACTIVATION

Rückgabewerte

Eine Tabelle mit einer MESSAGE-Spalte, die eine Erfolgsmeldung enthält.

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.

  • Bei Collaborations kann jede Rolle mit CREATECOLLABORATION oder JOINCOLLABORATION GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE für jede Collaboration aufrufen.

  • Bei Registrys kann nur die Rolle, die die Registry erstellt hat, GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE für diese Registry aufrufen.


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

'privilege'

Die Berechtigung, die dieser Rolle zugewiesen wird. Die folgenden Zeichenfolgenwerte werden unterstützt:

  • JOIN COLLABORATION: Erteilt die Berechtigung zur Ausführung von COLLABORATION.JOIN sowie der folgenden Prozeduren für die beigetretene Collaboration:

    • ADMIN.GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE

    • ADMIN.GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE

    • ADMIN.REVOKE_PRIVILEGE_ON_OBJECT_FROM_ROLE

    • COLLABORATION.ADD_TEMPLATE_REQUEST

    • COLLABORATION.APPROVE_UPDATE_REQUEST

    • COLLABORATION.ENABLE_TEMPLATE_AUTO_APPROVAL

    • COLLABORATION.DISABLE_TEMPLATE_AUTO_APPROVAL

    • COLLABORATION.REMOVE_TEMPLATE

    • COLLABORATION.GET_STATUS

    • COLLABORATION.LEAVE

    • COLLABORATION.LINK_DATA_OFFERING

    • COLLABORATION.LINK_LOCAL_DATA_OFFERING

    • COLLABORATION.PROCESS_ACTIVATION

    • COLLABORATION.REJECT_UPDATE_REQUEST

    • COLLABORATION.REVIEW

    • COLLABORATION.RUN

    • COLLABORATION.TEARDOWN

    • COLLABORATION.UNLINK_DATA_OFFERING

    • COLLABORATION.UNLINK_LOCAL_DATA_OFFERING

    • COLLABORATION.VIEW_ACTIVATIONS

    • COLLABORATION.VIEW_CODE_SPECS

    • COLLABORATION.VIEW_COLLABORATIONS

    • COLLABORATION.VIEW_DATA_OFFERINGS

    • COLLABORATION.VIEW_TEMPLATES

    • COLLABORATION.VIEW_UPDATE_REQUESTS

    • REGISTRY.VIEW_REGISTRIES

    • REGISTRY.VIEW_REGISTERED_CODE_SPECS

    • REGISTRY.VIEW_REGISTERED_DATA_OFFERINGS

    • REGISTRY.VIEW_REGISTERED_TEMPLATES

    Für diese Berechtigung müssen der Rolle die folgenden Berechtigungen auf Kontoebene manuell erteilt werden:

    • APPLY ROW ACCESS POLICY ON ACCOUNT

    • CREATE APPLICATION ON ACCOUNT

    • CREATE DATABASE ON ACCOUNT

    • CREATE LISTING ON ACCOUNT

    • CREATE SHARE ON ACCOUNT

    • IMPORT SHARE ON ACCOUNT

    • MANAGE SHARE TARGET ON ACCOUNT

  • CREATE COLLABORATION: Erteilt die Berechtigung zur Ausführung von COLLABORATION.INITIALIZE sowie aller durch JOIN COLLABORATION erlaubten 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 von COLLABORATION.VIEW_COLLABORATIONS. Die folgenden Berechtigungen müssen der Rolle manuell gewährt werden:

    • IMPORT SHARE ON ACCOUNT

  • REGISTER DATA OFFERING: Erteilt die Berechtigung zur Ausführung von REGISTRY.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 von REGISTRY.VIEW_REGISTERED_DATA_OFFERINGS.

  • REGISTER TEMPLATE: Erteilt die Berechtigung zur Ausführung von REGISTRY.REGISTER_TEMPLATE.

  • VIEW REGISTERED TEMPLATES: Erteilt die Berechtigung zur Ausführung von REGISTRY.VIEW_REGISTERED_TEMPLATES.

  • REGISTER CODE SPEC: Erteilt die Berechtigung zur Ausführung von REGISTRY.REGISTER_CODE_SPEC.

  • VIEW REGISTERED CODE SPECS: Erteilt die Berechtigung zur Ausführung von REGISTRY.VIEW_REGISTERED_CODE_SPECS.

  • CREATE REGISTRY: Erteilt die Berechtigung zur Ausführung von REGISTRY.CREATE_REGISTRY, REGISTRY.VIEW_REGISTRIES sowie die Fähigkeit, aus kundenspezifischen Registrys zu lesen, die Sie erstellt haben.

  • REVIEW COLLABORATION: Erteilt die Berechtigung zur Ausführung von COLLABORATION.REVIEW.

  • VIEW REGISTRIES: Erteilt die Berechtigung zur Ausführung von REGISTRY.VIEW_REGISTRIES.

  • VIEW DCR STATUS: Erteilt die Berechtigung, den Gesamtstatus von Data Clean Rooms im Konto einzusehen.

'account_role_name'

Der Name einer Rolle auf Kontoebene.

Rückgabewerte

Eine Tabelle mit einer MESSAGE-Spalte, die eine Erfolgsmeldung enthält.

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 oder eine Rolle mit der globalen MANAGE GRANTS-Berechtigung, um diese Prozedur auszuführen.