Snowflake Data Clean Rooms: Übersicht zu Entwickler APIs

Ein Snowflake Data Clean Room bietet erstklassige Entwickler-APIs, die es Ihnen ermöglichen, Anwendungen unter Verwendung eines Datenreinraums zu entwickeln. Sie können diese leistungsstarke APIs nutzen, um den Lebenszyklus eines Reinraums zu verwalten, verschiedene sichere Analysen zu erstellen und auszuführen und diese dann zu freizugeben.

Ein Reinraum ist eine kryptografisch sichere Umgebung, die die darin befindlichen Daten schützt. In Reinräumen werden nur spezifische Analysen und Algorithmen ausgeführt, die vom Ersteller des Reinraums aktiviert wurden. Zusätzlich wird eine weitere Schutzebene aus Differential-Privacy-Techniken hinzugefügt, die nur aggregierte Ergebnisse nach außen geben. Reinräume garantieren, dass Daten weder Benutzer noch Prozesse gelesen oder geschrieben werden können, mit Ausnahme durch Algorithmen, die vom Ersteller des Reinraums bereitgestellt werden.

Teilnehmer

Am Lebenszyklus eines Reinraums sind in der Regel zwei Parteien beteiligt, die zusammenarbeiten:

  • Ein Anbieter erstellt einen Reinraum, fügt die erforderlichen Daten hinzu, richtet die Richtlinien ein, fügt die relevanten Analysen hinzu und gibt sie dann für Verbraucher frei.

  • Ein Verbraucher erhält von einem Anbieter einen freigegebenen Reinraum. Verbraucher können einen Reinraum installieren, ihre Daten hinzufügen und jede Analyse ausführen, die mit den entsprechenden Argumenten an die im Reinraum enthaltenen Analysevorlagen übergeben wird.

Analysen

Analysen sind Algorithmen, die innerhalb eines Reinraums ausgeführt werden. Der Anbieter wählt einige Analysen aus und aktiviert sie für einen bestimmten Reinraum, und dann kann der Verbraucher eine oder mehrere dieser Analysen ausführen.

Voraussetzungen

Bevor Sie die Entwickler-APIs eines Snowflake Data Clean Room nutzen können, muss ein Administrator die Reinraumumgebung konfigurieren und Sie als Benutzer hinzufügen. Informationen dazu finden Sie unter Erste Schritte mit Snowflake Data Clean Room.

Sie müssen die Rolle SAMOOHA_APP_ROLE verwenden, um Entwickler-APIs ausführen zu können. Fügen Sie Folgendes zu Ihrem Snowflake-Arbeitsblatt hinzu, bevor Sie die API ausführen:

USE ROLE samooha_app_role;
Copy

Verknüpfen von Daten

Anbieter und Verbraucher können Daten in einem Reinraum so verknüpfen, dass keine physische Kopie in der Reinraumumgebung vorhanden sein muss. Da Snowflake Data Clean Rooms auf dem Snowflake Native App Framework basieren, können Sie jedes Objekt verknüpfen, das vom Snowflake Native App Framework unterstützt wird.

Bevor Reinraumbenutzern Daten mit einem Reinraum verknüpfen können, muss der Kontoadministrator die Daten auf der Datenbank-, Schema- oder Objektebene registrieren. Wenn der Administrator eine Datenbank oder ein Schema registriert, werden auch alle Objekte in dieser Datenbank oder diesem Schema registriert. Informationen darüber, wie ein Administrator Daten registriert, finden Sie unter Daten für Snowflake Data Clean Rooms registrieren.

Nachdem der Kontoadministrator Daten registriert hat, können Reinraum-Benutzer durch Ausführen des Befehls link_datasets ein Objekt in den Reinraum verknüpfen. Ein Anbieter könnte zum Beispiel den folgenden Befehl ausführen, um eine Tabelle MY_TABLE mit dem Reinraum dcr_cleanroom zu verknüpfen:

CALL samooha_by_snowflake_local_db.provider.link_datasets('dcr_cleanroom', 
   ['MY_DB.MY_SCHEMA.MY_TABLE']);
Copy

Bemerkung

Externe Tabellen und Iceberg-Tabellen erfordern zusätzliche Schritte, bevor sie mit einem Reinraum gelverknüpft werden können. Weitere Informationen finden Sie unter Snowflake Data Clean Rooms: Externe und Iceberg-Tabellen.

Abrufen früherer Ergebnisse einer Analyse

Wenn Sie die Entwickler-APIs verwenden, um eine Analyse durchzuführen, führt Snowflake Data Cleans Rooms eine Abfrage in Ihrem Konto aus. Sie können die Ergebnisse einer älteren Analyse abrufen, indem Sie die Abfrage-ID der mit der Analyse verbundenen Abfrage verwenden.

Bemerkung

Wenn das Warehouse zwischen der Ausführung der API-Analyse und dem Abrufen der Ergebnisse mit dieser Abfrage ausgesetzt wird, können Sie die Ergebnisse möglicherweise nicht abrufen.

So rufen Sie die Ergebnisse einer früheren Analyse ab:

  1. Melden Sie sich bei Snowsight an.

  2. Wählen Sie Überwachung >> Abfrageverlauf aus.

  3. Verwenden Sie die Filter, um die mit der Analyse verbundene Abfrage zu finden, und kopieren Sie dann die Abfrage-ID.

  4. Öffnen Sie ein Arbeitsblatt und führen Sie eine Abfrage aus, die die Ergebnisse auf der Grundlage der Abfrage-ID der Abfrage abruft. Wenn die Abfrage-ID zum Beispiel ABC123 lautet, dann führen Sie Folgendes aus:

       SELECT * FROM TABLE(result_scan(ABC123));
    
    Copy

API-Referenzdokumentation

Um die Beschreibungen und Signaturen der Entwickler-APIs zu erhalten, lesen Sie Folgendes:

Erweiterte Beispiele

Um zu verstehen, wie Sie die verschiedenen Features von Entwickler-APIs nutzen, können Sie sich an den folgenden Beispielen orientieren.

End-to-End: Anbieter-Datenanalyse

  • Ein Anbieter kann Join- und andere Spaltenrichtlinien für Datensets definieren, die er mit dem Reinraum verknüpft hat, und dann eine vordefinierte, sichere Datenanalysevorlage zum Reinraum hinzufügen.

  • Ein Verbraucher kann den vom Anbieter freigegebenen Reinraum nutzen und darin explorative Analysen durchführen. Der Verbraucher muss sich an die vom Anbieter festgelegten Join- und Spaltenrichtlinien halten.

Weitere Informationen dazu finden Sie unter End-to-End: Anbieter-Datenanalyse.

End-to-End: Überlappungsanalyse

  • Ein Anbieter kann mehrere Datensets verknüpfen und eine vordefinierte Analysevorlage hinzufügen, die eine Überlappungsanalyse über die Datensets im Reinraum durchführt.

  • Der Verbraucher kann weitere Datensätze verknüpfen und die Überlappungsanalyse gemeinsam über alle verfügbaren Anbieter- und Verbraucher-Datenset im Reinraum durchführen.

Weitere Informationen dazu finden Sie unter End-to-End: Überlappungsanalyse.

Benutzerdefinierte Analysevorlagen

  • Ein Anbieter kann eine benutzerdefinierte Analysevorlage definieren und zu einem Reinraum hinzufügen, sodass die Verbraucher die benutzerdefinierten Analysen ausführen können.

  • Diese benutzerdefinierten Analysevorlagen können durch die Nutzung der leistungsstarken SQL Jinja-Vorlagen generisch gemacht werden und können auch Technologien zur Verbesserung des Datenschutzes wie z. B. differentielle Privatsphäre unterstützen.

Weitere Informationen dazu finden Sie unter Benutzerdefinierte Analysevorlagen.

Sichere Python-basierte Vorlagen

  • Anbieter können benutzerdefinierten Python-Code laden, der in benutzerdefinierten Analysevorlagen ausgeführt wird.

  • Der gesamte Python-Code, der in den Reinraum geladen wird, bleibt absolut vertraulich und kann von den Verbrauchern, die ihn verwenden, nicht eingesehen werden.

Weitere Informationen dazu finden Sie unter Sichere Python-basierte Vorlagen.

Maschinelles Lernen

  • Anbieter können fortgeschrittene Machine-Learning-Modelle definieren, die Benutzer sicher innerhalb von Reinräumen ausführen können.

  • Mit sicherem Python-Code, der für den Verbraucher nicht sichtbar ist, können Sie komplexe ML-Modelle definieren, die in einer vollständig sicheren Umgebung im Reinraum ausgeführt werden.

Weitere Informationen dazu finden Sie unter Maschinelles Lernen.

Sichere Python-UDTF-basierte Vorlagen

  • Anbieter können mit einer einfachen API sichere Python-UDTFs erstellen und für Verbraucher freigeben.

  • Verbraucher können die Python-UDTF mithilfe einer einfachen, vom Anbieter bereitgestellten Vorlage verwenden.

Weitere Informationen dazu finden Sie unter Sichere Python-UDTF-basierte Vorlagen.

Registrieren von Entwickler-API-Reinräumen in der Web-App

  • Anbieter können Reinräume, die mit benutzerdefinierten Analysen und Vorlagen geladen sind, in der Web-App eines Snowflake Data Clean Room registrieren, wodurch die Teilnehmer über eine Weboberfläche mit dem Reinraum arbeiten können.

  • Teilnehmer können mit diesen komplexen, benutzerdefinierten Reinräumen vollständig über die Web-App interagieren.

Weitere Informationen dazu finden Sie unter Registrieren von Entwickler-API-Reinräumen in der Web-App.

Sichere Snowpark-Prozeduren

  • Anbieter können ihre eigenen Snowpark-Prozeduren definieren und sie sicher für einen Verbraucher freigeben.

  • Verbraucher können diese Snowpark-Prozeduren über den üblichen „run_analysis“-Workflow aufrufen.

Weitere Informationen dazu finden Sie unter Sichere Snowpark-Prozeduren.