Snowflake Data Clean Rooms : vue d’ensemble des APIs du développeur¶
Une Snowflake Data Clean Room offre aux développeurs des APIs de premier ordre qui vous permettent de développer des applications à l’aide d’une salle blanche. Vous pouvez exploiter ces puissantes APIs pour gérer le cycle de vie d’une salle blanche, créer et exécuter diverses analyses sécurisées, puis les partager
Une salle blanche est un environnement sécurisé par chiffrement qui protège les données qui s’y trouvent. Les salles blanches n’exécutent que des analyses et des algorithmes spécifiques autorisés par le créateur de la salle blanche. En outre, une couche de protection est ajoutée grâce à des techniques de confidentialité différentielle qui n’exposent que les résultats agrégés à l’extérieur. Les salles blanches garantissent qu’aucun utilisateur ou processus ne peut lire ou écrire des données, à l’exception des algorithmes fournis par le créateur de la salle blanche.
Collaborateurs¶
Il y a généralement deux parties impliquées dans le cycle de vie d’une salle blanche qui collaborent ensemble :
Un fournisseur crée une salle blanche, ajoute les données nécessaires, met en place les politiques, ajoute les analyses pertinentes, puis partage le tout avec le consommateur.
Un consommateur reçoit une salle blanche partagée par un fournisseur. Les consommateurs peuvent installer une salle blanche, ajouter leurs données et lancer n’importe quelle analyse à l’aide d’arguments appropriés transmis aux modèles d’analyse contenus dans la salle blanche.
Analyses¶
Les analyses sont des algorithmes qui fonctionnent dans une salle blanche. Le fournisseur choisit certaines analyses et les active pour une salle blanche spécifique, puis le consommateur peut choisir d’effectuer une ou plusieurs de ces analyses.
Conditions préalables¶
Avant que vous puissiez utiliser les APIs du développeur d’une Snowflake Data Clean Room, un administrateur doit configurer l’environnement de la salle blanche et vous ajouter en tant qu’utilisateur. Pour plus de détails, voir Premiers pas avec une Snowflake Data Clean Room.
Vous devez utiliser le rôle SAMOOHA_APP_ROLE pour exécuter les APIs du développeur. Ajoutez ce qui suit à votre feuille de calcul Snowflake avant d’exécuter l’API :
USE ROLE samooha_app_role;
Liaison des données¶
Les fournisseurs et les consommateurs peuvent relier les données dans une salle blanche, de sorte qu’il n’est pas nécessaire d’en avoir une copie physique dans l’environnement de la salle blanche. Comme les Snowflake Data Clean Rooms reposent sur le Snowflake Native App Framework, vous pouvez lier n’importe quel objet pris en charge par le Snowflake Native App Framework.
Avant que les utilisateurs de la salle blanche puissent lier des données à une salle blanche, l’administrateur du compte doit enregistrer les données au niveau de la base de données, du schéma ou de l’objet. Si l’administrateur enregistre une base de données ou un schéma, tous les objets de cette base de données ou de ce schéma sont également enregistrés. Pour plus d’informations sur la manière dont un administrateur enregistre les données, consultez Enregistrer les données pour Snowflake Data Clean Rooms.
Une fois que l’administrateur du compte a enregistré les données, les utilisateurs de la salle blanche peuvent lier un objet à la salle blanche en exécutant la commande link_datasets
. Par exemple, un fournisseur peut exécuter la commande suivante pour lier une table MY_TABLE
dans la salle blanche dcr_salle_blanche
:
CALL samooha_by_snowflake_local_db.provider.link_datasets('dcr_cleanroom',
['MY_DB.MY_SCHEMA.MY_TABLE']);
Note
Les tables externes et les tables Iceberg nécessitent des étapes supplémentaires avant de pouvoir être liées dans une salle blanche. Pour plus d’informations, consultez Snowflake Data Clean Rooms : tables externes et iceberg.
Récupérer les résultats précédents d’une analyse¶
Lorsque vous utilisez les APIs du développeur pour exécuter une analyse, Snowflake Data Cleans Rooms exécute une requête dans votre compte. Vous pouvez récupérer les résultats d’une analyse plus ancienne à l’aide de l’ID de la requête associée à l’analyse.
Note
Si l’entrepôt est suspendu entre l’exécution de l’analyse API et l’utilisation de cette requête pour récupérer les résultats, il se peut que vous ne puissiez pas obtenir les résultats.
Pour récupérer les résultats d’une analyse précédente :
Connectez-vous à Snowsight .
Sélectionnez Surveillance>> Historique des requêtes.
Utilisez les filtres pour trouver la requête associée à l’analyse, puis copiez l’ID de la requête.
Ouvrez une feuille de calcul et exécutez une requête qui récupère les résultats en fonction de l’ID de la requête. Par exemple, si l’ID de la requête est
ABC123
, puis exécutez :SELECT * FROM TABLE(result_scan(ABC123));
Documentation de référence de l’API¶
Pour obtenir les descriptions et signatures des APIs du développeur, voir ce qui suit :
Si vous êtes un fournisseur, consultez le Guide de référence du de l’API du fournisseur.
Si vous êtes un consommateur, consultez le Guide de référence de l’API du consommateur.
Exemples étendus¶
Pour vous aider à comprendre comment utiliser les différentes fonctionnalités des APIs du développeur , vous pouvez vous référer aux exemples suivants.
De bout en bout : analyse des données des fournisseurs
Un fournisseur peut définir des politiques de jointure et d’autres politiques de colonne sur les ensembles de données qu’il a liés à la salle blanche, puis ajouter un modèle d’analyse de données prédéfini et sécurisé à la salle blanche.
Un consommateur peut utiliser la salle blanche partagée par le fournisseur et y effectuer des analyses exploratoires. Le consommateur doit respecter les politiques de jointure et de colonne définies par le fournisseur.
Pour plus d’informations, consultez le document De bout en bout : analyses des données fournisseur.
De bout en bout : analyse de chevauchement
Un fournisseur peut relier plusieurs ensembles de données et ajouter un modèle d’analyse prédéfini qui effectue une analyse de chevauchement sur les ensembles de données à la salle blanche.
Le consommateur peut lier davantage d’ensembles de données et effectuer l’analyse de chevauchement conjointement sur tous les ensembles de données du fournisseur et du consommateur disponibles dans la salle blanche.
Pour plus d’informations, voir De bout en bout : analyse de chevauchement.
Modèles d’analyse personnalisés
Un fournisseur peut définir et ajouter un modèle d’analyse personnalisé à une salle blanche, ce qui permet aux consommateurs d’exécuter les analyses personnalisées.
Ces modèles d’analyse personnalisés peuvent être rendus génériques en exploitant les puissants modèles Jinja SQL et peuvent également prendre en charge des technologies d’amélioration de la confidentialité telles que la confidentialité différentielle.
Pour plus d’informations, voir Modèles d’analyse personnalisée.
Modèles sécurisés basés sur Python
Les fournisseurs peuvent charger du code Python personnalisé à exécuter dans des modèles d’analyse personnalisés.
Tout le code Python chargé dans la salle blanche reste totalement confidentiel et ne peut pas être vu par les consommateurs qui l’utilisent.
Pour plus d’informations, consultez Modèles sécurisés basés sur Python.
Machine learning
Les fournisseurs peuvent définir des modèles de machine learning avancés que les utilisateurs peuvent exécuter en toute sécurité à l’intérieur des salles blanches.
Le code Python sécurisé qui n’est pas visible par les consommateurs peut être utilisé pour définir des modèles ML complexes qui peuvent fonctionner dans un environnement entièrement sécurisé à l’intérieur de la salle blanche.
Pour plus d’informations, voir Machine Learning.
Modèles sécurisés Python basés sur des UDTF
Les fournisseurs peuvent créer des UDTFs Python sécurisées à l’aide d’une simple API et les partager avec des consommateurs.
Les consommateurs peuvent utiliser l’UDTF Python à l’aide d’un modèle simple fourni par le fournisseur.
Pour plus d’informations, consultez Modèles sécurisés Python basés sur des UDTF.
Enregistrement de salles blanches de l’API du développeur dans l’application Web
Les fournisseurs peuvent enregistrer des salles blanches chargées d’analyses et de modèles personnalisés dans l’application Web d’une Snowflake Data Clean Room, ce qui permet à leurs collaborateurs de travailler avec la salle blanche dans une interface utilisateur.
Les collaborateurs peuvent interagir avec ces salles blanches complexes et personnalisées entièrement via l’application Web.
Pour plus d’informations, consultez [Enregistrement de salles blanches de l’API du développeur dans l’application Web] (demo-flows/register-cleanroom-in-ui).
Procédures sécurisées Snowpark
Les fournisseurs peuvent définir leurs propres procédures Snowpark et les partager en toute sécurité avec un consommateur.
Les consommateurs peuvent appeler ces procédures Snowpark en utilisant le workflow habituel run_analysis.
Pour plus d’informations, consultez Procédures Snowpark sécurisées.