Snowflake Data Clean Rooms : guide de référence pour l’API fournisseurs¶
Cette page décrit les procédures utilisées par les consommateurs d’API de clean rooms pour gérer leurs clean rooms. Pour les instructions de mise en place du codage, voir Configuration du codage.
Créer, configurer et supprimer des salles blanches¶
provider.view_cleanrooms¶
Description : Liste toutes les salles blanches existantes qui ont été créées par ce compte fournisseur.
Arguments : Aucun
Retourne : (Table) Une liste des salles blanches créées par ce compte fournisseur. Les salles blanches ne doivent pas nécessairement être partagées avec les consommateurs, ni être installées ou utilisées par eux. Les salles blanches supprimées sont effacées de la base de données et n’apparaissent pas dans cette liste.
Exemple :
call samooha_by_snowflake_local_db.provider.view_cleanrooms();
provider.describe_cleanroom¶
Description : Obtenez un résumé des informations relatives à une salle blanche, telles que les modèles, les politiques de jointure, les politiques de colonne et les consommateurs.
Arguments :
cleanroom_name (string) - Nom de la salle blanche pour laquelle vous souhaitez obtenir des informations.
Retourne : (string) Résumé des métadonnées de la salle blanche.
Exemple :
call samooha_by_snowflake_local_db.provider.describe_cleanroom($cleanroom_name);
provider.cleanroom_init¶
Description : Crée une salle blanche avec le nom spécifié dans votre compte. L’exécution de cette procédure peut prendre une minute ou plus. La salle blanche ne sera visible dans l’application Web ou pour les collaborateurs qu’après avoir appelé create_or_update_cleanroom_listing
.
Arguments :
cleanroom_name (string) - Nom de la salle blanche, 80 caractères maximum. Le nom comprend [A‑Z,a‑z,0‑9, ,_].
distribution (String, Optional) - Une des valeurs suivantes :
INTERNAL (Default) - La salle blanche n’est visible que par les utilisateurs de la même organisation et ne déclenche pas d’analyse de sécurité avant la modification de la version par défaut.
EXTERNAL - La salle blanche est prête pour la production et peut être partagée en dehors de l’organisation. La salle blanche déclenche une analyse de sécurité avant de changer la version par défaut. Si vous souhaitez modifier la distribution après la création d’une salle blanche, appelez
alter package
comme indiqué ici :alter application package samooha_cleanroom_<CLEANROOM_ID> SET DISTRIBUTION = EXTERNAL;
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
-- Create an internal clean room
call samooha_by_snowflake_local_db.provider.cleanroom_init($cleanroom_name, 'INTERNAL');
provider.set_default_release_directive¶
Description : Spécifie la version et le correctif d’une salle blanche chargée par les collaborateurs lorsqu’ils démarrent une nouvelle session de navigateur dans l’application Web, ou accèdent à la salle blanche depuis une API. Celle-ci doit être appelée avant que la salle blanche puisse être partagée avec les consommateurs.
L’application de salle blanche crée une nouvelle version d’une salle blanche chaque fois que vous importez ou modifiez le code Python. Si vous souhaitez que les utilisateurs reçoivent la version la plus récente, appelez cette procédure en indiquant le numéro de la nouvelle version. Pour voir les versions disponibles et connaître la version par défaut actuelle, exécutez :
show versions in application package samooha_cleanroom_<CLEANROOM_ID>;
Toutes les salles blanches sont créées avec les numéros de version et de correctifs suivants :
version : V1_0
correctif : 0
Note
Si la distribution de la salle blanche est définie sur EXTERNAL, cette procédure ne peut être appelée qu’après que le contrôle de sécurité de la salle blanche est passé à l’état APPROVED. Pour connaître le statut de sécurité, appelez view_cleanrooom_scan_status
.
Arguments :
cleanroom_name (string) - Nom de la salle blanche.
version (string) - Version. Doit toujours être « V1_0 ».
patch (string) - Numéro du correctif chargé par le consommateur. Cette valeur commence à 0, et vous devez l’incrémenter chaque fois qu’une nouvelle version de salle blanche est disponible. Vous pouvez voir les versions disponibles ci-dessus.
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.provider.set_default_release_directive($cleanroom_name, 'V1_0', '0');
provider.drop_cleanroom¶
Description : Supprimer la salle blanche. Les collaborateurs qui ont installé la salle blanche ne peuvent plus y accéder ni l’utiliser. La salle blanche n’apparaîtra plus dans l’application Web lors de la prochaine actualisation du navigateur.
Arguments :
cleanroom_name (string) - Nom de la salle blanche à supprimer.
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.provider.drop_cleanroom($cleanroom_name);
provider.enable_consumer_run_analysis¶
Description : Permet au consommateur d’effectuer des analyses dans la salle blanche. Cette fonction est activée par défaut dans toutes les nouvelles salles blanches, de sorte que cette procédure ne doit être exécutée que si vous avez explicitement désactivé l’analyse du cycle exécuté par les consommateurs pour une salle blanche.
Arguments :
cleanroom_name (string) - Nom de la salle blanche dans laquelle les analyses effectuées par les consommateurs sont autorisées.
consumer_accounts (Array of string) - Emplacements des comptes de tous les consommateurs pour lesquels cette fonction doit être activée. NOTE : Ces consommateurs doivent déjà avoir été ajoutés à la salle blanche.
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.provider.enable_consumer_run_analysis($cleanroom_name, ['<CONSUMER_ACCOUNT_LOCATOR_1>']);
provider.disable_consumer_run_analysis¶
Description : Empêche les consommateurs spécifiés d’effectuer des analyses dans la salle blanche spécifiée. Par défaut, tous les consommateurs sont autorisés à effectuer une analyse dans une salle blanche.
Arguments :
cleanroom_name (string) - Salle blanche dans laquelle l’analyse du cycle du consommateur est désactivée.
consumer_accounts (Array of string) - Emplacements des comptes des consommateurs qui ne peuvent pas effectuer d’analyse dans cette salle blanche. NOTE : Ces consommateurs doivent déjà avoir été ajoutés à la salle blanche.
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.provider.disable_consumer_run_analysis($cleanroom_name, ['<CONSUMER_ACCOUNT_LOCATOR_1>']);
library.is_consumer_run_enabled¶
Description : Vérifie si cette salle blanche autorise les analyses effectuées par les consommateurs.
Arguments :
cleanroom_name (string) - Nom de la salle blanche à vérifier.
Retourne : (string) Indique si cette salle blanche autorise ou non les analyses effectuées par les consommateurs.
Exemple :
call samooha_by_snowflake_local_db.library.is_consumer_run_enabled($cleanroom_name)
provider.create_or_update_cleanroom_listing¶
Description : Publie une nouvelle salle blanche ou met à jour une salle blanche existante. Vous devez appeler cette méthode chaque fois que vous apportez des modifications à une salle blanche afin de vous assurer que les changements sont propagés aux consommateurs.
Lorsque vous publiez une salle blanche pour la première fois, cela peut prendre un certain temps avant que la salle blanche ne soit visible dans l’application Web (jusqu’à 15 minutes).
Si vous effectuez des mises à jour dans une salle blanche sans appeler cette méthode par la suite, il n’y a aucune garantie que les changements seront propagés aux consommateurs.
Il y a une limite au nombre de clean rooms + collaborateurs que vous pouvez créer dans un seul compte. Si vous créez trop de clean room de test, vous devrez peut-être en supprimer quelques-unes pour en créer de nouvelles. Si vous avez besoin d’un nombre de clean rooms supérieur à la capacité de votre compte, contactez le support Snowflake.
Note
Vous devez définir la directive de version au moins une fois avant d’appeler cette procédure. Pour plus d’informations, voir provider.set_default_release_directive.
Arguments :
cleanroom_name (string) - Nom de la salle blanche à publier ou à mettre à jour.
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.provider.create_or_update_cleanroom_listing($cleanroom_name);
Enregistrer et annuler l’enregistrement des données¶
Utilisez la commande suivante pour enregistrer et annuler l’enregistrement des bases de données, des schémas et des objets. Les tables et les vues doivent être enregistrées avant de pouvoir être liées à la salle blanche. Si vous enregistrez une base de données ou un schéma, tous les objets de cette base de données ou de ce schéma sont enregistrés.
En savoir plus sur l’enregistrement des données
provider.register_db¶
Description : Permet à une base de données et à tous les objets qu’elle contient d’être liés à des salles blanches individuelles dans cet environnement de salle blanche. Cette procédure accorde les privilèges de USAGE et SELECT sur la base de données à SAMOOHA_APP_ROLE, qui est utilisée par l’environnement de la salle blanche pour accéder aux données.
Vous devez avoir l’accès à la base de données à l’adresse MANAGE GRANTS pour pouvoir appeler cette procédure. D’autres fournisseurs de cet environnement de salle blanche peuvent ensuite lier ces objets à leurs propres salles blanches sans avoir besoin de leur propre privilège SELECT.
En savoir plus sur l’enregistrement des données
Important
Cette procédure n’enregistre pas les objets créés après son appel. Si de nouveaux objets ont été ajoutés à la base de données et que vous souhaitez les enregistrer également, vous devez rappeler cette procédure.
Arguments :
db_name (string) - Nom de la base de données à enregistrer.
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
USE ROLE <ROLE_WITH_MANAGE GRANTS>;
call samooha_by_snowflake_local_db.provider.register_db('SAMOOHA_SAMPLE_DATABASE');
library.register_schema¶
Description : Similaire à register_db
, mais opère au niveau du schéma. Vous devez disposer du privilège MANAGE GRANTS sur le schéma pour appeler cette procédure.
Cette procédure accorde à USAGE et SELECT des privilèges sur le schéma de SAMOOHA_APP_ROLE, qui est utilisé par l’environnement de la salle blanche pour accéder aux données.
Si vous souhaitez enregistrer un schéma d’accès géré (c’est-à-dire un schéma créé à l’aide du paramètre WITH MANAGED ACCESS), utilisez plutôt library.register_managed_access_schema
.
Important
Cette procédure n’enregistre pas les objets créés après son appel. Si de nouveaux objets ont été ajoutés à la base de données et que vous souhaitez les enregistrer également, vous devez rappeler cette procédure.
Arguments :
schema_name (Array of string) - Un tableau d’un ou plusieurs noms de schémas entièrement qualifiés à enregistrer.
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
USE ROLE <ROLE_WITH_MANAGE GRANTS>;
call samooha_by_snowflake_local_db.library.register_schema(['SAMOOHA_SAMPLE_DATABASE.DEMO']);
library.register_managed_access_schema¶
Description : Semblable à register_schema
, mais enregistre un schéma créé à l’aide du paramètre WITH MANAGED ACCESS. Vous devez disposer des privilèges MANAGE GRANTS sur le schéma pour appeler cette procédure.
Cette procédure accorde des privilèges d’utilisation sur le schéma géré à SAMOOHA_APP_ROLE, qui est utilisé par l’environnement de la salle blanche pour accéder aux données.
Important
Cette procédure n’enregistre pas les objets créés après son appel. Si de nouveaux objets ont été ajoutés à la base de données et que vous souhaitez les enregistrer également, vous devez rappeler cette procédure.
Arguments :
schema_name (Array of string) - Un tableau d’un ou plusieurs noms de schémas pleinement qualifiés.
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
USE ROLE <ROLE_WITH_MANAGE GRANTS>;
call samooha_by_snowflake_local_db.library.register_managed_access_schema(['SAMOOHA_SAMPLE_DATABASE.DEMO']);
library.register_objects¶
Description : Accorde l’accès en salle blanche aux tables et aux vues de tous types, les rendant ainsi disponibles pour les lier dans la salle blanche via l’appel à provider.link_datasets
. Vous pouvez enregistrer des groupes d’objets plus larges en appelant library.register_schema
, library.register_managed_access_schema
ou provider.register_db
.
Cette procédure accorde des privilèges d’utilisation sur l’objet à SAMOOHA_APP_ROLE, qui est utilisé par l’environnement de la salle blanche pour accéder aux données.
Vous devez disposer du privilège MANAGE GRANTS sur l’objet pour appeler cette procédure. Cette procédure ne peut pas être utilisée pour enregistrer une base de données.
Si vous enregistrez une vue basée sur un objet d’une autre base de données, vous devez également accorder à l’application native l’autorisation d’accéder à l’objet source.
Arguments :
object_names (array) - Tableau de noms d’objets pleinement qualifiés. Ces objets peuvent ensuite être reliés à la salle blanche.
Renvoie : (string) Message de réussite ou d’échec.
Exemples
Pour enregistrer une table et une vue :
USE ROLE <ROLE_WITH_MANAGE GRANTS>;
call samooha_by_snowflake_local_db.library.register_objects(
['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS','SAMOOHA_SAMPLE_DATABASE.INFORMATION_SCHEMA.FIELDS']);
library.enable_external_tables_on_account¶
Description : activez l’utilisation de tables Iceberg ou externes dans toutes les clean rooms de ce compte. Doit être appelé par un ACCOUNTADMIN dans les comptes fournisseur et consommateur pour permettre à Iceberg ou à des tables externes d’être liés par l’un ou l’autre des comptes. Pour limiter cette possibilité à des clean rooms spécifiques de ce compte, appelez plutôt enable_external_tables_for_cleanroom
.
En cas de succès et si tous les scans de sécurité passent, cela génère une nouvelle version de patch de la clean room.
Arguments : Aucun
Renvoie : (string) Message de réussite ou d’échec. En cas de succès, il déclenche une analyse de sécurité et fournit également le numéro du correctif qui sera généré si l’analyse de sécurité réussit.
Exemple :
USE ROLE ACCOUNTADMIN;
CALL samooha_by_snowflake_local_db.library.enable_external_tables_on_account();
provider.enable_external_tables_for_cleanroom¶
Description : Permet aux tables Iceberg ou externes d’être liées à la clean room spécifiée dans ce compte par le fournisseur. Pour autoriser Iceberg et les tables externes pour toutes les clean rooms de ce compte, appelez plutôt enable_external_tables_on_account
.
En cas de succès, cette opération générera une nouvelle version de patch de la clean room.
Arguments :
cleanroom_name (String) - Le nom de la clean room dans laquelle le fournisseur peut lier des tables Iceberg ou externes.
Renvoie : (string) Message de réussite ou d’échec. En cas de succès, il déclenche une analyse de sécurité et fournit également le numéro du correctif qui sera généré si l’analyse de sécurité réussit.
Exemple :
CALL samooha_by_snowflake_local_db.provider.enable_external_tables_for_cleanroom(
$cleanroom_name);
library.unregister_db¶
Description : Annule la procédure register_db
et supprime les subventions au niveau de la base de données accordées au rôle SAMOOHA_APP_ROLE et à l’application native Snowflake Data Clean Room. Cela permet également de supprimer toute base de données du sélecteur dans l’application Web.
Arguments :
db_name (string) - Nom de la base de données dont il faut annuler l’enregistrement.
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
USE ROLE <ROLE_WITH_MANAGE GRANTS>;
call samooha_by_snowflake_local_db.library.unregister_db('SAMOOHA_SAMPLE_DATABASE');
library.unregister_schema¶
Description : Annule l’enregistrement d’un schéma, ce qui empêche les utilisateurs de lier ses tables et ses vues dans la salle blanche.
Si vous souhaitez annuler l’enregistrement d’un schéma d’accès géré (c’est-à-dire un schéma créé à l’aide du paramètre WITH MANAGED ACCESS), utilisez plutôt library.unregister_managed_access_schema
.
Arguments :
schema_name (array) - Schémas à désenregistrer.
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
USE ROLE <ROLE_WITH_MANAGE GRANTS>;
call samooha_by_snowflake_local_db.library.unregister_schema(['SAMOOHA_SAMPLE_DATABASE.DEMO']);
library.unregister_managed_access_schema¶
Description : Semblable à unregister_schema
, mais annule l’enregistrement d’un schéma créé à l’aide du paramètre WITH MANAGED ACCESS.
Arguments :
schema_name (array) - Schémas gérés à désenregistrer.
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
USE ROLE <ROLE_WITH_MANAGE GRANTS>;
call samooha_by_snowflake_local_db.library.unregister_managed_access_schema(['SAMOOHA_SAMPLE_DATABASE.DEMO']);
library.unregister_objects¶
Description : Révoque l’accès en salle blanche aux tables et vues de tous types. Les objets ne seront plus disponibles pour les utilisateurs dans les salles blanches gérées par ce compte.
Arguments :
object_names (array) - Tableau de noms d’objets pleinement qualifiés pour lesquels l’accès doit être révoqué.
Renvoie : (string) Message de réussite ou d’échec.
Exemples
Pour annuler l’enregistrement d’une table et d’une vue :
USE ROLE <ROLE_WITH_MANAGE GRANTS>;
call samooha_by_snowflake_local_db.library.unregister_objects(
['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS','SAMOOHA_SAMPLE_DATABASE.INFORMATION_SCHEMA.FIELDS']);
Lier les données et les tables¶
Utilisez les commandes suivantes pour ajouter ou supprimer des tables et des vues dans une salle blanche.
provider.link_datasets¶
Description : Lie une table de Snowflake ou une vue dans la salle blanche. La procédure rend automatiquement la table accessible à la salle blanche en créant une vue sécurisée de la table au sein de la salle blanche, évitant ainsi de devoir faire une copie de votre table. La table est toujours liée à sa source, de sorte que les mises à jour de la source seront répercutées dans la version sécurisée au sein de la salle blanche.
Tous les éléments liés ici doivent d’abord être enregistrés au niveau de la base de données, du schéma ou de l’objet.
Arguments :
cleanroom_name (string) - Nom de la salle blanche ayant accès aux objets.
tables_list (Array of string) - Liste des tables ou des vues à lier dans la salle blanche. Les objets doivent être enregistrés avant de pouvoir être liés.
consumer_list (Array of string, Optional) - S’il est présent, il permet uniquement aux consommateurs listés ici d’accéder à ces objets. En cas d’absence, permet à toute personne ayant accès à la salle blanche d’accéder à ces données.
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.provider.link_datasets(
$cleanroom_name, ['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS', 'MYDB.MYSCH.EXPOSURES']);
Note
Si vous liez une vue à la clean room et que cette vue est basée sur une table d’une autre base de données, vous devez enregistrer à la fois la vue et la source de la vue
provider.unlink_datasets¶
Description : Supprime l’accès aux tables spécifiées dans la salle blanche spécifiée pour tous les utilisateurs. Les tables spécifiées doivent avoir été liées par le fournisseur.
Arguments :
cleanroom_name (string) - Nom de la salle blanche liée à ces ensembles de données.
tables_list (array) - Tableau de noms de tables ou de vues à dissocier de la salle blanche.
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.provider.unlink_datasets($cleanroom_name, ['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS', 'MYDB.MYSCH.EXPOSURES']);
provider.view_provider_datasets¶
Description : Voir toutes les tables et vues liées à la salle blanche spécifiée par n’importe quel fournisseur de ce compte.
Arguments :
cleanroom_name (string) - Nom de la salle blanche.
Retourne : Table des objets liés à la salle blanche spécifiée, ainsi que le nom de la vue interne de la salle blanche pour chaque objet.
Exemple :
call samooha_by_snowflake_local_db.provider.view_provider_datasets($cleanroom_name);
provider.restrict_table_options_to_consumers¶
Description : Contrôle si un consommateur particulier peut accéder à une table dans la salle blanche. Cette procédure est replace only, ce qui signifie qu’elle écrase complètement toute valeur établie lors d’un appel précédent.
Les consommateurs auxquels l’accès a été accordé via provider.link_datasets
, provider.restrict_table_options_to_consumers
, ou toute autre méthode, perdront l’accès à une table si celle-ci n’est pas spécifiée lors de l’appel de cette méthode.
Arguments :
cleanroom_name (String) - Nom de la clean room à restreindre.
*access_details (Object) - Un objet JSON, où chaque nom de champ est le nom complet d’une table ou d’une vue, et la valeur du champ est un tableau de localisateurs de comptes des utilisateurs qui peuvent accéder à cette table ou à cette vue.
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.provider.restrict_table_options_to_consumers(
$cleanroom_name,
{
'DB.SCHEMA.TABLE1': ['CONSUMER_1_LOCATOR'],
'DB.SCHEMA.TABLE2': ['CONSUMER_1_LOCATOR', 'CONSUMER_2_LOCATOR']
}
);
Gérer les politiques¶
Les politiques de jointure dans les clean rooms de données ne sont pas les mêmes que les politiques de jointure à l’échelle de Snowflake. Les politiques de jointure pour les clean rooms ne sont définies qu’en utilisant cette procédure ; les politiques de jointure définies sur des tables en dehors des clean rooms sont ignorées par les salles blanches.
En savoir plus sur les politiques de table dans les clean rooms.
provider.view_join_policy¶
Description : Affiche les politiques de jointure actuellement appliquées à la salle blanche.
Arguments :
cleanroom_name (string) - Nom de la salle blanche à interroger.
Retourne : (Table) Liste des lignes joignables sur toutes les tables ou vues de la salle blanche.
Exemple :
call samooha_by_snowflake_local_db.provider.view_join_policy($cleanroom_name);
provider.set_join_policy¶
Description : Spécifie les colonnes sur lesquelles le consommateur peut se joindre lors de l’exécution de modèles dans cette salle blanche. Notez que la politique est replace only, de sorte que si la procédure est appelée à nouveau, la politique de jointure précédemment définie est entièrement remplacée par la nouvelle.
Important
Les politiques de jointure sont appliquées uniquement lorsque le modèle applique les filtres join_policy
ou join_and_column_policy
JinjaSQL aux lignes de jointure.
Note
Les politiques de jointure dans les salles blanches de données ne sont pas les mêmes que les politiques de jointure à l’échelle de Snowflake. Les politiques de jointure pour les salles blanches ne sont définies qu’en utilisant cette procédure ; les politiques de jointure définies sur des tables en dehors des salles blanches sont ignorées par les salles blanches.
Arguments :
cleanroom_name (string) - Nom de la salle blanche où la politique de jointure doit être appliquée.
table_and_col_names (Array of string) - Nom de colonne entièrement qualifié au format
database_name.schema_name.table_or_view_name:column_name
. Notez l’utilisation correcte de . par rapport aux marques
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.provider.set_join_policy($cleanroom_name,
['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:HASHED_EMAIL', 'MYDB.MYSCH.EXPOSURES:HASHED_EMAIL']);
Gérer les modèles de fournisseurs¶
Utilisez les commandes suivantes pour ajouter les modèles/analyses pris en charge dans cette salle blanche.
provider.view_added_templates¶
Description : Permet de voir les modèles ajoutés par le fournisseur dans la salle blanche. Il n’existe pas de méthode pour dresser la liste de tous les modèles dans toutes les salles blanches pour ce fournisseur.
Arguments :
cleanroom_name (string) - Salle blanche à interroger.
Retourne : (Table) - Liste des modèles disponibles dans la salle blanche spécifiée, avec des détails sur chaque modèle.
Exemple :
call samooha_by_snowflake_local_db.provider.view_added_templates($cleanroom_name);
provider.view_template_definition¶
Description : Affiche les informations relatives à un modèle spécifique. Les consommateurs qui consultent un modèle de fournisseur doivent utiliser consumer.view_template_definition
.
Arguments :
cleanroom_name (string) - Nom de la salle blanche avec ce modèle.
template_name (string) - Nom du modèle sur lequel la requête d’informations porte.
Retourne : La définition du modèle (string)
Exemple :
call samooha_by_snowflake_local_db.provider.view_template_definition($cleanroom_name, 'prod_overlap_analysis');
provider.add_templates¶
Description : Ajoute une liste d’annonces à la salle blanche. Cela ne remplace pas la liste de modèles existante.
Arguments :
cleanroom_name (string) - Nom de la salle blanche à laquelle ajouter des modèles.
template_names (Array of string) - Nom des modèles à ajouter. Il s’agit uniquement de modèles fournis par Snowflake. Pour ajouter un modèle personnalisé, appelez
add_custom_sql_template
. Les noms de modèles fournis par Snowflake comprennent « prod_overlap_analysis » et « prod_provider_data_analysis ».
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.provider.add_templates($cleanroom_name, ['prod_overlap_analysis']);
provider.clear_template¶
Description : Supprime un modèle spécifié de la salle blanche.
Arguments :
cleanroom_name (string) - Nom de la salle blanche.
template_name (string) - Nom du modèle à supprimer de cette salle blanche.
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.provider.clear_template($cleanroom_name, 'prod_custom_template');
provider.clear_all_templates¶
Description : Supprime tous les modèles qui ont été ajoutés à la salle blanche.
Arguments :
cleanroom_name (string) - Nom de la salle blanche dont il faut retirer tous les modèles.
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.provider.clear_all_templates($cleanroom_name);
provider.set_column_policy¶
Description : Définit les colonnes des données qui sont disponibles pour un modèle spécifié dans la salle blanche en tant que lignes non jointives. Les colonnes doivent être déclarées ici ou dans set_join_policy
pour être utilisées dans la salle blanche. Les colonnes listées ici peuvent être utilisées n’importe où dans le modèle, sauf en tant que colonne de jointure. Une colonne ne peut pas être listée à la fois dans une politique de colonne et dans une politique de jointure.
Par défaut, la politique de colonne d’une table est vide, ce qui signifie qu’aucune colonne n’est visible dans les résultats.
Cette procédure a le comportement replace entirely, de sorte que chaque fois qu’elle est appelée, elle écrase entièrement la liste des colonnes précédente.
Notez que les contrôles de la politique des colonnes sont effectués en analysant la requête SQL qui doit être exécutée sur les données afin de détecter toute colonne non autorisée. Les requêtes comportant des caractères génériques peuvent ne pas être prises en compte par ces contrôles, et il convient de faire preuve de discernement lors de la conception du modèle d’analyse. Si certaines colonnes ne doivent jamais faire l’objet d’une requête, envisagez de créer une vue de votre table source qui élimine ces colonnes sensibles, et créez un lien dans cette vue à la place.
Arguments :
cleanroom_name (string) - Nom de la salle blanche.
analysis_and_table_and_cols(Array of string) - Tableau des colonnes pouvant être utilisées par les modèles. Le format est le suivant :
template_name:full_table_name:column_name
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.provider.set_column_policy($cleanroom_name,
['prod_overlap_analysis:SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:STATUS',
'prod_overlap_analysis:SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:AGE_BAND',
'prod_overlap_analysis:SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:DAYS_ACTIVE']);
-- Same example, but using a variable name for the template.
call samooha_by_snowflake_local_db.provider.set_column_policy($cleanroom_name,
[$template_name || ':SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:STATUS',
$template_name || ':SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:AGE_BAND',
$template_name || ':SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:DAYS_ACTIVE']);
provider.view_column_policy¶
Description : Liste les politiques de colonne actuellement actives dans la salle blanche. Une politique de colonne indique quelles colonnes de table peuvent être affichées dans quels modèles.
**Arguments :**cleanroom_name (String)
Retourne : (Table) Quelles colonnes peuvent être utilisées dans quels modèles.
Exemple :
call samooha_by_snowflake_local_db.provider.view_column_policy($cleanroom_name);
provider.add_custom_sql_template¶
Description : Ajoute un modèle personnalisé JinjaSQL dans la salle blanche. Cela permet au consommateur d’appeler le modèle. Apprenez à créer des modèles personnalisés
Vous pouvez appeler cette API plusieurs fois pour ajouter plusieurs modèles personnalisés à la salle blanche. La procédure écrase tout modèle précédent portant le même nom dans cette salle blanche.
Si le modèle est utilisé par le consommateur pour [activer les résultats au fournisseur] (/user-guide/cleanrooms/activation), la commande doit répondre aux exigences suivantes :
Le nom du modèle personnalisé doit commencer par la chaîne
activation
. Par exemple,activation_custom_template
.Le modèle doit créer une table qui commence par
cleanroom.activation_data_
. Par exemple,CREATE TABLE cleanroom.activation_data_analysis_results AS ...
.Le modèle doit renvoyer la partie unique du nom de la table créée dans la définition, qui est la chaîne ajoutée à
cleanroom.activation_data_
. Par exemple,return 'data_analysis_results'
.
Arguments :
cleanroom_name (string) - Nom de la salle blanche à laquelle ce modèle est appliqué.
template_name (string) - Nom du modèle. Il doit s’agir de lettres minuscules, de chiffres, d’espaces ou de traits de soulignement. Les modèles d’activation doivent avoir un nom commençant par « activation ».
template (string) - Le modèle JinjaSQL.
sensitivity (Float, Optional) - Si la confidentialité différentielle est activée pour cette clean room, elle contrôle la quantité de bruit de confidentialité différentielle appliquée aux données renvoyées par ce modèle. Doit être un nombre supérieur à 0. La valeur par défaut est 1.0. La tâche de confidentialité différentielle doit être exécutée dans cette clean room pour que cet argument ait un effet.
consumer_locators (Array of string, Optional) - Un tableau d’un ou plusieurs localisateurs de comptes. S’il est présent, ce modèle sera ajouté à la salle blanche uniquement pour ces comptes. Vous pouvez modifier cette liste ultérieurement en annonçant
provider.restrict_template_options_to_consumers
. Si vous ne spécifiez pas de liste de consommateurs, tous les consommateurs peuvent utiliser le modèle personnalisé dans la salle blanche spécifiée.is_obfuscated (Boolean, Optional) - Si TRUE, les consommateurs ne peuvent pas voir le corps du modèle. Notez que vous devez utiliser Snowflake Enterprise Edition ou une version plus récente pour exécuter un modèle obscurci. Si ce modèle est utilisé pour une analyse gérée par le fournisseur, le consommateur doit approuver à nouveau la requête d’analyse chaque fois que vous modifiez l’état
is_obfuscated
.is_obfuscated
ne peut pas être utilisé en même temps quesensitivity
.
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.provider.add_custom_sql_template(
$cleanroom_name, 'prod_custom_template',
$$
select
identifier({{ dimensions[0] | column_policy }})
from
identifier({{ my_table[0] }}) c
inner join
identifier({{ source_table[0] }}) p
on
c.identifier({{ consumer_id }}) = identifier({{ provider_id | join_policy }})
{% if where_clause %} where {{ where_clause | sqlsafe | join_and_column_policy }} {% endif %};
$$);
provider.add_ui_form_customizations¶
Description : Définit une forme de personnalisation pour un modèle dans une clean room lorsque la clean room est exécutée dans l’application web. Ceci est utile pour permettre aux consommateurs de choisir les paramètres du modèle, tels que les tables ou les colonnes. Vous devez au moins spécifier des valeurs pour display_name
, description
, et methodology
dans l’argument template_information
.
Il est recommandé de placer les éléments de sélection de table avant les éléments de sélection de colonne, en particulier lorsque les sélecteurs de colonne se remplissent sur la base de la sélection de table.
Vous devez mettre à jour la clean room après avoir appelé cette fonction. Si vous n’appelez pas provider.create_or_update_cleanroom_listing
après avoir mis à jour l’UI, les collaborateurs ne verront aucune mise à jour.
Arguments :
cleanroom_name (string) : Le nom de la salle blanche qui contient ce modèle. La forme soumise s’applique uniquement au modèle spécifié dans la salle blanche spécifiée.
template_name (string) : Nom du modèle auquel s’applique cette UI. Il ne s’agit pas du titre visible par l’utilisateur, qui est spécifié à l’aide du champ template_information.display_name.
template_information (Dict) : Informations affichées à l’utilisateur dans l’UI. Contient les champs suivants :
display_name
(Requis) : Nom d’affichage du modèle dans l’application Web.description
(Requis) : Description du modèle.méthodologie
(Requis) : Description de la manière dont le consommateur doit utiliser la forme pour exécuter une analyse.warehouse_hints
(Objet) : Recommande le type d’entrepôt à utiliser pour effectuer l’analyse. Il s’agit d’un objet comportant les champs suivants :warehouse_size
: Voir warehouse_size dans CREATE WAREHOUSE pour les valeurs valides.snowpark_optimized
(Boolean) : Indique s’il faut utiliser un [entrepôt optimisé pour Snowpark pour traiter la requête. Pour la plupart des cas d’utilisation de machine learning, Snowflake recommande TRUE.
render_table_dropdowns
(Object) : Indique s’il faut afficher les listes déroulantes par défaut qui permettent à l’utilisateur de sélectionner les tables du fournisseur et/ou du consommateur à utiliser dans la requête. Il s’agit d’un objet comportant les champs suivants :render_consumer_table_dropdown
: (Boolean, Default = TRUE) Si TRUE, afficher le sélecteur de table consommateur par défaut. Si FALSE, cacher le sélecteur de tables des consommateurs. Le modèle peut accéder aux valeurs choisies sous forme de liste à l’aide de la variable de modèlemy_table
.render_provider_table_dropdown
: (Boolean, Default = TRUE) Si TRUE, afficher le sélecteur de table du fournisseur par défaut. Si FALSE, cacher le sélecteur de tables du fournisseur. Le modèle peut accéder aux valeurs choisies sous forme de liste à l’aide de la variable de modèlesource_table
.
activation_template_name
: (String) Nom d’un modèle d’activation dans cette clean room. Utilisez le nom du modèle sans préfixecleanroom
. En savoir plus sur les modèles d’activation.enabled_activations
: (String) Quel type d’activités sont activées. Valeurs possibles :consommateur
,fournisseur
. Pas de valeur par défaut ; doit être fourni siactivation_template_name
est spécifié.
details (Dict) : Définit les champs d’entrée configurables par l’utilisateur qui transmettent des valeurs au modèle. Il s’agit d’un dictionnaire de paires clé/objet, chaque paire représentant un élément d’UI configurable par l’utilisateur. La clé est un nom de variable dans le modèle JinjaSQL. La valeur est un objet qui définit l’élément d’UI. Chaque objet peut comporter les champs suivants :
<field_name>: { ['display_name': <string>,] ['order': <number>,] ['description': <string>,] ['type': <enum>,] ['default': <value>,] ['choices': <string array>,] ['infoMessage': <string>,] ['size': <enum>,] ['required': <bool>,] ['group': <string>,] ['references': <array of string>,] ['provider_parent_table_field': <string>,] ['consumer_parent_table_field': <string>] }
display_name
: Texte de l’étiquette pour cet élément dans la forme d’UI.ordre
: ordre basé sur 1 dans lequel cet élément doit être affiché dans la forme. S’il n’est pas spécifié, les éléments seront rendus dans l’ordre dans lequel ils apparaissent dans l’objet.description
: Une description de l’objet de l’élément, indiquée sous l’étiquette. Fournissez ici une aide succincte ou des exemples. Si non fourni, rien ne s’affiche.type
: Le type de l’élément UI. Si les références sont spécifiées pour ce champ d’entrée, omettez cette entrée (le type est déterminé pour vous). Valeurs prises en charge :any
(Défaut) : Champ de saisie de texte normal.boolean
: Sélecteur vrai/fauxinteger
: utilisez les flèches pour changer le nombremultiselect
: Sélectionner plusieurs éléments dans une liste déroulantedropdown
: Sélectionner un élément dans une liste déroulantedate
: sélecteur de date
default
: Valeur par défaut de cet élémentchoices
: (Array of string) Liste de choix pour les éléments dropdown et multiselectinfoMessage
: Texte en surimpression informatif affiché à côté de l’élément. Si non fourni, aucune info-bulle n’est fournie.taille
: Taille de l’élément. Valeurs prises en charge :XS
,S
,M
,L
,XL
required
: Indique si une valeur est exigée par l’utilisateur. Spécifiez TRUE ou FALSE.group
: Un nom de groupe, utilisé pour regrouper des éléments dans l’UI. Utilisez le même nom de groupe pour les éléments qui doivent être regroupés dans l’UI. Si vous masquez les listes déroulantes par défaut, vous pouvez utiliser les arguments spéciaux{{ source_table }}
et{{ my_table}}
dans le modèle personnalisé, puis définir votre propre liste déroulante contenant les tables souhaitées. Pour plus d’informations sur l’utilisation de ces variables spéciales lors de la définition du modèle personnalisé, voir provider.add_custom_sql_template.references
: Crée une liste déroulante contenant les tables ou colonnes disponibles dans la salle blanche sans avoir à les connaître à l’avance ou à les lister individuellement. S’il est utilisé, le type doit être « multiselect » ou « dropdown ». Les valeurs de chaîne suivantes sont prises en charge :PROVIDER_TABLES
: Liste déroulante de toutes les tables du fournisseur dans la salle blanche accessible par l’utilisateurPROVIDER_JOIN_POLICY
: Liste déroulante de toutes les colonnes pouvant faire l’objet d’une jointure à partir de la table du fournisseur spécifiée parprovider_parent_table_field
PROVIDER_COLUMN_POLICY
: Liste déroulante de toutes les colonnes ayant une politique de colonne dans la table du fournisseur spécifiée parprovider_parent_table_field
.PROVIDER_ACTIVATION_POLICY
: Liste déroulante de toutes les colonnes de la politique d’activation du fournisseur.CONSUMER_TABLES
: Liste déroulante de toutes les tables des consommateurs de la salle blanche accessibles par l’utilisateurCONSUMER_COLUMNS
: Liste déroulante de toutes les colonnes de la table du consommateur spécifiée par consumer_parent_table_field auxquelles l’utilisateur peut accéder. Vous ne devez pas utiliser de références à des colonnes de consommateurs dans des modèles gérés par le fournisseur, car le consommateur peut appliquer des politiques de jointure et de colonne, ce qui peut entraîner l’échec d’une requête lorsque la politique de la colonne n’est pas respectée.CONSUMER_JOIN_POLICY
: Liste déroulante de toutes les colonnes pouvant faire l’objet d’une jointure à partir de la table du consommateur spécifiée parconsumer_parent_table_field
CONSUMER_COLUMN_POLICY
: Liste déroulante de toutes les colonnes ayant une politique de colonne dans la table du consommateur spécifiée parconsumer_parent_table_field
provider_parent_table_field
: Indiquez le nom de l’élément UI dans lequel l’utilisateur sélectionne une table de fournisseur (ne fournissez pas le nom de la table elle-même ici). À utiliser uniquement lorsque references est défini surPROVIDER_COLUMN_POLICY
ouPROVIDER_JOIN_POLICY
.consumer_parent_table_field
: Indiquez le nom de l’élément UI dans lequel l’utilisateur sélectionne une table de consommateurs (ne fournissez pas le nom de la table elle-même ici). À utiliser uniquement lorsque references est défini surCONSUMER_COLUMNS
,CONSUMER_JOIN_POLICY
ouCONSUMER_COLUMN_POLICY
.
output_config (Dict) Définit la manière d’afficher graphiquement les résultats du modèle dans l’application Web. S’il n’est pas fourni, les résultats ne sont pas affichés dans un graphique, mais uniquement dans une table. Si vous ne souhaitez pas de graphique, fournissez un objet vide {} pour cet argument. Champs autorisés :
measure_columns
: Noms des colonnes contenant des mesures et des dimensions à utiliser dans le graphique généré par l’application Web.default_output_type
: Le format par défaut pour l’affichage des résultats. L’utilisateur pourra généralement modifier le format d’affichage dans l’UI si les données sont dans le bon format. Types prises en charge :TABLE
: (Default) Format tabulaireBAR
: Diagramme en barres, qui permet de comparer différentes catégoriesLINE
: Le graphique en ligne, qui permet de montrer des tendances dans le temps ou des données continuesPIE
: Le diagramme circulaire, qui permet d’illustrer des proportions ou des pourcentages
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
-- Specify the display name, description, and warehouse, and hide the default table dropdown lists.
-- Define the following two fields in the UI:
-- A provider table selector that shows all provider tables. Chosen tables can be accessed by the template with the variable 'a_provider_table'
-- (This dropdown list is equivalent to setting `render_table_dropdowns.render_provider_table_dropdown: True`)
-- A column selector for the tables chosen in 'a_provider_table'. Chosen columns can be accessed by the template with the variable 'a_provider_col'
call samooha_by_snowflake_local_db.provider.add_ui_form_customizations(
$cleanroom_name,
'prod_custom_template',
{
'display_name': 'Custom Analysis Template',
'description': 'Use custom template to run a customized analysis.',
'methodology': 'This custom template dynamically renders a form for you to fill out, which are then used to generate a customized analysis fitting your request.',
'warehouse_hints': {
'warehouse_size': 'xsmall',
'snowpark_optimized': FALSE
},
'render_table_dropdowns': {
'render_consumer_table_dropdown': false,
'render_provider_table_dropdown': false
},
'activation_template_name': 'activation_my_template',
'enabled_activations': ['consumer', 'provider']
},
{
'a_provider_table': {
'display_name': 'Provider table',
'order': 3,
'description': 'Provider table selection',
'size': 'S',
'group': 'Seed Audience Selection',
'references': ['PROVIDER_TABLES'],
'type': 'dropdown'
},
'a_provider_col': {
'display_name': 'Provider column',
'order': 4,
'description': 'Which col do you want to count on',
'size': 'S',
'group': 'Seed Audience Selection',
'references': ['PROVIDER_COLUMN_POLICY'],
'provider_parent_table_field': 'a_provider_table',
'type': 'dropdown'
}
},
{
'measure_columns': ['col1', 'col2'],
'default_output_type': 'PIE'
}
);
provider.restrict_template_options_to_consumers¶
Description : Contrôle les utilisateurs qui peuvent accéder à un modèle donné dans une salle blanche donnée. Cette procédure remplace toute liste d’accès spécifiée précédemment par une autre procédure pour une paire salle blanche/modèle.
Arguments :
cleanroom_name (string) - Le nom de la salle blanche.
access_details(JSON object) - Le nom d’un modèle et les utilisateurs qui peuvent accéder à ce modèle dans cette salle blanche. Si un modèle est spécifié, seuls les utilisateurs listés ici peuvent accéder à ce modèle dans cette salle blanche. Il s’agit d’un objet avec un objet enfant par modèle dans le format suivant :
\-'{template_name':['user1_locator','user2_locator','userN_locator']}
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.provider.restrict_template_options_to_consumers(
$cleanroom_name,
{
'prod_template_1': ['CONSUMER_1_LOCATOR', 'CONSUMER_2_LOCATOR']
}
);
Modèles définis par le consommateur¶
Les APIs suivantes vous permettent d’approuver ou de rejeter une requête d’un consommateur pour ajouter un modèle à la salle blanche. Un modèle défini par le consommateur n’est ajouté à une salle blanche que si le fournisseur approuve la requête du consommateur en ce sens. Pour plus d’informations, voir Utilisation de l’API du développeur pour ajouter des modèles définis par le consommateur.
provider.list_pending_template_requests¶
Description : Annonce toutes les requêtes non approuvées des consommateurs qui veulent ajouter un modèle défini par le consommateur à une clean room. Cela inclut les requêtes en attente, approuvées et rejetées. Utilisez cette procédure pour vérifier les requêtes en attente et les approuver (provider.approve_template_request
) ou les rejeter (provider.reject_template_request
).
Arguments :
cleanroom_name (string) - Voir les requêtes des consommateurs pour ajouter un modèle à cette salle blanche.
Retourne : Une table contenant notamment les valeurs suivantes :
request_id (String) - ID de la requête, nécessaire pour accepter ou rejeter la requête. consumer_locator (String) - Localisateur de compte de la personne qui fait la requête. template_name (String) - Nom du modèle fourni par le consommateur. template_definition (String) - Définition complète du modèle proposé par le consommateur.
Exemple :
call samooha_by_snowflake_local_db.provider.list_pending_template_requests($template_name);
provider.list_template_requests¶
Description : Liste toutes les requêtes des consommateurs qui souhaitent ajouter un modèle défini par le consommateur à une salle blanche. Cela inclut les requêtes en attente, approuvées et rejetées. Utilisez cela pour vérifier les requêtes en attente et les approuver (provider.approve_template_request
) ou les rejeter (provider.reject_template_request
).
Arguments :
cleanroom_name (string) - Voir les requêtes des consommateurs pour ajouter un modèle à cette salle blanche.
Retourne : Une table contenant notamment les valeurs suivantes :
request_id (string) - ID de la requête, nécessaire pour accepter ou rejeter la requête. consumer_identifier (string) - Localisateur de compte de la personne qui fait la requête. template_name (string) - Nom du modèle fourni par le consommateur. template_definition (string) - Définition complète du modèle proposé par le consommateur. status (string) - Statut de la requête : PENDING, APPROVED, REJECTED.
Exemple :
call samooha_by_snowflake_local_db.provider.list_template_requests($template_name);
provider.approve_template_request¶
Description : Approuve une requête visant à ajouter un modèle à la salle blanche.
Arguments :
cleanroom_name (string) - Nom de la salle blanche à laquelle l’utilisateur souhaite ajouter le modèle.
request_id (string) - ID de la requête à approuver. Appelez
fournisseur.list_template_requests
pour voir les IDs de requête.
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.provider.approve_template_request($cleanroom_name,
'815324e5-54f2-4039-b5fb-bb0613846a5b');
provider.approve_multiple_template_requests¶
Description : Approuve plusieurs requêtes de consommateurs pour ajouter un modèle à une clean room. Toutes les requêtes doivent concerner une seule clean room.
Arguments :
cleanroom_name (String) - Le nom de la clean room à laquelle cette requête s’applique.
request_ids (Array of strings) - Les IDs de toutes les requêtes de modèles à approuver. Pour obtenir un ID de requête, appelez
provider.list_template_requests
.
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
CALL samooha_by_snowflake_local_db.provider.approve_multiple_template_requests($cleanroom_name,
['cfd538e2-3a17-48e3-9773-14275e7d2cc9','2982fb0a-02b7-496b-b1c1-56e6578f5eac']);
provider.reject_template_request¶
Description : Rejette une requête visant à ajouter un modèle à une salle blanche.
Arguments :
cleanroom_name (string) - Nom de la salle blanche à laquelle l’utilisateur souhaite ajouter le modèle.
request_id (string) - ID de la requête à rejeter. Appelez
fournisseur.list_template_requests
pour voir les IDs de requête.reason_for_rejection (string) - Raison du rejet de la requête.
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.provider.reject_template_request('dcr_cleanroom',
'cfd538e2-3a17-48e3-9773-14275e7d2cc9',
'Failed security assessment');
provider.reject_multiple_template_requests¶
Description : Rejette plusieurs requêtes de consommateurs visant à ajouter un modèle à une clean room. Toutes les requêtes doivent concerner la même clean room.
Arguments :
cleanroom_name (string) - Nom de la clean room à laquelle cette requête s’applique.
rejected_templates (array of objects) - Un tableau d’objets avec les champs suivants, un par rejet :
request_id (string) - ID de la requête à rejeter. Pour obtenir un ID de requête, appelez
provider.list_template_requests
.reason_for_rejection(string) - Description en texte libre de la raison pour laquelle la requête est rejetée.
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
CALL samooha_by_snowflake_local_db.provider.reject_multiple_template_requests($cleanroom_name,
[OBJECT_CONSTRUCT('request_id', '815324e5-54f2-4039-b5fb-bb0613846a5b', 'reason_for_rejection', 'Failed security assessment'),
OBJECT_CONSTRUCT('request_id', '2982fb0a-02b7-496b-b1c1-56e6578f5eac', 'reason_for_rejection', 'Some other reason')
]);
Chaînes de modèles¶
Utilisez les commandes suivantes pour créer et gérer des chaînes de templates.
provider.add_template_chain¶
Description : Crée une nouvelle chaîne de modèles. Les modèles doivent exister avant d’être ajoutés à la chaîne de modèles. Une fois qu’une chaîne de modèles est créée, elle ne peut pas être modifiée, mais vous pouvez créer une nouvelle chaîne de modèles portant le même nom pour remplacer l’ancienne.
Arguments :
cleanroom_name (string) - Nom de la salle blanche où la chaîne de modèles doit être ajoutée.
template_chain_name (string) - Nom de la chaîne de modèles.
templates(Array of objects) - Tableau d’objets, une par modèle. L’objet peut contenir les champs suivants :
template_name
(string) - Spécifie le modèle ajouté à la chaîne de modèles. Le modèle doit déjà être ajouté à la salle blanche en appelantprovider.add_template_chain
.cache_results
(boolean) - Détermine si les résultats du modèle sont temporairement enregistrés afin que d’autres modèles de la chaîne de modèles puissent y accéder. Pour mettre en cache les résultats, spécifiez TRUE.output_table_name
(string) - Lorsquecache_results
= TRUE, spécifie le nom de la table Snowflake dans laquelle les résultats du modèle sont stockés.jinja_output_table_param
(string) - Lorsquecache_results
= TRUE, spécifie le nom du paramètre Jinja que les autres modèles doivent inclure pour accepter les résultats stockés dansoutput_table_name
.cache_expiration_hours
(integer) - Lorsquecache_results
= TRUE, spécifie le nombre d’heures avant que les résultats du cache ne soient supprimés. Lorsque le cache expire, la prochaine fois que la chaîne de modèles est exécutée, le cache est actualisé avec les résultats du modèle.
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.provider.add_template_chain(
$cleanroom_name,
'my_chain',
[
{
'template_name': 'crosswalk',
'cache_results': True,
'output_table_name': 'crosswalk',
'jinja_output_table_param': 'crosswalk_table_name',
'cache_expiration_hours': 2190
},
{
'template_name': 'transaction_insights',
'cache_results': False
}
]
);
provider.view_added_template_chains¶
Description : Liste les chaînes de modèle dans la salle blanche spécifiée.
Arguments :
cleanroom_name (string) - Nom de la salle blanche.
Retourne : (Table) Description de toutes les chaînes de modèles ajoutées à cette salle blanche.
Exemple :
call samooha_by_snowflake_local_db.provider.view_added_template_chains($cleanroom_name);
provider.view_template_chain_definition¶
Description : Renvoie la définition d’une chaîne de modèles.
Arguments :
cleanroom_name (string) - Nom de la salle blanche associée à cette chaîne de modèles.
template_chain_name (string) - Nom de la chaîne de modèles associée à cette salle blanche.
Retourne : (Table) Description de la chaîne de modèles spécifiée.
Exemple :
call samooha_by_snowflake_local_db.provider.view_template_chain_definition($cleanroom_name, 'my_chain');
provider.clear_template_chain¶
Description : Supprime une chaîne de modèles spécifiée d’une salle blanche spécifiée. La chaîne n’est stockée nulle part. Si vous souhaitez recréer la chaîne, vous devez la recréer à partir de zéro.
Arguments :
cleanroom_name (string) - La salle blanche à laquelle est attribuée cette chaîne de modèles.
template_chain_name (string) - La chaîne de modèles à retirer de cette salle blanche.
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.provider.clear_template_chain($cleanroom_name, 'my_chain');
Analyses multi-fournisseurs¶
Ces procédures permettent une analyse multi-fournisseurs.
provider.enable_multiprovider_computation¶
Description : Cette procédure permet d’utiliser les tables de votre clean room en combinaison avec le modèle spécifié, lorsque l’utilisateur spécifié en fait la requête, et en combinaison avec les tables des clean rooms spécifiées. Cette procédure permet à un consommateur d’effectuer une requête sur des données provenant de plusieurs clean rooms. Cette procédure n’approuve pas automatiquement ces requêtes, mais permet de lancer la procédure d’approbation manuelle ou automatisée pour l’utilisateur et les clean rooms spécifiés en connectant les requêtes au journal des requêtes multi-fournisseurs de pour cette clean room.
Tous les appels faits à cette clean room en utilisant consumer.prepare_multiprovider_flow
seront sauvegardés et visibles avant même que vous n’appeliez enable_multiprovider_computation
pour cette clean room.
Pour permettre à un consommateur d’accéder à plusieurs clean rooms de votre compte, indiquez une clean room dans l’argument cleanroom_name
, et les autres dans l’argument approved_other_cleanrooms
.
Cette procédure exige la mise en place d’une politique de jonction dans la clean room.
Lorsqu’une requête est connectée, l’approbation intervient conformément au flux de requêtes pour un utilisateur et une requête donnés.
Il n’existe aucun moyen de désactiver la connexion des requêtes après son lancement, mais vous pouvez suspendre l’approbation automatique pour un utilisateur donné (si vous l’avez autorisé en appelant provider.suspend_multiprovider_tasks
), puis ne plus approuver aucune requête.
Arguments :
cleanroom_name (string) - Nom d’une salle blanche dont vous êtes propriétaire. Toutes les données de cette clean room peuvent être partagées avec les salles blanches listées sur
approved_other_cleanrooms
dans le cadre de requêtes multi-fournisseurs parconsumer_account
.consumer_account (string) - Localisateur de compte d’un consommateur autorisé à faire la requête et, en cas d’approbation, à exécuter une requête sur toutes les tables de cette salle blanche combinées aux données de toutes les salles blanches annoncées dans
approved_other_cleanrooms
.approved_other_cleanrooms (Array of string) - Tableau de noms de salles blanches entièrement qualifiés avec lesquels les données de cette salle blanche peuvent être combinées. Le format de chaque entrée est
provider_org_name.provider_account_name.cleanroom_name
. Important : Indiquez le nom du compte ,, et non le localisateur de compte , dans chaque description de clean room.
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
CALL samooha_by_snowflake_local_db.provider.enable_multiprovider_computation(
$cleanroom_name,
$consumer_account_locator,
<org_name>.<account_locator>.<cleanroom_name>);
provider.view_multiprovider_requests¶
Description : Affiche toutes les requêtes d’analyse multifournisseurs d’un compte et d’une salle blanche donnés. Cela comprend les requêtes approuvées et les requêtes refusées. Les fournisseurs peuvent utiliser cette procédure pour interroger les requêtes afin de les approuver manuellement en appelant provider.process_multiprovider_request
, ou comme moyen de voir toutes les requêtes d’un consommateur donné dans une clean room donnée.
Vous devez appeler enable_multiprovider_computation
pour cette clean room et ce compte consommateur avant de pouvoir appeler view_multiprovider_requests
.
Arguments :
cleanroom_name (String) - Affiche les requêtes du consommateur spécifié provenant de cette clean room.
consumer_account (String) - Afficher les requêtes de ce localisateur de compte consommateur à partir de la clean room spécifiée.
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
CALL samooha_by_snowflake_local_db.provider.view_multiprovider_requests($cleanroom_name, $consumer_locator);
provider.process_multiprovider_request¶
Description : Approuve l’exécution de la requête multi-fournisseurs spécifiée, si toutes les vérifications sont positives. Les contrôles portent notamment sur l’ancienneté de la requête et sur l’approbation ou non de la requête par le fournisseur lors d’un appel précédent à provider.enable_multiprovider_computation
. Le consommateur doit encore appeler consumer.execute_multiprovider_flow
pour exécuter la requête. Une requête sera abandonnée au bout de quatre heures si elle n’est pas approuvée.
Par défaut, toutes les requêtes multi-fournisseurs doivent être traitées à l’aide de cette procédure. Si vous préférez que toutes les requêtes de ce consommateur dans cette clean room soient approuvées automatiquement, indiquez -1
pour request_id
. Si vous souhaitez que toutes les requêtes de tous les consommateurs de cette clean room soient approuvées, appelez provider.resume_multiprovider_tasks
. Apprenez à révoquer les requêtes précédemment approuvées.
Une fois la requête évaluée, la requête et le statut de l’évaluation sont inscrits dans la table de connexion pour cette clean room.
Arguments :
cleanroom_name (string) - Le nom de votre salle blanche, qu’un consommateur demande à inclure dans une analyse multifournisseur.
consumer_account (string) - L’emplacement du compte consommateur de l’utilisateur requérant une analyse multifournisseur. Ce localisateur doit avoir été approuvé pour cette salle blanche et les autres salles blanches listées dans la requête dans un appel à
provider.enable_multiprovider_computation
.request_id (string) - ID de requête à approuver, provenant de
provider.view_multiprovider_requests
. Passez à-1
pour approuver toutes les requêtes pour ce consommateur dans cette clean room.
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
CALL samooha_by_snowflake_local_db.provider.process_multiprovider_request($cleanroom_name_1, $consumer_account_locator, $request_id);
provider.suspend_multiprovider_tasks¶
Description : Arrête l’examen et l’approbation automatisés (pour les requêtes qualifiées) dans une requête multi-fournisseurs dans la clean room spécifiée. Les requêtes multi-fournisseurs sont toujours activées pour la clean room, mais chaque requête doit désormais être explicitement approuvée par le fournisseur en appelant provider.process_multiprovider_request
.
Le statut par défaut pour toutes les clean rooms est que l’approbation automatique multi-fournisseurs est désactivée. Pour l’activer, appelez provider.resume_multiprovider_tasks
.
Arguments :
cleanroom_name (string) - Nom de la salle blanche.
consumer_account (String) - Emplacement du compte du consommateur dont les requêtes multi-fournisseurs doivent être suspendues pour tous les modèles de cette clean room. Les requêtes ultérieures de cet utilisateur dans cette clean room seront abandonnées.
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
CALL samooha_by_snowflake_local_db.provider.suspend_multiprovider_tasks($cleanroom_name, $consumer_locator);
provider.resume_multiprovider_tasks¶
Description : Permet l’examen automatisé et l’approbation (pour les requêtes qualifiées) des analyses multi-fournisseurs pour l’utilisateur donné dans la clean room donnée. L’examen automatisé est désactivé par défaut pour une clean room.
Pour arrêter l’approbation automatique, appelez provider.suspend_multiprovider_tasks
.
Arguments :
cleanroom_name (string) - Nom de la salle blanche.
consumer_account (String) - Emplacement du compte du consommateur dont les requêtes multi-fournisseurs dans cette clean room seront désormais mises en file d’attente.
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
CALL samooha_by_snowflake_local_db.provider.resume_multiprovider_tasks('my_cleanroom', $consumer_locator);
Activation¶
L’activation signifie l’exportation des résultats vers un fournisseur, un consommateur ou un tiers. Pour en savoir plus sur l’activation.
provider.set_activation_policy¶
Description : Définit les colonnes du fournisseur qui peuvent être utilisées dans un modèle d’activation. Seules les colonnes listées dans une politique d’activation peuvent être activées à partir de l’ensemble des données du fournisseur. L’absence de paramètre dans la politique d’activation empêche l’activation des données du fournisseur.
L’appel à cette procédure annule toute politique d’activation antérieure établie par le fournisseur.
Arguments :
cleanroom_name (string) - Nom de la salle blanche où l’activation doit être autorisée.
columns (Array of string) - Seules les colonnes listées ici peuvent être utilisées dans un modèle d’activation dans cette salle blanche. Le format des noms de colonnes est le suivant :
template_name:fully_qualified_table_name:column_name
. Notez l’utilisation correcte des marqueurs point . et deux points :.
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.provider.set_activation_policy('my_cleanroom', [
'prod_overlap_analysis:SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:HASHED_EMAIL',
'prod_overlap_analysis:SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:REGION_CODE' ]);
provider.request_provider_activation_consent¶
Description : Envoie une requête au consommateur pour permettre au fournisseur d’exécuter un modèle spécifié et de pousser les résultats vers le compte Snowflake du fournisseur. En arrière-plan, il ajoute un modèle à la liste des modèles d’activation des fournisseurs dans la clean room. Une fois qu’un modèle est désigné comme modèle d’activation, il ne peut être utilisé que dans les requêtes d’activation.
Arguments :
cleanroom_name (string) - Salle blanche qui contient le modèle d’activation.
template_name (string) - Nom du modèle d’activation pour lequel une requête d’approbation doit être introduite. Ce modèle doit avoir été ajouté à la salle blanche lors d’un appel précédent. Le nom du modèle doit commencer par « activation_ ».
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.provider.request_provider_activation_consent(
$cleanroom_name, 'activation_my_activation_template');
provider.update_activation_warehouse¶
Description : Indiquez la taille de l’entrepôt à utiliser lors du déchiffrement des résultats dans la table de sortie lors d’une activation du fournisseur. L’entrepôt utilisé pour le déchiffrement est DCR_ACTIVATION_WAREHOUSE. Le fournisseur paie pour cet entrepôt.
Arguments :
size (String) - Taille de l’entrepôt. Choisissez l’une des valeurs WAREHOUSE_SIZE de la commande CREATE WAREHOUSE.
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.provider.update_activation_warehouse('LARGE');
Exécuter des analyses en tant que fournisseur¶
Découvrez comment exécuter une analyse fournisseur.
provider.enable_provider_run_analysis¶
Description : Permet au fournisseur (créateur de la salle blanche) d’exécuter des analyses dans une salle blanche spécifiée. Cette fonction est désactivée par défaut. Le consommateur doit ensuite appeler consumer.enable_templates_for_provider_run
pour activer les analyses effectuées par le fournisseur pour des modèles spécifiques dans la clean room. Ensuite, le fournisseur peut exécuter une analyse en appelant provider.submit_analysis_request
.
En savoir plus sur les analyses effectuées par les fournisseurs.
Important
Cette procédure doit être appelée après provider.add_consumers
et avant qu’un consommateur n’installe une salle blanche. Si cette configuration est modifiée alors que le consommateur a déjà installé sa salle blanche, il doit la réinstaller pour qu’elle corresponde à la nouvelle configuration.
Arguments :
cleanroom_name (string) - Nom de la salle blanche qui doit permettre l’analyse par le fournisseur.
consumer_accounts (Array of string) - Emplacements des comptes de tous les consommateurs qui ont ajouté des données à cette salle blanche.
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.provider.enable_provider_run_analysis($cleanroom_name, ['<CONSUMER_ACCOUNT_LOCATOR>']);
provider.disable_provider_run_analysis¶
Description : Empêche le fournisseur (créateur de la salle blanche) d’effectuer une analyse dans la salle blanche (cette fonction est désactivée par défaut).
Important
Cette procédure doit être appelée après provider.add_consumers
et avant qu’un consommateur n’installe une salle blanche. Si cette configuration est modifiée alors que le consommateur a déjà installé sa salle blanche, il devra réinstaller la salle blanche pour tenir compte de la nouvelle configuration.
Arguments :
cleanroom_name (string) - Nom de la salle blanche dans laquelle l’analyse par le fournisseur doit être désactivée.
consumer_account_locator (string) - Même liste de noms de comptes de consommateurs que celle transmise à
provider.enable_provider_run_analysis
.
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.provider.disable_provider_run_analysis($cleanroom_name, ['<CONSUMER_ACCOUNT_LOCATOR>']);
library.is_provider_run_enabled¶
Description : Vérifie que cette salle blanche autorise les analyses effectuées par le fournisseur.
Arguments :
cleanroom_name (string) - Nom de la salle blanche à vérifier.
Retourne : (string) Indique si cette salle blanche autorise ou non les analyses effectuées par le fournisseur.
Exemple :
call samooha_by_snowflake_local_db.library.is_provider_run_enabled($cleanroom_name)
provider.view_warehouse_sizes_for_template¶
Description : Voir la liste des tailles et des types d’entrepôts disponibles pour les analyses effectuées par le fournisseur avec un modèle donné. Le consommateur doit d’abord remplir la liste dans son appel à consumer.enable_templates_for_provider_run
.
Arguments :
consumer_account (String) - Emplacement du compte du consommateur qui approuvera la requête gérée par le fournisseur.
cleanroom_name (string) - Nom de la salle blanche.
template_name (String) - Nom du modèle que le fournisseur veut exécuter.
consumer_account (String) - Emplacement du compte du consommateur qui approuvera la requête gérée par le fournisseur.
Retours : Une table des tailles et types d’entrepôts autorisés. Les chaînes de type et de taille d’entrepôt prises en charge sont celles utilisées par les propriétés WAREHOUSE_TYPE et WAREHOUSE_SIZE dans la commande CREATE WAREHOUSE.
Exemple :
CALL samooha_by_snowflake_local_db.PROVIDER.VIEW_WAREHOUSE_SIZES_FOR_TEMPLATE($cleanroom_name, $template_name, $consumer_account_loc);
provider.submit_analysis_request¶
Description : Soumet une analyse à exécuter dans la clean room. Toutes les conditions suivantes doivent être remplies avant d’appeler cette procédure :
Le fournisseur doit avoir activé les analyses effectuées par le fournisseur dans cette salle blanche.
Le consommateur doit disposer d”analyses approuvées par le fournisseur pour le modèle spécifié.
Toutes les politiques de jointure et de colonne sur les données du consommateur et le modèle doivent être respectées.
Le modèle est exécuté dans la salle blanche et les résultats sont stockés en toute sécurité à l’intérieur de la salle blanche. Les résultats sont chiffrés, de sorte que seul le fournisseur peut les consulter.
Arguments :
cleanroom_name (string) - Nom de la salle blanche où le modèle doit être exécuté.
consumer_account_locator (string) - Compte du consommateur de cette salle blanche qui a autorisé les analyses effectuées par le fournisseur en appelant
consumer.enable_templates_for_provider_run
.template_name (string) - Nom du modèle à exécuter.
provider_tables (array) - Liste des tables de fournisseurs à exposer au modèle. Cette liste alimentera la variable de tableau
source_table
.consumer_tables (array) - Liste des tables de consommateurs à exposer au modèle. Cette liste alimentera la variable de tableau
my_table
.analysis_arguments (object) - Objet JSON où chaque clé est un nom d’argument utilisé dans le modèle que vous avez créé. Si vous souhaitez utiliser un type et une taille d’entrepôt spécifiques, choisissez un type et une taille annoncés par
provider.view_warehouse_sizes_for_template
et spécifiez-les ensuite à l’aide des champs suivants :warehouse_type
(String) - Type d’entrepôt pris en charge par le consommateur pour les analyses effectuées par le fournisseur avec le modèle spécifié.warehouse_size
(String) - Taille de l’entrepôt prise en charge par le consommateur pour les analyses effectuées par le fournisseur avec le modèle spécifié.
Retourne : (string) Un ID de requête qui est utilisé pour vérifier le statut de la requête et également pour accéder aux résultats. Sauvegardez cet ID car vous en aurez besoin pour voir les résultats de l’analyse.
Exemple :
call samooha_by_snowflake_local_db.provider.submit_analysis_request(
$cleanroom_name,
'<CONSUMER_ACCOUNT>',
'prod_overlap_analysis',
['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.
));
provider.check_analysis_status¶
Description : Le fournisseur appelle cette procédure pour vérifier le statut de la requête d’analyse du fournisseur. Un délai important peut s’écouler avant que vous puissiez connaître le statut d’une requête. Lorsqu’une analyse est marquée comme terminée, appelez provider.get_analysis_result
pour voir les résultats.
Arguments :
cleanroom_name (string) - Nom de la salle blanche où la requête a été faite.
request_id (string) - ID de la requête, renvoyée par
provider.submit_analysis_request
.consumer_account_locator (string) - Emplacement du compte du consommateur auquel la requête a été envoyée.
Renvoie : (string) Statut de la requête, où COMPLETED
signifie que l’analyse a été effectuée correctement. Statuts possibles :
IN-PROGRESS: L’analyse est en cours.
FAILED: Un problème est survenu pendant l’exécution de l’analyse.
COMPLETED: L’analyse est terminée.
NOT FOUND: Les arguments fournis n’ont donné aucun résultat (par exemple, un ID de requête incorrect).
Exemple :
-- It can take up to 2 minutes for this to pick up the request ID after the initial request
call samooha_by_snowflake_local_db.provider.check_analysis_status(
$cleanroom_name,
$request_id,
'<CONSUMER_ACCOUNT>'
);
provider.get_analysis_result¶
Description : Obtenez les résultats d’une analyse réalisée par un fournisseur. Vous devez attendre que le statut de l’analyse soit annoncé comme COMPLETED pour obtenir les résultats. Les résultats sont conservés indéfiniment dans la salle blanche.
Arguments :
cleanroom_name (string) - Nom de la salle blanche pour laquelle la requête a été envoyée.
request_id (string) - ID de la requête, renvoyée par
submit_analysis_request
.consumer_account_locator (string) - Emplacement du compte du consommateur transmis à
submit_analysis_request
.
Retourne : (Table) Résultats de la requête.
Exemple :
call samooha_by_snowflake_local_db.provider.get_analysis_result(
$cleanroom_name,
$request_id,
$locator
);
Gérer le partage des salles blanches¶
Utilisez les commandes suivantes pour gérer le partage d’une salle blanche avec des consommateurs.
provider.view_consumers¶
Description : Liste les consommateurs auxquels l’accès à la salle blanche a été accordé. Il n’indique pas si le consommateur a installé la salle blanche.
Arguments :
cleanroom_name (string) - La salle blanche qui vous intéresse.
Retourne : (Table) - Liste des comptes consommateurs pouvant accéder à la salle blanche.
Exemple :
call samooha_by_snowflake_local_db.provider.view_consumers($cleanroom_name);
provider.add_consumers¶
Description : Accorde aux utilisateurs spécifiés l’accès à la salle blanche spécifiée. La salle blanche est accessible à la fois par l’application Web et par l’API. Cette opération n’écrase pas les listes de consommateurs des appels précédents. Clean room est accordée à un utilisateur spécifique, pas à un compte entier. Notez que le compte du consommateur doit se trouver dans la même région Snowflake que le fournisseur pour pouvoir accéder à une clean room. Vous pouvez vérifier votre région en appelant select current_region();
Vous pouvez consulter la liste actuelle des consommateurs en annonçant provider.view_consumers
.
Arguments :
cleanroom_name (string) - Nom de la salle blanche à partager avec les utilisateurs spécifiés. Les utilisateurs peuvent installer la salle blanche à l’aide de l’API ou de l’application Web.
consumer_account_locators (string) - Une liste de localisateurs de comptes consommateurs, délimitée par des virgules, telle que renvoyée par CURRENT_ACCOUNT. Cette liste doit comprendre le même nombre d’entrées, dans le même ordre, que celles contenues dans
consumer_account_names
.consumer_account_names (String) - Une liste délimitée par des virgules d’IDs de comptes de partage de données de consommation pour le consommateur dans le format
org_name.account_name
Le nom de l’organisation peut être récupéré en appelant CURRENT_ORGANIZATION_NAME. Le nom du compte peut être récupéré en appelant CURRENT_ACCOUNT_NAME. Cette liste doit comprendre le même nombre d’éléments, dans le même ordre, que ceux annoncés dansconsumer_account_locators
.enable_differential_privacy_tasks (Boolean, optional) - TRUE pour appliquer la confidentialité différentielle dans toutes les requêtes des utilisateurs listés dans cette clean room. Il s’agit d’un moyen simple d’activer la confidentialité différentielle avec des valeurs par défaut pour les utilisateurs de la liste. Pour spécifier des paramètres avancés, fournissez l’argument
privacy_settings
à la place. La tâche de confidentialité différentielle doit être exécutée dans cette clean room pour activer la confidentialité différentielle. La valeur par défaut est FALSE.privacy_settings (String, optional) - Si présent, applique les paramètres de confidentialité aux modèles personnalisés lorsqu’ils sont utilisés par l’un des utilisateurs de
consumer_account_names
. Il s’agit d’une version chaîne d’un objet avec une seule clé NULL et une valeur qui spécifie divers paramètres de confidentialité. Ne spécifiez pas à la foisenable_differential_privacy_tasks
etprivacy_settings
. La tâche de confidentialité différentielle doit être en cours d’exécution dans cette clean room pour activer la confidentialité différentielle. Voir les champs disponibles pour cet objet.
Retourne : Message de réussite. Notez que la procédure ne valide pas les localisateurs d’utilisateurs ou les noms de comptes, de sorte que le succès indique seulement que les localisateurs soumis ont été ajoutés à la base de données pour cette salle blanche.
Exemples :
-- Add consumer without differential privacy.
call samooha_by_snowflake_local_db.provider.add_consumers($cleanroom_name,
'LOCATOR1,LOCATOR2',
'ORG1.NAME1,ORG2.NAME2');
-- Add consumer and turn on differential privacy for all their queries.
CALL samooha_by_snowflake_local_db.provider.add_consumers($cleanroom_name,
'LOCATOR1',
'ORGNAME.ACCOUNTNAME',
'{
"null": {
"threshold_value": 5000,
"differential": 1,
"privacy_budget": 10,
"epsilon": 0.1,
"noise_mechanism": "Laplace"
}}');
provider.remove_consumers¶
Description : Supprime l’accès du compte à une salle blanche donnée. Cette méthode bloque l’accès de tous les utilisateurs des comptes fournis.
Vous pouvez consulter la liste actuelle des consommateurs en annonçant provider.view_consumers
.
Arguments :
cleanroom_name (string) - L’ID de la salle blanche (pas le nom convivial).
cleanroom_account_locators (string) - Une liste de localisateurs de comptes utilisateurs délimitée par des virgules. Tous les utilisateurs du compte perdront l’accès à la salle blanche.
Retourne : (string) - Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.provider.remove_consumers($cleanroom_name, 'locator1,locator2,locator3');
provider.set_cleanroom_ui_accessibility¶
Description : Affiche ou masque la salle blanche dans l’application Web à tous les utilisateurs connectés à ce compte fournisseur.
Arguments :
cleanroom_name (string) - Le nom de la salle blanche.
visibility_status (string) - Une des valeurs suivantes sensibles à la casse :
HIDDEN - Cache la salle blanche dans l’application Web à tous les utilisateurs du compte fournisseur actuel. La salle blanche restera accessible via des appels API.
EDITABLE - Rend la salle blanche visible dans l’application Web.
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.provider.set_cleanroom_ui_accessibility($cleanroom_name, 'HIDDEN');
Collaboration inter-Cloud¶
Permettez à une clean room d’être partagée avec un consommateur sur une autre région Cloud. En savoir plus.
library.enable_laf_on_account¶
Description : active l’exécution automatique inter-Cloud sur le compte courant. Exige le rôle ACCOUNTADMIN.
Arguments : Aucun
Retourne : (String) message de réussite.
Exemple :
USE ROLE ACCOUNTADMIN;
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.library.enable_laf_on_account();
library.is_laf_enabled_on_account¶
Description : Renvoie si l’exécution automatique inter-Cloud est activée pour ce compte.
Renvoie : TRUE si l’exécution automatique inter-Cloud est activée pour ce compte, FALSE dans le cas contraire.
Exemple :
call samooha_by_snowflake_local_db.library.is_laf_enabled_on_account();
provider.enable_laf_for_cleanroom (Deprecated)¶
Cette fonction est désormais obsolète, et sa fonctionnalité est désormais prise en charge par provider.create_or_update_cleanroom_listing
.
Description : Active l”exécution automatique inter-Cloud, ce qui vous permet de partager la salle blanche avec des collaborateurs dont le compte Snowflake se trouve dans une région différente de celle du fournisseur. L’exécution automatique inter-Cloud est également connue sous le nom d’exécution automatique des annonces (LAF).
Par défaut, l’exécution automatique inter-Cloud est désactivée pour les nouvelles salles blanches, même si elle est activée pour l’environnement.
Important
Un administrateur Snowflake ayant le rôle ACCOUNTADMIN doit activer le exécution automatique inter-Cloud dans votre compte Snowflake avant que vous puissiez exécuter cette commande. Pour obtenir des instructions sur l’activation de l’exécution automatique inter-Cloud dans le compte Snowflake, voir Collaborer avec des comptes dans différentes régions.
La collaboration avec les consommateurs d’autres régions entraîne des coûts supplémentaires. Pour plus d’informations sur ces coûts, voir Cross-Cloud Auto-Fulfillment costs.
Arguments :
cleanroom_name (string) - Le nom de la salle blanche qui doit être partagé entre les régions. L’exécution automatique inter-Cloud doit être activée pour le compte par un administrateur avant que des salles blanches individuelles puissent être partagées.
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.provider.enable_laf_for_cleanroom($cleanroom_name);
provider.request_laf_cleanroom_requests¶
Description : Paramètre le partage de requêtes inter-Cloud du côté du fournisseur pour un consommateur donné. Un administrateur de compte doit d’abord activer la réplication automatique inter-Cloud, et le consommateur doit avoir appelé consumer.setup_cleanroom_request_share_for_laf
.
Cette exigence s’applique aux modèles définis par le consommateur lorsque le fournisseur et le consommateur se trouvent dans des régions Cloud différentes.
Vous pouvez appeler cette procédure à plusieurs reprises pour vérifier le statut de la requête. Lorsque le statut atteint FULFILLED, vous pouvez appeler provider.mount_laf_cleanroom_requests_share
. Il peut s’écouler 10 minutes avant que le statut n’atteigne FULFILLED.
Arguments :
cleanroom_name (String) - Nom de la clean room pour permettre le partage de requêtes inter-Cloud.
consumer_locator (String) - Emplacement du compte du consommateur pour lequel activer le partage de requêtes inter-Cloud.
Retourne : (String) Message de statut de la requête : créée, en attente ou satisfaite.
Exemple :
CALL samooha_by_snowflake_local_db.provider.request_laf_cleanroom_requests(
$cleanroom_name, $consumer_locator);
Utiliser Python dans une salle blanche¶
provider.load_python_into_cleanroom¶
Description : Charge une fonction Python personnalisée dans la salle blanche. Le code chargé dans la salle blanche à l’aide de cette procédure n’est pas visible pour les consommateurs. Le code importé peut être appelé par votre modèle Jinja.
Apprenez à importer et à utiliser du code Python dans une salle blanche
Cette procédure incrémente le numéro de correctif de votre salle blanche et déclenche une analyse de sécurité. Vous devez attendre que le statut de l’analyse soit APPROVED avant de pouvoir partager la dernière version avec les collaborateurs.
Cette procédure est surchargée et possède deux signatures qui diffèrent par le type de données du cinquième argument, qui détermine si vous importez le code en ligne ou si vous le chargez à partir d’un fichier sur une zone de préparation :
Signatures¶
Importer l’UDF en ligne :
(cleanroom_name String, function_name String, arguments Array, packages Array, rettype String, handler String, code String)
Importer l’UDF depuis une zone de préparation :
(cleanroom_name String, function_name String, arguments Array, packages Array, imports Array, rettype String, handler String)
Arguments :
cleanroom_name (string) - Nom de la salle blanche où le script doit être chargé.
function_name (string) - Nom de ce paquet. Utilisez ce nom dans votre modèle personnalisé pour appeler la fonction spécifiée par gestionnaire avec tous les arguments décrits par arguments.
arguments(Array of string pairs) - Un tableau d’arguments requis par la fonction function_name. Chaque argument est une paire de chaînes délimitées par des espaces, contenant le nom de l’argument et son type de données SQL. Utilisé pour la documentation de l’utilisateur et n’est pas validée. Par exemple : « taille entière », « chaîne de mois », « variante de données ».
packages(Array of string) - Liste des noms des paquets Python utilisés par le code. Il doit s’agir de paquets Python standard ; vos UDFs ne peuvent pas appeler d’autres UDFs importées.
imports (Array of string with single element) - Présent uniquement lors l’importation de votre UDF depuis une zone de préparation. Il s’agit d’un tableau de chaînes comportant un seul élément : l’adresse de la zone de préparation, par rapport à la zone de préparation où vous avez importé le code. Le chemin de la zone de préparation racine est disponible en appelant
provider.get_stage_for_python_files
.ret_type (string) - Type de données SQL de la valeur retournée par la fonction gestionnaire. Par exemple : « entier », « variante ».
handler (string) - La fonction d’entrée dans votre code qui doit être appelée lorsqu’un modèle appelle function_name.
Pour l’UDF en ligne, il s’agit du nom de la fonction, par exemple :
main
.Pour le code importé à partir d’une zone de préparation, il s’agit du nom de la fonction qualifié par le nom du fichier source, par exemple :
myscript.main
.
code (string) - Présent uniquement lors de l’importation d’UDF en tant que code en ligne. Ce devrait être un Python UDF.
Renvoie : (string) Message de réussite ou d’échec.
Exemples :
-- Inline UDF
call samooha_by_snowflake_local_db.provider.load_python_into_cleanroom(
$cleanroom_name,
'assign_group', # Name of the UDF
['data variant', 'index integer'], # Arguments of the UDF, along with their type
['pandas', 'numpy'], # Packages UDF will use
'integer', # Return type of UDF
'main', # Handler
$$
import pandas as pd
import numpy as np
def main(data, index):
df = pd.DataFrame(data) # you can do something with df but this is just an example
return np.random.randint(1, 100)
$$
);
-- Upload from stage
call samooha_by_snowflake_local_db.provider.load_python_into_cleanroom(
$cleanroom_name,
'myfunc', # Name of the UDF
['data variant', 'index integer'], # Arguments of the UDF
['numpy', 'pandas'], # Packages UDF will use
['/test_folder/assign_group.py'], # Python file to import from a stage
'integer', # Return type of UDF
'assign_group.main' # Handler scoped to file name
);
provider.get_stage_for_python_files¶
Description : Renvoie le chemin de la zone de préparation où les fichiers Python doivent être importés, si vous planifiez d’utiliser des fichiers de code importés vers une zone de préparation plutôt que des définitions de code en ligne pour définir du code Python personnalisé dans une salle blanche. La zone de préparation n’existe pas et ne peut pas être examinée tant que les fichiers n’ont pas été importés en appelant provider.load_python_into_cleanroom
.
Apprenez à importer et à utiliser du code Python dans une salle blanche
Arguments :
cleanroom_name (string) - Nom de la salle blanche dans laquelle vous souhaitez importer des fichiers.
Retourne : (string) Le chemin où vous devez importer les fichiers de code. Utilisez ceci pour l’argument imports dans provider.load_python_into_cleanroom
.
Exemple :
call samooha_by_snowflake_local_db.provider.get_stage_for_python_files($cleanroom_name);
provider.view_cleanrooom_scan_status¶
Description : Indique le statut de l’analyse des menaces pour une salle blanche dont le paramètre DISTRIBUTION est défini sur EXTERNAL. L’analyse doit être marquée comme « APPROVED » avant que vous ne puissiez définir ou modifier la directive de version par défaut. Le statut de l’analyse ne doit être vérifié qu’avec des salles blanches EXTERNAL.
Arguments :
cleanroom_name (string) - Nom de la salle blanche dont il faut vérifier le statut.
Renvoie : (string) Le statut de l’analyse.
Exemple :
call samooha_by_snowflake_local_db.provider.view_cleanroom_scan_status($cleanroom_name);
Commandes de récupération des métadonnées de la salle blanche¶
Utilisez les commandes suivantes pour afficher les propriétés pertinentes de la salle blanche.
library.view_external_activation_history¶
Description : vue de l’historique des requêtes d’activation dans le compte courant.
Arguments : Aucun
Retourne : une table avec les détails et le statut des requêtes d’activation.
Exemple:
call SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.LIBRARY.view_external_activation_history();
provider.mount_request_logs_for_all_consumers¶
Description : Permet aux fournisseurs d’avoir accès aux informations qui leur parviennent des consommateurs d’une salle blanche. Cette procédure doit être appelée dans diverses situations, telles que documentées dans l’API de référence, pour commencer à obtenir ou à partager des informations sur les consommateurs.
Arguments :
cleanroom_name (string) - Nom de la salle blanche pour laquelle les journaux de requête doivent être connectés.
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.provider.mount_request_logs_for_all_consumers($cleanroom_name);
provider.view_request_logs¶
Description : Permet de voir les connexions de requêtes envoyées par les consommateurs de cette salle blanche. Avant d’appeler cette fonction pour la première fois, vous devez appeler mount_request_logs_for_all_consumers
.
Arguments :
cleanroom_name (string) - Nom de la salle blanche pour laquelle les journaux de requêtes doivent être connectés.
Retourne : Ensemble des paramètres connectés aux requêtes exécutées dans la salle blanche (table)
Exemple :
call samooha_by_snowflake_local_db.provider.view_request_logs($cleanroom_name);
Confidentialité différentielle¶
Ces commandes contrôlent la confidentialité différentielle au niveau de l’utilisateur ou du compte fournisseur. Pour en savoir plus sur la confidentialité différentielle.
provider.set_privacy_settings¶
Description : Permet d’ensemble (ou de réinitialiser) les paramètres de confidentialité appliqués lorsque le consommateur spécifié exécute un modèle personnalisé. Cette opération écrase tous les paramètres existants pour ce consommateur.
Arguments :
cleanroom_name (string) - Nom de la salle blanche.
consumer_account_locator (String) - Emplacement du compte d’un ou de plusieurs consommateurs, dans une liste délimitée par des virgules.
privacy_settings (Object) - Un objet JSON qui spécifie les paramètres de confidentialité différentielle pour un ou plusieurs modèles. Les paramètres sont appliqués à tous les modèles exécutés par le consommateur spécifié. Voir les champs disponibles pour cet objet.
Retourne : Message de réussite.
Exemple :
-- Enforce differential privacy on queries by this consumer
-- with the settings provided.
CALL samooha_by_snowflake_local_db.provider.set_privacy_settings(
$cleanroom_name,
$consumer_locator,
{ 'differential': 1,
'epsilon': 0.1,
'privacy_budget': 3 });
provider.is_dp_enabled_on_account¶
Description : Décrit si la confidentialité différentielle est activée ou non pour ce compte.
Arguments : Aucun
Renvoie : TRUE si la confidentialité différentielle est activée pour ce compte, FALSE dans le cas contraire.
Exemple :
call samooha_by_snowflake_local_db.provider.is_dp_enabled_on_account();
provider.suspend_account_dp_task¶
Description : Désactive la tâche qui surveille et applique les budgets de confidentialité différentiels. Ceci est utilisé pour contrôler les coûts associés à la confidentialité différentielle dans votre compte. Si la tâche de confidentialité différentielle est désactivée, le bruit sera toujours ajouté aux requêtes par les utilisateurs, les modèles ou les clean rooms où la confidentialité différentielle est spécifiée, mais les limites budgétaires ne seront pas appliquées et vous n’encourrez pas de coûts liés à la confidentialité différentielle. Pour en savoir plus sur la gestion de la confidentialité différentielle
Arguments : Aucun
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.provider.suspend_account_dp_task();
provider.resume_account_dp_task¶
Description : Reprend l’auditeur de tâches de confidentialité différentielle dans le compte courant, et les budgets de confidentialité différentielle seront appliqués. Toutes les valeurs de confidentialité différentielles précédemment définies (telles que la sensibilité ou les utilisateurs associés) sont conservées.
Arguments : Aucun
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.provider.resume_account_dp_task();
Commandes Snowpark Container Services¶
Ces procédures vous permettent d’utiliser les services de conteneur de Snowpark à l’intérieur d’une clean room.
provider.load_service_into_cleanroom¶
Description : Crée ou met à jour un service de conteneurs dans une clean room. L’appel de cette procédure met à jour le numéro de patch de la clean room, vous devez donc appeler provider.set_default_release_directive
après avoir appelé cette procédure. Vous devez appeler cette procédure chaque fois que vous créez ou mettez à jour le service. Le client doit ensuite appeler consumer.start_or_update_service
pour connaître les éventuelles mises à jour.
- ref:
Apprenez à utiliser les services de conteneurs de Snowpark dans une clean room. <label-cleanrooms_using_spcs>
Arguments :
cleanroom_name (string) - Nom de la salle blanche.
service_spec (String) - Une spécification YAML pour le service, racinée à l’élément
spec
.service_config (String) - Une configuration au format YAML pour le service. Les propriétés suivantes sont prises en charge :
default_service_options
- Tableau facultatif de valeurs par défaut du niveau de service. Ces valeurs peuvent être remplacées par le consommateur lorsqu’il crée son service. Les propriétés enfant suivantes sont prises en charge :min_instances
(Integer, optional)max_instances
(Integer, optional)allow_monitoring
(Boolean, optional) - Si TRUE, le consommateur peut voir les journaux du service. La valeur par défaut est FALSE.
functions
- Un tableau de fonctions exposées par le service. Chaque définition de fonction mappe la définition de la fonction de service SPCS. Consultez cette documentation pour connaître les détails de chaque élément. Les propriétés enfant suivantes sont prises en charge :nom
args
renvoie
point de terminaison
chemin
max_batch_rows
(optional)context_headers
(optional)
Renvoie : (String) Message de réussite, en cas de succès. Lance une erreur en cas d’échec.
Exemple :
CALL samooha_by_snowflake_local_db.provider.load_service_into_cleanroom(
$cleanroom_name,
$$
spec:
containers:
- name: lal
image: /dcr_spcs/repos/lal_example/lal_service_image:latest
env:
SERVER_PORT: 8000
readinessProbe:
port: 8000
path: /healthcheck
endpoints:
- name: lalendpoint
port: 8000
public: false
$$,
$$
default_service_options:
min_instances: 1
max_instances: 1
allow_monitoring: true
functions:
- name: train
args: PROVIDER_TABLE VARCHAR, PROVIDER_JOIN_COL VARCHAR, CONSUMER_TABLE VARCHAR, CONSUMER_JOIN_COL VARCHAR, DIMENSIONS ARRAY, FILTER VARCHAR
returns: VARCHAR
endpoint: lalendpoint
path: /train
- name: score
args: PROVIDER_TABLE VARCHAR, PROVIDER_JOIN_COL VARCHAR, CONSUMER_TABLE VARCHAR, CONSUMER_JOIN_COL VARCHAR, DIMENSIONS ARRAY
returns: VARCHAR
endpoint: lalendpoint
path: /score
- name: score_batch
args: ID VARCHAR, FEATURES ARRAY
returns: VARIANT
max_batch_rows: 1000
endpoint: lalendpoint
path: /scorebatch
$$);
Commandes d’aide générale¶
Utilisez les commandes suivantes pour vous aider de manière générale à tirer parti des fonctionnalités de la salle blanche et des flux pris en charge.
library.enable_local_db_auto_upgrades¶
Description : Active la tâche, samooha_by_snowflake_local_db.admin.expected_version_task
, qui met automatiquement à niveau Snowflake Data Clean Rooms Native App lorsque de nouvelles versions sont publiées. Bien que vous puissiez réduire les coûts en désactivant cette tâche, nous vous recommandons de la laisser en cours d’exécution pour vous assurer que vous disposez de la dernière version de l’application native des salles blanches sur votre système.
Arguments : Aucun
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.library.enable_local_db_auto_upgrades();
library.disable_local_db_auto_upgrades¶
Description : Désactive la tâche, samooha_by_snowflake_local_db.admin.expected_version_task
, qui met automatiquement à niveau Snowflake Data Clean Rooms Native App lorsque de nouvelles versions sont publiées.
Arguments : Aucun
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.library.disable_local_db_auto_upgrades();
Procédures obsolètes¶
Les procédures suivantes sont obsolètes et ne sont listées ici que par souci d’exhaustivité. Si une procédure de remplacement est indiquée, utilisez la procédure la plus récente.
provider.view_ui_registration_request_log – DEPRECATED¶
Attention
Cette commande est désormais obsolète. Vous n’avez plus besoin d’enregistrer manuellement un modèle de salle blanche pour l’utiliser dans l’application Web.
Description : Permet de voir la liste des requêtes soulevées à partir du compte pour enregistrer les salles blanches dans l’application Web. Chaque requête est associée à un ID qui peut être utilisé conjointement avec la procédure view_ui_registration_log
pour voir le statut des requêtes. Les requêtes sont partagées avec le backend où elles sont traitées et la salle blanche est ajoutée dans la salle blanche.
Arguments :
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.provider.view_ui_registration_request_log();
library.register_table_ou_vue – Obsolète¶
Attention
Cette commande est désormais obsolète. Utilisez plutôt library.register_objects.
Description : Enregistre les tables et les vues de tous types.
Arguments : object_names (array), is_view (boolean), is_iceberg (boolean), is_external (boolean), is_under_managed_access_schema (boolean)
Renvoie : (string) Message de réussite ou d’échec.
Exemples
Pour enregistrer une table :
call samooha_by_snowflake_local_db.library.register_table_or_view(
['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS'],
false,
false,
false,
false);
Pour enregistrer une table Iceberg :
call samooha_by_snowflake_local_db.library.register_table_or_view(
['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS'],
false,
true,
false,
false);
library.register_table – Obsolète¶
Attention
Cette commande est désormais obsolète. Utilisez plutôt library.register_objects.
Description : Semblable à register_db
, mais opère au niveau de la table. Accordez le privilège SELECT sur cette table au rôle SAMOOHA_APP_ROLE, ce qui permettra à l’utilisateur d’établir un lien entre la table et la salle blanche.
Si vous souhaitez enregistrer des tables dans un schéma d’accès géré (c’est-à-dire un schéma créé à l’aide du paramètre WITH MANAGED ACCESS), utilisez plutôt library.register_managed_access_table
.
Arguments : table_name (array)
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.library.register_table(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
library.register_managed_access_table – Obsolète¶
Attention
Cette commande est désormais obsolète. Utilisez plutôt library.register_objects.
Description : Semblable à register_table
, mais enregistre les tables dans un schéma qui a été créé à l’aide du paramètre WITH MANAGED ACCESS. Une table ou une chaîne représentant le nom pleinement qualifié de la table peut être transmis, et des sélections d’attributions au rôle SAMOOHA_APP_ROLE sont effectuées, permettant à l’utilisateur de lier la table à la salle blanche.
Arguments : table_name (array)
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.library.register_managed_access_table(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
library.register_view – Obsolète¶
Attention
Cette commande est désormais obsolète. Utilisez plutôt library.register_objects.
Description : Semblable à register_db
, mais opère au niveau de la vue. Un tableau ou une chaîne représentant le nom pleinement qualifié de la vue peut être transmis, et des sélections d’attributions au rôle SAMOOHA_APP_ROLE sont effectuées, permettant à l’utilisateur de lier la vue à la salle blanche.
Si vous souhaitez enregistrer des vues dans un schéma d’accès géré (c’est-à-dire un schéma créé à l’aide du paramètre WITH MANAGED ACCESS), utilisez plutôt library.register_managed_access_view
.
Arguments : view_name (array)
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.library.register_view(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
library.register_managed_access_view – Obsolète¶
Attention
Cette commande est désormais obsolète. Utilisez plutôt library.register_objects.
Description : Semblable à register_view
, mais enregistre les vues dans un schéma créé à l’aide du paramètre WITH MANAGED ACCESS. Un tableau ou une chaîne représentant le nom pleinement qualifié de la vue peut être transmis, et des sélections d’attributions au rôle SAMOOHA_APP_ROLE sont effectuées, permettant à l’utilisateur de lier la vue à la salle blanche.
Arguments : view_name (array)
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.library.register_managed_access_view(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
library.unregister_table_or_view – Obsolète¶
Attention
Cette commande est désormais obsolète. Utilisez plutôt library.unregister_objects.
Description : Annule l’enregistrement des tables et des vues de tous types.
Arguments : object_names (array), is_view (boolean), is_iceberg (boolean), is_external (boolean), is_under_managed_access_schema (boolean)
Renvoie : (string) Message de réussite ou d’échec.
Exemples
Pour annuler l’enregistrement d’une table :
call samooha_by_snowflake_local_db.library.unregister_table_or_view(
['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS'],
false,
false,
false,
false);
library.unregister_table – Obsolète¶
Attention
Cette commande est désormais obsolète. Utilisez plutôt library.unregister_objects.
Description : Semblable à unregister_db
, mais opère au niveau de la table. Un tableau ou une chaîne représentant le nom de table complet peut être transmis pour annuler l’enregistrement des tables. Les utilisateurs ne peuvent pas lier des tables non enregistrées à une salle blanche.
Si vous souhaitez annuler l’enregistrement des tables dans un schéma d’accès géré (c’est-à-dire un schéma créé à l’aide du paramètre WITH MANAGED ACCESS), utilisez plutôt library.unregister_managed_access_table
.
Arguments : table_name (array)
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.library.unregister_table(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
library.unregister_managed_access_table – Obsolète¶
Attention
Cette commande est désormais obsolète. Utilisez plutôt library.unregister_objects.
Description : Similaire à unregister_table
, mais annule l’enregistrement des tables dans un schéma d’accès géré (c’est-à-dire un schéma créé à l’aide du paramètre WITH MANAGED ACCESS).
Arguments : table_name (array)
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.library.unregister_managed_access_table(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
library.unregister_view – Obsolète¶
Attention
Cette commande est désormais obsolète. Utilisez plutôt library.unregister_objects.
Description : Similaire à unregister_db
, mais opère au niveau de la vue. Un tableau ou une chaîne représentant le nom de vue complet peut être transmis pour annuler l’enregistrement des vues. Les utilisateurs ne peuvent pas lier des vues non enregistrées à une salle blanche.
Si vous souhaitez annuler l’enregistrement des vues dans un schéma d’accès géré (c’est-à-dire un schéma créé à l’aide du paramètre WITH MANAGED ACCESS), utilisez plutôt library.unregister_managed_access_view
.
Arguments : view_name (array)
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.library.unregister_view(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
library.unregister_managed_access_view – Obsolète¶
Attention
Cette commande est désormais obsolète. Utilisez plutôt library.unregister_objects.
Description : Similaire à unregister_view
, mais annule l’enregistrement des vues dans un schéma d’accès géré (c’est-à-dire un schéma créé à l’aide du paramètre WITH MANAGED ACCESS).
Arguments : view_name (array)
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.library.unregister_managed_access_view(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
provider.create_cleanroom_listing – Obsolète¶
Attention
Cette commande est désormais obsolète. Utilisez plutôt provider.create_or_update_cleanroom_listing.
Description : Après la configuration d’une salle blanche, crée une annonce privée avec la salle blanche sur le Marketplace de Snowflake et la partage avec les collaborateurs spécifiés.
Vous identifiez le collaborateur en utilisant le format orgname.account_name
de son URL de compte. Le consommateur peut trouver cette chaîne en suivant les instructions de la section Recherche du nom de l’organisation et du compte pour un compte.
Note
Pour utiliser cette procédure, vous devez avoir ensemble la directive de version. Pour plus d’informations, voir provider.set_default_release_directive.
Arguments : cleanroom_name (string), consumer_account_name (string)
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.provider.create_cleanroom_listing($cleanroom_name, <consumerorg.consumeracct>);
provider.register_cleanroom_in_ui – DEPRECATED¶
Attention
Cette commande est désormais obsolète. Vous n’avez plus besoin d’enregistrer manuellement un modèle de salle blanche pour l’utiliser dans l’application Web.
Description : Enregistre une salle blanche en vue de son utilisation dans l’application Web par le consommateur. La salle blanche est créée et configurée par le fournisseur à l’aide des APIs du développeur. Cette commande l’enregistre ensuite dans l’application Web pour que les consommateurs puissent l’installer, ajouter leur table et exécuter toutes les analyses personnalisées que vous avez ajoutées sans avoir besoin d’utiliser les APIs de développement. Ils travaillent avec la salle blanche entièrement via l’interface utilisateur de l’application Web.
Vous pouvez appeler cette API plus d’une fois pour inclure plusieurs modèles personnalisés dans l’application Web.
Arguments : cleanroom_name (String), template name (String), consumer_account_locator (String), user_email (String)
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
call samooha_by_snowflake_local_db.provider.register_cleanroom_in_ui($cleanroom_name, 'prod_custom_template', <CONSUMER ACCOUNT LOCATOR>, <USER_EMAIL>)