Clean Rooms erstellen, verbinden, entfernen und deinstallieren¶
Auf dieser Seite erfahren Sie, wie Sie einen einfachen Clean Room erstellen, einem Clean Room beitreten, zu dem Sie eingeladen wurden, einen von Ihnen erstellten Clean Room löschen oder einen Clean Room entfernen, dem Sie als Verbraucher beigetreten sind.
Neuen Clean Room erstellen¶
Sie müssen über die entsprechende Berechtigung in einem Snowflake-Konto verfügen, um einen Clean Room erstellen zu können. Der Ersteller des Clean Room wird als Anbieter bezeichnet.
Auf der Seite Clean Rooms in der Web-App können Sie als Anbieter den Lebenszyklus eines Reinraums verwalten, einschließlich der Erstellung und Freigabe. Wenn Sie keinen Zugang zur Webanwendung für Clean Rooms haben, wenden Sie sich an einen Administrator für Ihr Snowflake-Konto.
Um einen Clean Room zu erstellen und freizugeben, gehen Sie wie folgt vor:
Melden Sie sich in Ihrer Reinraumumgebung in der Web-App an.
Wählen Sie im linken Navigationsbereich die Option Clean Rooms aus.
Wählen Sie + Clean Room aus. Der Erstellungsprozess umfasst die folgenden Schritte:
Verwenden Sie den Schritt Add Data, um den Reinraum zu benennen und die Tabellen auszuwählen, die für den Verbraucher freigegeben werden sollen. Der Name darf maximal 80 Zeichen lang sein, wobei Groß- und Kleinschreibung, a-z, 0-9, Leerzeichen und Unterstriche nicht berücksichtigt werden.
Verwenden Sie den Schritt Specify Join Policies, um Identitätsanbieter zu aktivieren, die vom Kontoadministrator für Clean Rooms aktiviert wurden, und wählen Sie aus, welche Spalten der Verbraucher verknüpfen kann.
Verwenden Sie den Schritt Configure Analysis & Query, um festzulegen, welche Vorlagen im Clean Room verfügbar sind, sowie um vorlagenspezifische Konfigurationseinstellungen und zusätzliche Features wie Aktivierung und Datenschutzeinstellungen einzustellen.
Nutzen Sie den Schritt Share Clean Room, um die Verbraucher einzuladen, den Reinraum zur Zusammenarbeit zu nutzen. Sie können auch die Option Enable Run Analysis & Query verwenden, um festzulegen, welche Teilnehmer im Reinraum Analysen durchführen dürfen.
Eine vollständige Anleitung zur Erstellung eines neuen Clean Room in der Clean Room UI finden Sie im Web-App-Tutorial für Clean Rooms
Um einen neuen Clean Room im Code zu erstellen, müssen Sie in Ihrem Konto die Rolle SAMOOHA_APP_ROLE erhalten.
USE WAREHOUSE app_wh;
USE ROLE samooha_app_role;
SET cleanroom_name = 'Developer Tutorial';
CALL samooha_by_snowflake_local_db.provider.cleanroom_init(
$cleanroom_name,
'INTERNAL'); -- Use EXTERNAL to share outside your Snowflake org
Nachdem Sie Ihren Clean Room erstellt haben, müssen Sie mindestens die folgenden Schritte durchführen, um einen einfachen Clean Room zu konfigurieren:
Importieren Sie Daten in den Clean Room.
Legen Sie Verknüpfungsrichtlinien für Ihre Daten fest.
Geben Sie eine oder mehrere Vorlagen im Clean Room an.
Legen Sie Spaltenrichtlinien für Ihre Daten für jede Vorlage fest.
Legen Sie eine Standard-Release-Richtlinie fest.
Bestimmen Sie die Verbraucher, mit denen Sie den Clean Room teilen möchten.
Veröffentlichen Sie den Clean Room.
Eine vollständige Anleitung zur Erstellung eines neuen Clean Room im Code finden Sie im Code-Tutorial für Clean Rooms
Bemerkung
Die Anzahl der (Clean Rooms + Teilnehmer), die Sie in einem einzigen Konto anlegen können, ist begrenzt. Wenn Sie zu viele Test-Clean Rooms erstellen, müssen Sie möglicherweise einige davon löschen, um neue Clean Rooms zu erstellen. Wenn Sie mehr Clean Rooms benötigen, als Ihr Konto umfassen kann, wenden Sie sich an den Snowflake-Support.
Clean Room installieren (verknüpfen)¶
Wenn Sie eingeladen wurden, einem Clean Room beizutreten, erhalten Sie eine E-Mail-Nachricht mit einem Link, über den Sie den Clean Room in der Clean Room UI installieren, konfigurieren und ausführen können. Sie können dem Link folgen und die Clean Room UI verwenden, oder den Clean Room mithilfe des Codes installieren und ausführen.
Auf der Seite Clean Rooms in der Web-App können Sie als Verbraucher Reinräume installieren, die Ihnen von einem Anbieter zur Verfügung gestellt wurden. Um einen Clean Room zu installieren, gehen Sie wie folgt vor:
Melden Sie sich in Ihrer Reinraumumgebung in der Web-App an.
Wählen Sie im linken Navigationsbereich die Option Clean Rooms aus.
Suchen Sie den Reinraum auf der Registerkarte Invited, und wählen Sie Join aus. Sie sollten einen direkten Link zu dieser Seite in einer Einladungs-E-Mail erhalten, wenn Sie als Mitarbeiter in der Clean Room UI hinzugefügt werden.
Wählen Sie die Tabellen, die Sie für die Zusammenarbeit mit den Daten des Anbieters verwenden möchten, und wählen Sie dann Next.
Wählen Sie alle in Ihrer Clean Room-Umgebung verfügbaren Identitätsanbieter aus, die Sie in diesem Clean Room verwenden möchten.
Geben Sie an, welche Spalten in Ihrer Tabelle verknüpft werden können, und die entsprechenden Spalten aus den Daten des Anbieters.
Wählen Sie Next aus.
Geben Sie vorlagenspezifische Einstellungen für alle Vorlagen an, die dem Clean Room zugewiesen sind.
Klicken Sie auf Finish und führen Sie die Vorlage wahlweise sofort aus oder planen Sie eine wiederholte Ausführung dieser Vorlage.
Wenn Sie eingeladen wurden, einem Clean Room als Verbraucher beizutreten, können Sie den Clean Room im Code installieren, konfigurieren und ausführen.
Um einem Clean Room im Code beizutreten, öffnen Sie das Konto, das zum Hinzufügen des Clean Room eingeladen wurde, und führen Sie den folgenden Code aus:
USE WAREHOUSE app_wh;
USE ROLE samooha_app_role;
SET cleanroom_name = 'Developer Tutorial'; -- Get the actual clean room name and provider's account locator from the provider.
CALL samooha_by_snowflake_local_db.consumer.
install_cleanroom($cleanroom_name, <PROVIDER_LOCATOR>);
Nachdem der Clean Room installiert ist, müssen Sie mindestens die folgenden Schritte durchführen, um Vorlagen in diesem Clean Room ausführen zu können:
Verknüpfen Sie Ihre Daten.
Legen Sie Verknüpfungs- und Spaltenrichtlinien für Ihre Tabellen und für die Vorlagen fest, die Sie ausführen möchten.
Führen Sie die Vorlage aus.
Eine vollständige Anleitung zum Verknüpfen eines Clean Room im Code finden Sie im Code-Tutorial für Clean Rooms
Bemerkung
Einige Clean Rooms geben die folgende Fehlermeldung aus, wenn Sie versuchen, ihnen beizutreten:
Application role `SAMOOHA_BY_SNOWFLAKE.DCR_DELEGATED_CLEANROOM_ROLE` does not exist
or not authorized.
Wenn dieser Fehler auftritt, führen Sie den folgenden Code aus und versuchen Sie erneut, den Clean Room zu betreten:
USE ROLE ACCOUNTADMIN;
CALL SAMOOHA_BY_SNOWFLAKE.APP_SCHEMA.PREPARE_MOUNT_SCRIPT();
EXECUTE IMMEDIATE FROM @SAMOOHA_BY_SNOWFLAKE.APP_SCHEMA.MOUNT_CODE_STAGE/dcr_loader.sql;
Einen von Ihnen erstellten Reinraum löschen¶
Nach dem Löschen ist ein Clean Room für gemeinsame Benutzer nicht mehr sichtbar, wenn sie das nächste Mal die Clean Room-Web-App öffnen. Wenn eine Analyse im Gange ist, während ein Reinraum gelöscht wird, wird sie möglicherweise nicht abgeschlossen, bevor der Reinraum gelöscht wird.
Um einen von Ihnen erstellten Clean Room über die Clean Room UI zu löschen, gehen Sie wie folgt vor:
Melden Sie sich in Ihrer Reinraumumgebung in der Web-App an.
Wählen Sie im linken Navigationsbereich die Option Clean Rooms aus.
Wählen Sie in dem zu löschenden Clean Room More (
) > Delete.
Um einen einzelnen Reinraum mit API zu löschen, rufen Sie provider.drop_cleanroom auf.
Um Ihre erstellten Reinräume aufzulisten, rufen Sie provider.view_cleanrooms auf:
USE ROLE samooha_app_role; USE WAREHOUSE app_wh; -- List created and published clean rooms CALL samooha_by_snowflake_local_db.provider.view_cleanrooms(); SELECT CLEANROOM_ID AS "cleanroom_name" FROM TABLE(RESULT_SCAN(last_query_id())) WHERE STATE = 'CREATED' AND IS_PUBLISHED = TRUE; -- Specify a clean room name from the list and drop it CALL samooha_by_snowflake_local_db.provider.drop_cleanroom($cleanroom_name);
Eine vollständige Anleitung zum Erstellen, Konfigurieren, Verwenden und Löschen eines Clean Room im Code finden Sie im Code-Tutorial für Clean Rooms
Clean Room deinstallieren (trennen)¶
Sie können einen Reinraum deinstallieren, den Sie als Verbraucher installiert (verknüpft) haben. Dadurch wird der Reinraum für alle Benutzer des Kontos deinstalliert.
Melden Sie sich in Ihrer Reinraumumgebung in der Web-App an.
Wählen Sie im linken Navigationsbereich die Option Clean Rooms aus.
Navigieren Sie zu Clean Rooms » Joined
Wählen Sie in dem zu deinstallierenden Clean Room More (
) > Leave.
Um Ihre installierten (verknüpften) Clean Rooms aufzulisten
Rufen Sie samooha_by_snowflake_local_db.consumer.view_cleanrooms auf und filtern Sie Zeilen nach IS_ALREADY_INSTALLED = TRUE
. Dies zeigt, dass Reinräume installiert sind und nicht einfach nur Einladungen zum Beitritt.
USE ROLE samooha_app_role;
USE WAREHOUSE app_wh;
CALL samooha_by_snowflake_local_db.consumer.view_cleanrooms();
SELECT CLEANROOM_ID AS "cleanroom_name"
FROM TABLE(RESULT_SCAN(last_query_id()))
WHERE IS_ALREADY_INSTALLED = TRUE;
CALL samooha_by_snowflake_local_db.consumer.uninstall_cleanroom($cleanroom_name);
Um einen einzelnen Clean Room zu deinstallieren (zu trennen):
USE ROLE samooha_app_role;
USE WAREHOUSE app_wh;
CALL samooha_by_snowflake_local_db.consumer.
uninstall_cleanroom($cleanroom_name).
Eine vollständige Anleitung zum Erstellen, Konfigurieren, Verwenden und Löschen eines Clean Room im Code finden Sie im Code-Tutorial für Clean Rooms
Tabellen in einem Clean Room hinzufügen oder entfernen¶
So fügen Sie einem Clean Room Tabellen hinzu oder entfernen diese (verknüpfen oder Verknüpfung aufheben):
Wenn Sie die UI verwenden, können nur Tabellen oder Ansichten, die von einem Administrator registriert wurden, mit einem Clean Room verknüpft werden. Wenn Sie eine Tabelle oder eine Ansicht nicht als zur Verwendung in Ihrem Clean Room verfügbar sehen, bitten Sie Ihren Administrator, das Objekt in Ihrem Konto zu registrieren.
Wenn Sie einen Clean Room erstellen oder bearbeiten, wählen Sie als Anbieter im Schritt Add Data, welche Tabellen mit dem Clean Room verknüpft werden sollen.
Wenn Sie einem Clean Room beitreten oder ihn bearbeiten, wählen Sie als Verbraucher im Schritt Add Data, welche Tabellen mit dem Clean Room verknüpft werden sollen.
Sobald eine Tabelle zu einem Clean Room hinzugefügt wurde, kann sie nicht mehr aus diesem Clean Room entfernt werden. Sie können jedoch die Daten des gesamten Kontos löschen. Wenn Sie eine Tabelle oder Ansicht aus einem Clean Room entfernen müssen, wenden Sie sich an Ihren Clean Room-Administrator.
Wenn Sie die Clean Room API verwenden, kann jeder, der über die Berechtigung OWNERSHIP für ein Datenobjekt verfügt, dieses in dem Konto registrieren. Nachdem ein Objekt registriert ist, können Sie es mit jedem Clean Room in diesem Konto verknüpfen. (Nur das Konto, das ein Objekt registriert hat, kann es mit einem Clean Room verbinden.)
Sie können die Verknüpfung einer Tabelle oder Ansicht nicht aufheben, nachdem sie mit einem Clean Room verknüpft wurde. Sie können jedoch die Registrierung der Tabelle oder Ansicht für das gesamte Konto aufheben, sodass sie für alle Clean Rooms in diesem Konto nicht mehr verfügbar ist. Wenn Sie die Registrierung einer Tabelle aufheben, müssen Sie auch alle Zeilen- oder Spaltenrichtlinien oder Vorlagen ändern, die sich auf diese Tabelle beziehen.
Erfahren Sie, wie Sie Datenobjekte registrieren oder die Registrierung aufheben, um sie für die Verknüpfung mit einem Clean Room verfügbar zu machen.