Vom Anbieter durchgeführte Analyse¶
Die Standardkonfiguration des Clean Room ermöglicht es nur dem Verbraucher, eine Analyse im Clean Room durchzuführen. Der Anbieter kann jedoch die Erlaubnis des Verbrauchers einholen, Vorlagen mit Verbraucherdaten in einem bestimmten Clean Room auszuführen. Die vom Anbieter durchgeführte Analyse kann entweder über die Clean Room UI oder über Code aktiviert und ausgeführt werden.
Unterstützte Vorlagen¶
Die vom Anbieter durchgeführte Analyse wird auf der Ebene der Vorlage innerhalb eines bestimmten Clean Room aktiviert. Die folgenden Vorlagen unterstützen vom Anbieter durchgeführte Analysen:
Überlappungs- und Segmentierungsanalyse
SQL-Abfrage (nur UI)
Benutzerdefinierte Vorlagen (nur API)
Details zur Abrechnung¶
Alle vom Anbieter durchgeführten Analysen in einem Clean Room werden den Verbrauchern in Rechnung gestellt. Um keine zusätzlichen Kosten durch Anbieteranalysen zu verursachen, muss der Verbraucher den Clean Room deinstallieren.
Ein Verbraucher kann die Anzahl der Credits schätzen, die der Anbieter in den letzten N Tagen verbraucht hat, indem er die folgende Abfrage ausführt und die Anzahl der vergangenen Tage als negative Zahl angibt:
-- Estimate the number of credits consumed in the past 5 days.
SELECT * FROM TABLE(SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.LIBRARY.PRA_CONSUMPTION_UDTF(-5));
Auswählen einer Warehouse-Größe¶
Clean Rooms verwenden eine automatische Skalierungslogik, die auf der Größe der Datensätze basiert, um ein Warehouse für Ihre Analyse auszuwählen. Der Anbieter kann jedoch ausdrücklich eine Warehouse-Größe aus einer Liste von Größen und Typen auswählen, die der Verbraucher zulässt. Der Anbieter wählt die Größe des Warehouse wie folgt:
Der Verbraucher ruft
consumer.enable_templates_for_provider_run
auf und gibt an, welche Warehouse-Größen und -Typen mit welchen Vorlagen verwendet werden können.Der Anbieter ruft
provider.view_warehouse_sizes_for_template
auf, um zu erfahren, welche Warehouse-Größen und -Typen für die vom Anbieter durchgeführten Analysen zulässig sind.Der Anbieter gibt an, welche Kombination von Größe und Typ er in seiner Analyseanfrage verwenden möchte (
provider.submit_analysis_request
).
Ein Anbieter kann nur Warehouse-Größen und -Typen anfordern, die vom Verbraucher explizit aufgeführt sind.
Verbraucher
CALL samooha_by_snowflake_local_db.CONSUMER.enable_templates_for_provider_run(
$cleanroom_name,
[$template1, $template2],
TRUE,
{
$template1: {'warehouse_type': 'STANDARD', 'warehouse_size': ['MEDIUM', 'LARGE']},
$template1: {'warehouse_type': 'SNOWPARK-OPTIMIZED', 'warehouse_size': ['MEDIUM', 'XLARGE']},
$template2: {'warehouse_type': 'STANDARD', 'warehouse_size': ['MEDIUM', 'XLARGE']}
});
Anbieter
CALL samooha_by_snowflake_local_db.PROVIDER.VIEW_WAREHOUSE_SIZES_FOR_TEMPLATE($cleanroom_name, $template_name, $consumer_account_loc);
CALL samooha_by_snowflake_local_db.provider.submit_analysis_request(
$cleanroom_name,
$consumer_locator_id,
$template1,
['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS'],
['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS'],
object_construct(
'dimensions', ['c.REGION_CODE'],
'measure_type', ['AVG'],
'measure_column', ['c.DAYS_ACTIVE'],
'warehouse_type', 'STANDARD', -- If this type and size pair were not listed by view_warehouse_sizes_for_template,
'warehouse_size', 'LARGE' -- the request will automatically fail.
));
Vom Anbieter durchgeführte Analysen implementieren¶
Tipp
Wenn sich der Verbraucher und der Anbieter in unterschiedlichen Cloud-Regionen befinden, müssen Sie die Cloud-übergreifende automatische Ausführung in beiden Konten und für beide Clean Rooms aktivieren.
Die Berechtigung zum Ausführen von Abfragen in einem Clean Room wird in der Clean Room UI verwaltet, und zwar mithilfe des Schalters Enable run analysis & query im Bereich Share clean room im Konfigurationsfluss des Clean Room. Um vom Anbieter durchgeführte Analysen zu aktivieren oder zu deaktivieren, aktiviert der Anbieter des Clean Room den Schalter neben seinem eigenen Konto in diesem Bereich. Nach dem Erstellen des Clean Room kann dieser Schalter nicht mehr geändert werden. Wenn Sie die Berechtigung für ein bestimmtes Konto zur Ausführung von Abfragen in einem veröffentlichten Clean Room ändern möchten, müssen Sie den Clean Room löschen und einen neuen erstellen.
Hier sind die Schritte, die Sie unternehmen müssen, um eine vom Anbieter durchgeführte Analyse in einem neuen Clean Room zu ermöglichen:
Der Anbieter erstellt und konfiguriert einen Clean Room, indem er eine der unterstützten Vorlagen verwendet.
Im Schritt Share Clean Room der Clean Room-Konfiguration schalten Sie neben Ihrem Konto die Option Enable run analysis & query ein, damit Sie Vorlagen ausführen können, die die Anbieteranalyse in diesem Clean Room unterstützen.
Wenn der Verbraucher dem Clean Room beitritt, wird er vor dem Beitritt gewarnt, dass die vom Anbieter durchgeführte Analyse für diesen Clean Room aktiviert ist.
Der Verbraucher konfiguriert den Clean Room wie gewohnt für alle Vorlagen im Clean Room, einschließlich aller Vorlagen, die die Anbieteranalyse unterstützen. Wenn der Verbraucher einem Anbieter nicht erlauben möchte, eine bestimmte Vorlage auszuführen, kann er die erforderlichen Angaben für diese Vorlage weglassen. Beachten Sie, dass Vorlagen, die die Anbieteranalyse unterstützen, auch die Verbraucheranalyse unterstützen.
Nachdem der Verbraucher dem Clean Room beigetreten ist und ihn konfiguriert hat, können sowohl der Anbieter als auch der Verbraucher Vorlagen im Clean Room über den normalen Analysefluss ausführen.
Berechtigungen für vom Anbieter durchgeführte Analysen können nach ihrer Vergabe nicht mehr widerrufen werden. Die einzige Möglichkeit, die vom Anbieter durchgeführten Analysen zu stoppen, besteht darin, dass der Anbieter oder Verbraucher den Clean Room löscht.
Der Anbieter kann sowohl vom Anbieter als auch vom Verbraucher durchgeführte Analysen in einem Clean Room aktivieren und deaktivieren, indem er die entsprechenden API-Aufrufe tätigt. Wenn jedoch in einem bestehenden Clean Room eine Änderung an der Einstellung für vom Anbieter durchgeführte Analysen vorgenommen wird, muss der Clean Room von allen Verbrauchern neu installiert werden, damit die Änderung wirksam wird. Da es schwierig sein kann, alle Teilnehmer dazu zu bringen, einen Clean Room neu zu installieren, ist es für den Anbieter zuverlässiger, einen veröffentlichten, gemeinsam genutzten Clean Room zu löschen, wenn er die Analyseberechtigungen ändert, und dann einen neuen Clean Room mit den gewünschten Berechtigungen zu erstellen.
Im Folgenden finden Sie den allgemeinen Ablauf für die Einrichtung eines neuen Clean Room, der vom Anbieter durchgeführte Analysen ermöglicht:
Anbieter
Erstellen und konfigurieren Sie Ihren Clean Room und Ihre Daten und Richtlinien auf die übliche Weise.
Fügen Sie Verbraucher auf die übliche Weise hinzu.
Aktivieren Sie die vom Anbieter durchgeführte Analyse für bestimmte Verbraucherkonten im Clean Room, indem Sie
provider.enable_provider_run_analysis
aufrufen. Diese Prozedur muss aufgerufen werden, nachdem Verbraucher zu einem Clean Room hinzugefügt wurden, aber bevor ein Verbraucher den Clean Room installiert. Jedes Verbraucherkonto muss diese Anfrage separat genehmigen, sonst sind seine Daten für die vom Anbieter durchgeführten Analysen in diesem Clean Room nicht zugänglich.Veröffentlichen Sie den Clean Room.
Teilen Sie Ihren Verbrauchern mit, dass der Clean Room zur Verfügung steht, den Namen des Clean Room und die Vorlagen, die Sie im Clean Room ausführen möchten.
Verbraucher
Installieren Sie den Clean Room, verknüpfen Sie Ihre Daten und legen Sie Verknüpfungs- und Spaltenrichtlinien auf die übliche Weise fest.
Ermöglichen Sie die Anbieteranalyse für bestimmte Vorlagen im Clean Room, indem Sie
consumer.enable_templates_for_provider_run
aufrufen. Es ist wichtig, dass Sie diese Prozedur aufrufen, nachdem Sie Ihre Verknüpfungs- und Spaltenrichtlinien konfiguriert haben. Wenn Sie dieses Feature zuerst aktivieren, kann der Anbieter alle Spalten verknüpfen und projizieren, bis Sie diese Richtlinien festlegen. In der Regel teilt Ihnen der Anbieter mit, dass Sie die vom Anbieter durchgeführten Analysen in einem Clean Room genehmigen müssen, aber Sie können auch unterlibrary.is_provider_run_enabled
überprüfen, ob diese Fähigkeit angefordert wird.Teilen Sie dem Anbieter mit, dass Sie den Clean Room installiert und die vom Anbieter durchgeführten Analysen genehmigt haben.
Anbieter
Ermöglichen Sie Ihren Analysen den Zugriff auf Verbraucherdaten, indem Sie
provider.mount_request_logs_for_all_consumers
aufrufen, nachdem der Verbraucher den Clean Room installiert hat. Wenn ein neues Verbraucherkonto den Clean Room später installiert und Sie dessen Daten in dieser Vorlage verwenden möchten, müssen Sie diese Prozedur erneut ausführen, um auf diese Daten zugreifen zu können.Führen Sie die Analyse aus, indem Sie
provider.submit_analysis_request
mit dem Namen der Vorlage, den Tabellennamen und den Argumenten der Vorlage aufrufen. Speichern Sie die Antwort-ID, die Sie benötigen, um den Status und die Ergebnisse der Analyse zu überprüfen.Überprüfen Sie den Status der Analyse, indem Sie
provider.check_analysis_status
aufrufen. Wenn der Status alsCOMPLETED
gemeldet wird, rufen Sieprovider.get_analysis_result
auf, um die Analyseergebnisse abzurufen.
Tipp
Wenn Sie die Einstellung für die vom Anbieter durchgeführte Analyse für Ihren Clean Room ändern, müssen Sie den Clean Room deinstallieren und dann neu installieren, damit die Änderung wirksam wird.
Beispielcode installieren und ausführen
Sie können ein komplettes laufendes Beispiel eines Clean Room herunterladen und installieren, das eine vom Anbieter durchgeführte Analyse ermöglicht und ausführt. Um dieses Beispiel auszuführen, benötigen Sie zwei Snowflake Konten in derselben Organisation und Cloud-Hosting-Region mit der installierten Clean Room-Umgebung.
Installieren Sie das Notebook sowohl in Ihrem Anbieter- als auch in Ihrem Verbraucherkonto. Um ein Notebook hochzuladen, gehen Sie wie folgt vor:
Navigieren Sie zu Projects » Notebooks in Snowsight.
Wählen Sie + Notebook » Import .ipynb file aus.
Wählen Sie die heruntergeladene .ipynb-Datei aus.
Benennen Sie die Datei wie gewünscht, und wählen Sie eine Datenbank und ein Schema.
Behalten Sie das Standard-Warehouse
APP_WH
bei.Wählen Sie Create aus.
Öffnen Sie das Notebook im Anbieterkonto und füllen Sie den Anbieterteil aus, um den Clean Room zu erstellen.
Öffnen Sie das Notebook im Verbraucherkonto und füllen Sie den Verbraucherteil aus, um den Clean Room zu installieren und zu konfigurieren und die Vorlage auszuführen.
Tipp
Die folgenden Prozeduren regeln, welche Seite eine Analyse im Clean Room durchführen kann:
Vom Verbraucher durchgeführte Analyse (standardmäßig erlaubt): Alle Änderungen werden sofort übernommen.
provider.enable_consumer_run_analysis
provider.disable_consumer_run_analysis
Vom Anbieter durchgeführte Analyse (standardmäßig deaktiviert): Alle Änderungen erfordern eine Neuinstallation durch den Verbraucher.
provider.enable_provider_run_analysis
(erfordert die Zustimmung des Verbrauchers durch den Aufruf von consumer.enable_templates_for_provider_run)provider.disable_provider_run_analysis