Snowflake Data Clean Rooms : guide de référence pour l’API fournisseurs¶
Cette page décrit les procédures utilisées par les utilisateurs de l’ API des salles blanches pour gérer leurs salles blanches. Pour les instructions de configuration du codage, consultez Configuration du codage.
Créer, configurer et supprimer des salles blanches¶
Ces procédures permettent à un fournisseur de créer, configurer et supprimer une salle blanche.
view_cleanrooms¶
- Schéma:
 PROVIDER
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();
describe_cleanroom¶
- Schéma:
 PROVIDER
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);
cleanroom_init¶
- Schéma:
 PROVIDER
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’UI des salles blanches 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 maximal. Caractères valides :
[A-Z,a-z,0-9,_]et espaces.distribution- (String, optional) Une des valeurs suivantes :INTERNAL (Default) - La salle blanche ne peut être vue 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 la modification de la version par défaut. Si vous souhaitez modifier la distribution après la création d’une salle blanche, appelez
ALTER PACKAGEcomme indiqué ici :ALTER APPLICATION PACKAGE samooha_cleanroom_<CLEANROOM_ID> SET DISTRIBUTION = EXTERNAL;
Retourne : (String) message de réussite.
Exemple :
-- Create an internal clean room
CALL samooha_by_snowflake_local_db.provider.cleanroom_init($cleanroom_name, 'INTERNAL');
set_default_release_directive¶
- Schéma:
 PROVIDER
**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’UI des salles blanches ou accèdent à la salle blanche depuis l’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 leur état, ou la directive de version actuelle, exécutez la commande SQL appropriée :
-- See all versions, including failed versions.
SHOW VERSIONS IN APPLICATION PACKAGE SAMOOHA_CLEANROOM_<cleanroom_name>;
-- See current release directive.
SHOW RELEASE DIRECTIVES IN APPLICATION PACKAGE SAMOOHA_CLEANROOM_<cleanroom_name>;
Où <cleanroom_name> suit ce format.
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 l’état de sécurité, appelez view_cleanroom_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.
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.provider.set_default_release_directive(
  $cleanroom_name,
  'V1_0', '0'
);
drop_cleanroom¶
- Schéma:
 PROVIDER
Description : supprime 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ît plus dans l’UI des salles blanches la prochaine fois que le navigateur sera actualisé.
Arguments :
cleanroom_name (String) - Nom de la salle blanche à supprimer.
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.provider.drop_cleanroom($cleanroom_name);
enable_consumer_run_analysis¶
- Schéma:
 PROVIDER
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 :
:ref:`cleanroom_name <label-dcr_about_clean_room_names> ` (String) - Nom de la salle blanche dans laquelle les analyses effectuées par les consommateurs sont autorisées.
consumer_accounts- (Array of string) Localisateurs des comptes de tous les consommateurs pour lesquels cette fonctionnalité doit être activée. NOTE : Ces consommateurs doivent déjà avoir été ajoutés à la salle blanche.
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.provider.enable_consumer_run_analysis(
  $cleanroom_name,
  ['<CONSUMER_ACCOUNT_LOCATOR_1>']
);
isable_consumer_run_analysis¶
- Schéma:
 PROVIDER
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 exécutée par le consommateur est désactivée.
consumer_accounts- (Array of string) Localisateurs 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.
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.provider.disable_consumer_run_analysis(
  $cleanroom_name,
  ['<CONSUMER_ACCOUNT_LOCATOR_1>']
);
is_consumer_run_enabled¶
- Schéma:
 LIBRARY
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)
create_or_update_cleanroom_listing¶
- Schéma:
 PROVIDER
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’UI des salles blanches (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 salles blanches et de collaborateurs que vous pouvez créer dans un seul compte. Si vous créez trop de salles blanches de tests, vous devrez peut-être en supprimer quelques-unes afin de créer de nouvelles salles blanches. Si vous avez besoin de plus de salles blanches que votre compte ne peut en contenir, contactez l’assistance de Snowflake.
Note
Vous devez définir la directive de version au moins une fois avant d’appeler cette procédure. Pour plus d’informations, consultez provider.set_default_release_directive.
Arguments :
:ref:`cleanroom_name <label-dcr_about_clean_room_names> ` (String) - Nom de la salle blanche à publier ou à mettre à jour.
Retourne : (String) message de réussite.
Traitement des erreurs :
Si vous obtenez une erreur indiquant que « L’exécution automatique inter-Cloud n’est pas activée pour ce compte », cela signifie que l’un des consommateurs se trouve dans une autre région d’hébergement Cloud. Vous devez activer l’exécution automatique inter-Cloud comme décrit dans Gestion de la réplication automatique dans le Cloud Snowflake Data Clean Rooms.
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.
registre_bd¶
- Schéma:
 PROVIDER
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.
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.
Retourne : (String) message de réussite.
Exemple :
USE ROLE <role_with_manage_grants>;
CALL samooha_by_snowflake_local_db.provider.register_db('SAMOOHA_SAMPLE_DATABASE');
register_schema¶
- Schéma:
 LIBRARY
Description : semblable à 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 library.register_managed_access_schema à la place.
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 complets à enregistrer.
Retourne : (String) message de réussite.
Exemple :
USE ROLE <role_with_manage_grants>;
CALL samooha_by_snowflake_local_db.library.register_schema(['SAMOOHA_SAMPLE_DATABASE.DEMO']);
register_managed_access_schema¶
- Schéma:
 LIBRARY
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 complets.
Retourne : (String) message de réussite.
Exemple :
USE ROLE <role_with_manage_grants>;
CALL samooha_by_snowflake_local_db.library.register_managed_access_schema(
  ['SAMOOHA_SAMPLE_DATABASE.DEMO']
);
register_objects¶
- Schéma:
 LIBRARY
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 complets. Ces objets peuvent ensuite être reliés à la salle blanche.
Retourne : (String) message de réussite.
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'
  ]
 );
enable_external_tables_on_account¶
- Schéma:
 LIBRARY
Description : Permet d’utiliser des tables Iceberg ou externes dans toutes les salles blanches de ce compte. Doit être appelé par un ACCOUNTADMIN dans les comptes fournisseur ET consommateur pour permettre la liaison de tables Iceberg ou externes les deux comptes. Pour limiter cette capacité à des salles blanches spécifiques de ce compte, appelez enable_external_tables_for_cleanroom à la place.
En cas de réussite, et si toutes les analyses de sécurité réussissent également, cela génère une nouvelle version du correctif de la salle blanche.
Arguments : Aucun
Renvoie : (String) Message de réussite. En cas de réussite, cela déclenche une analyse de sécurité et fournit également le numéro du correctif 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();
enable_external_tables_for_cleanroom¶
- Schéma:
 PROVIDER
Description : Activez les tables Iceberg ou externes pour qu’elles soient liées à la salle blanche spécifiée dans ce compte par le fournisseur. Pour autoriser les tables Iceberg et externes pour toutes les salles blanches de ce compte, appelez enable_external_tables_on_account à la place.
En cas de réussite, cela générera une nouvelle version du correctif de la salle blanche.
Arguments :
:ref:`cleanroom_name <label-dcr_about_clean_room_names>`* (String) - Nom de la salle blanche dans laquelle le fournisseur peut lier des tables Iceberg ou des tables externes.
Renvoie : (String) Message de réussite. En cas de réussite, cela déclenche une analyse de sécurité et fournit également le numéro du correctif 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);
unregister_db¶
- Schéma:
 LIBRARY
Description : Annule la procédure register_db et supprime les autorisations 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’UI des salles blanches.
Arguments :
db_name- (String) Nom de la base de données dont il faut annuler l’enregistrement.
Retourne : (String) message de réussite.
Exemple :
USE ROLE <role_with_manage_grants>;
CALL samooha_by_snowflake_local_db.library.unregister_db('SAMOOHA_SAMPLE_DATABASE');
unregister_schema¶
- Schéma:
 LIBRARY
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 library.unregister_managed_access_schema à la place.
Arguments :
schema_name- (array) Schémas dont l’enregistrement doit être annulé.
Retourne : (String) message de réussite.
Exemple :
USE ROLE <role_with_manage_grants>;
CALL samooha_by_snowflake_local_db.library.unregister_schema(
  ['SAMOOHA_SAMPLE_DATABASE.DEMO']
);
unregister_managed_access_schema¶
- Schéma:
 LIBRARY
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 dont l’enregistrement doit être annulé.
Retourne : (String) message de réussite.
Exemple :
USE ROLE <role_with_manage_grants>;
CALL samooha_by_snowflake_local_db.library.unregister_managed_access_schema(['SAMOOHA_SAMPLE_DATABASE.DEMO']);
unregister_objects¶
- Schéma:
 LIBRARY
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 dont l’accès doit être révoqué.
Retourne : (String) message de réussite.
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.
link_datasets¶
- Schéma:
 PROVIDER
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 à la salle blanche. Les objets doivent être enregistrés avant de pouvoir être liés.consumer_list- (Array of string, Optional) Si elle est présente, elle permet uniquement aux consommateurs répertorié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.
Retourne : (String) message de réussite.
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
unlink_datasets¶
- Schéma:
 PROVIDER
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.
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.provider.unlink_datasets(
  $cleanroom_name,
  [
    'SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS',
    'MYDB.MYSCH.EXPOSURES'
  ]
);
view_provider_datasets¶
- Schéma:
 PROVIDER
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);
restrict_table_options_to_consumers¶
- Schéma:
 PROVIDER
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.
Consommateurs auxquels l’accès a été accordé via provider.link_datasets, provider.restrict_table_options_to_consumers ou toute autre méthode perdra l’accès à une table si elle n’est pas spécifiée lors de l’appel de cette méthode.
Note
Les restrictions que vous créez en appelant cette procédure peuvent ne pas se comporter comme prévu dans l’UI des salles blanches. Vous ne devez pas appeler cette procédure sur une salle blanche qui peut être utilisée dans l’UI des salles blanches.
Arguments :
cleanroom_name (String) - Nom de la salle blanche à 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 d’utilisateurs qui peuvent accéder à cette table ou à cette vue.
Retourne : (String) message de réussite.
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 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.
Learn more about table policies in clean rooms.
view_join_policy¶
- Schéma:
 PROVIDER
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);
set_join_policy¶
- Schéma:
 PROVIDER
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 JinjaSQL join_policy or join_and_column_policy pour joindre des lignes.
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 :
:ref:`cleanroom_name <label-dcr_about_clean_room_names> ` (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 complet au formatdatabase_name.schema_name.table_or_view_name:column_name. Notez l’utilisation correcte des marques . par rapport à :
Retourne : (String) message de réussite.
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.
view_added_templates¶
- Schéma:
 PROVIDER
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);
view_template_definition¶
- Schéma:
 PROVIDER
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.
Returns: (String) La définition du modèle.
Exemple :
CALL samooha_by_snowflake_local_db.provider.view_template_definition(
  $cleanroom_name,
  $template_name);
add_templates¶
- Schéma:
 PROVIDER
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é, appelezadd_custom_sql_template.
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.provider.add_templates(
  $cleanroom_name,
  ['my_custom_template']);
clear_template¶
- Schéma:
 PROVIDER
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.
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.provider.clear_template(
  $cleanroom_name,
  'prod_custom_template');
clear_all_templates¶
- Schéma:
 PROVIDER
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.
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.provider.clear_all_templates($cleanroom_name);
set_column_policy¶
- Schéma:
 PROVIDER
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 jointes. 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 pour chaque colonne est le suivant :template_name:full_table_name:column_name
Retourne : (String) message de réussite.
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']);
view_column_policy¶
- Schéma:
 PROVIDER
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);
add_custom_sql_template¶
- Schéma:
 PROVIDER
Description : Ajoute un modèle JinjaSQL personnalisé dans la salle blanche. Le modèle peut ainsi être appelé par le consommateur. Découvrez comment 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 consommateur utilise le modèle pour activer les résultats renvoyés au fournisseur, 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, pour le modèle nomméactivation_data_analysis_results, vous renverriezdata_analysis_results.
Arguments :
cleanroom_name (string) (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 salle blanche, 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 salle blanche 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 ultérieurement cette liste en appelantprovider.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- (Booléen, facultatif) Si TRUE, empêche les consommateurs de pouvoir voir le corps du modèle. Notez que vous devez utiliser Snowflake Enterprise Edition ou une version supérieure pour exécuter un modèle flouté. Si ce modèle est utilisé pour une analyse exécutée par le fournisseur, le consommateur doit réapprouver la requête d’analyse chaque fois que vous modifiez l’étatis_obfuscated.is_obfuscatedne peut pas être utilisé avecsensitivity.
Retourne : (String) message de réussite.
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
        IDENTIFIER({{ c.consumer_id  }}) = IDENTIFIER({{ provider_id | join_policy }})
    {% if where_clause %}
      WHERE {{ where_clause | sqlsafe | join_and_column_policy }}
    {% endif %};
    $$);
add_ui_form_customizations¶
- Schéma:
 PROVIDER
Description : définit un formulaire de personnalisation pour un modèle dans une salle blanche lorsque la salle blanche est exécutée dans l’UI des salles blanches. Ceci est utile pour permettre aux consommateurs de choisir les paramètres du modèle tels que les tables ou les colonnes. Au minimal, vous devez spécifier des valeurs pour l``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 sont remplis en fonction de la sélection de la table.
Apprenez à concevoir des formulaires de saisie pour des modèles personnalisés.
Vous devez mettre à jour la salle blanche après avoir appelé cette fonction. Si vous n’appelez pas provider.create_or_update_cleanroom_listing après la mise à jour de 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 cette UI s’applique. Ce n’est pas le titre visible par l’utilisateur, qui est spécifié à l’aide du champtemplate_information.display_name.template_information- (Dict) Méta-informations sur le modèle à afficher dans l’UI des salles blanches. Les propriétés suivantes doivent ou peuvent être définies :display_name(Required) : Nom d’affichage du modèle dans l’UI des salles blanches.description(Required) : Description du modèle.methodology(Required) : Description de tous les arguments, et quel est le résultat.warehouse_hints(Object) : Recommande le type d’entrepôt à utiliser pour effectuer l’analyse. Il s’agit d’un objet comportant les champs suivants :warehouse_size: Voir taille_entrepôt dans CREATE WAREHOUSE pour les valeurs valides.snowpark_optimized- (Boolean) : S’il est nécessaire ou pas d’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 ou du consommateur à utiliser dans la requête. Il s’agit d’un objet comportant les champs suivants :render_consumer_table_dropdown- (Boolean) Si TRUE, affiche 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. Si un élément définitreferences=CONSUMER_TABLES, la valeur par défaut est FALSE, sinon la valeur par défaut est TRUE.render_provider_table_dropdown- (Boolean) Si TRUE, affiche 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. Si un élément définitreferences=PROVIDER_TABLES, la valeur par défaut est FALSE, sinon la valeur par défaut est TRUE.
activation_template_name- (String) Nom d’un modèle d’activation dans cette salle blanche. Utiliser le nom du modèle sans préfixecleanroom. En savoir plus sur les modèles activation.enabled_activations- (String) Quel type d’activations est activé. Valeurs possibles :consumer,provider. Pas de valeur par défaut; doit être indiqué siactivation_template_nameest spécifié :
details- (Dict, optional) 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 de formulaire. La clé est un nom de variable disponible pour le modèle JinjaSQL lié. La valeur est un objet qui définit l’élément de formulaire. Si une variable de modèle n’a pas d’élément de formulaire équivalent défini ici, les salles blanches génèrent automatiquement un élément de formulaire par défaut . Chaque objet peut définir 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 d’étiquette de cet élément dans le formulaire UI.order: ordre basé sur 1 dans lequel cet élément doit être affiché dans le formulaire. Si la valeur du champ n’est pas spécifiée, les éléments seront rendus dans l’ordre dans lequel ils apparaissent dans l’objet.description: description de la fonction de l’élément, indiquée sous l’étiquette. Fournissez ici une aide brève ou des exemples. Si aucun n’est fourni, aucun n’est affiché.type: Le type de l’élément d’UI. Si references est spécifié pour ce champ d’entrée, omettez cette entrée (le type est déterminé pour vous). Valeurs prises en charge :any(Default): champ de saisie de texte régulierboolean: Sélecteur vrai/fauxinteger: utilisez les flèches pour changer le nombremultiselect: sélectionnez plusieurs éléments dans une liste déroulantedropdown: sélectionnez 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.size: Taille de l’élément. Valeurs prises en charge :XS,S,M,L,XLrequired: 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écifiques{{ 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é , consultez provider.add_custom_sql_template.references: renseigne une liste déroulante avec des tables ou des colonnes du type spécifié dans la salle blanche. Si utilisé,typedoit être soitmultiselectoudropdown. Les valeurs de chaîne suivantes sont prises en charge :PROVIDER_TABLES: répertoriez toutes les tables du fournisseur dans la salle blanche. Si spécifié,render_table_dropdowns.render_provider_table_dropdowndoit être FALSE.PROVIDER_JOIN_POLICY:répertoriez toutes les colonnes de la politique de jointure du fournisseur pour la table actuellement sélectionnée dans l’élémentprovider_parent_table_field.PROVIDER_COLUMN_POLICY: répertoriez toutes les colonnes dans la politique de colonnes du fournisseur pour le modèle actuel et la table sélectionnée dans l’élémentprovider_parent_table_field.PROVIDER_ACTIVATION_POLICY: répertoriez toutes les colonnes dans la politique d’activation du fournisseur.CONSUMER_TABLES: répertoriez toutes les tables de consommateurs dans la salle blanche. Si spécifié,render_table_dropdowns.render_consumer_table_dropdowndoit être FALSE.CONSUMER_COLUMNS: Répertoriez toutes les colonnes de la table de consommateur spécifiée par``consumer_parent_table_field``. Vous ne devez pas utiliser de références à des colonnes de consommateurs dans des modèles exécutés par le fournisseur, car le consommateur peut appliquer des politiques de jointure et de colonne à ces colonnes, utilisezCONSUMER_JOIN_POLICYorCONSUMER_COLUMN_POLICYpour les modèles exécutés par le fournisseur.CONSUMER_JOIN_POLICY: répertoriez toutes les colonnes de la politique de jointure du consommateur de la table sélectionnée dans l’élémentconsumer_parent_table_field.CONSUMER_COLUMN_POLICY: répertoriez toutes les colonnes dans la politique de colonnes du consommateur pour le modèle actuel et la table sélectionnée dans le champconsumer_parent_table_field.
provider_parent_table_field: Le nom de l’élément UI dans lequel l’utilisateur sélectionne une table de fournisseurs ; ne fournissez pas le nom de la table elle-même ici. À utiliser uniquement lorsquereferencesest défini surPROVIDER_COLUMN_POLICYouPROVIDER_JOIN_POLICY. Pour faire référence au sélecteur de table du fournisseur par défaut , spécifiezsource_tableici et définissez``render_table_dropdowns.render_provider_table_dropdown`` sur TRUEconsumer_parent_table_field: le nom de l’élément UI dans lequel l’utilisateur sélectionne une table de fournisseurs ; ne fournissez pas le nom de la table elle-même ici. À utiliser uniquement lorsquereferencesest défini surCONSUMER_COLUMNS,CONSUMER_JOIN_POLICY, ouCONSUMER_COLUMN_POLICY. Pour faire référence au sélecteur de table consommateur par défaut, indiquezmy_tableici et définissezrender_table_dropdowns.render_provider_table_dropdownsur TRUE.
output_config- (Dict) définit la manière d’afficher graphiquement les résultats du modèle dans l’UI des salles blanches. 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’UI des salles blanches.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
Le tableau suivant montre une matrice de valeurs autorisées dans l’objet details pour les valeurs qui peuvent entrer en conflit :
  | 
  | 
  | 
  | 
  | 
  | 
|---|---|---|---|---|---|
  | 
  | 
Non autorisé  | 
Non autorisé  | 
FALSE  | 
TRUE ou FALSE  | 
  | 
  | 
Non autorisé  | 
TRUE  | 
TRUE ou FALSE  | 
|
  | 
  | 
Non autorisé  | 
TRUE ou FALSE  | 
TRUE ou FALSE  | 
|
  | 
  | 
Non autorisé  | 
TRUE  | 
TRUE ou FALSE  | 
|
  | 
  | 
Non autorisé  | 
TRUE ou FALSE  | 
TRUE ou FALSE  | 
|
  | 
Non autorisé  | 
Non autorisé  | 
TRUE ou FALSE  | 
FALSE  | 
|
  | 
Non autorisé  | 
  | 
TRUE ou FALSE  | 
TRUE  | 
|
  | 
Non autorisé  | 
  | 
TRUE ou FALSE  | 
TRUE  | 
|
  | 
Non autorisé  | 
  | 
TRUE ou FALSE  | 
TRUE  | 
|
  | 
Non autorisé  | 
Non autorisé  | 
TRUE ou FALSE  | 
TRUE ou FALSE  | 
Retourne : (String) message de réussite.
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'
      }
  );
restrict_template_options_to_consumers¶
- Schéma:
 PROVIDER
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.
Note
Les restrictions que vous créez en appelant cette procédure peuvent ne pas se comporter comme prévu dans l’UI des salles blanches. Vous ne devez pas appeler cette procédure sur une salle blanche qui peut être utilisée dans l’UI des salles blanches.
Arguments :
cleanroom_name (String) - Le nom de la salle blanche.
access_details- (objet JSON) 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 au format suivant :'{template_name': ['user1_locator','user2_locator','userN_locator']}
Retourne : (String) message de réussite.
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 Modèles personnalisés rédigés par le consommateur.
list_pending_template_requests¶
- Schéma:
 PROVIDER
Description : Répertorie toutes les requêtes non approuvées 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 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).
Cette opération échouera jusqu’à ce que tous les consommateurs avec lesquels la salle blanche est partagée l’aient installée.
Arguments :
cleanroom_name (string) (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 du compte de la personne qui fait la demande.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($cleanroom_name);
list_template_requests¶
- Schéma:
 PROVIDER
Description : Répertorie 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 cette 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) (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 du compte de la personne qui fait la demande.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) État de la requête : PENDING, APPROVED, REJECTED.
Exemple :
CALL samooha_by_snowflake_local_db.provider.list_template_requests($cleanroom_name);
approve_template_request¶
- Schéma:
 PROVIDER
Description : Approuve une requête visant à ajouter un modèle à la salle blanche.
Arguments :
cleanroom_name (string) (String) - Nom de la salle blanche à laquelle l’utilisateur souhaite ajouter le modèle.
request_id- (String) ID de la requête à approuver. Appelezprovider.list_template_requestspour voir les IDs des demandes.
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.provider.approve_template_request(
  $cleanroom_name,
  '815324e5-54f2-4039-b5fb-bb0613846a5b'
);
approve_multiple_template_requests¶
- Schéma:
 PROVIDER
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 salle blanche à laquelle cette requête s’applique.
request_ids- (Array of string) Les IDs de toutes les requêtes de modèle à approuver. Pour obtenir un ID de requête, appellezprovider.list_template_requests.
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.provider.approve_multiple_template_requests(
  $cleanroom_name,
  [
    'cfd538e2-3a17-48e3-9773-14275e7d2cc9',
    '2982fb0a-02b7-496b-b1c1-56e6578f5eac'
  ]
);
reject_template_request¶
- Schéma:
 PROVIDER
Description : Rejette une requête visant à ajouter un modèle à une salle blanche.
Arguments :
cleanroom_name (string) (String) - Nom de la salle blanche à laquelle l’utilisateur souhaite ajouter le modèle.
request_id- (String) ID de la requête à rejeter. Appelezprovider.list_template_requestspour voir les IDs des demandes.reason_for_rejection- (String) Raison du rejet de la requête.
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.provider.reject_template_request(
  $cleanroom_name,
  'cfd538e2-3a17-48e3-9773-14275e7d2cc9',
  'Failed security assessment');
reject_multiple_template_requests¶
- Schéma:
 PROVIDER
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) (String) -Nom de la salle blanche à laquelle cette requête est appliquée.
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, appellezprovider.list_template_requests.reason_for_rejection- (string) Une description en texte libre de la raison du rejet de la requête.
Retourne : (String) message de réussite.
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 modèle.
add_template_chain¶
- Schéma:
 PROVIDER
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, un 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 via l’appel``provider.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) - Quandcache_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) - Quandcache_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) - Quandcache_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.
Retourne : (String) message de réussite.
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
    }
  ]
);
view_added_template_chains¶
- Schéma:
 PROVIDER
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);
view_template_chain_definition¶
- Schéma:
 PROVIDER
Description : Renvoie la définition d’une chaîne de modèles.
Arguments :
cleanroom_name (string) (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');
clear_template_chain¶
- Schéma:
 PROVIDER
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) (String) - La salle blanche à laquelle est attribuée cette chaîne de modèles.
template_chain_name- (String) La chaîne de modèles à supprimer de cette salle blanche.
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.provider.clear_template_chain($cleanroom_name, 'my_chain');
Analyses multi-fournisseurs¶
Ces procédures permettent l’analyse multi-fournisseurs.
Note
Le flux multi-fournisseurs actuel deviendra bientôt obsolète. Les salles blanches travaillent sur un nouveau flux multi-fournisseurs pour remplacer les procédures multi-fournisseurs actuelles.
enable_multiprovider_computation¶
- Schéma:
 PROVIDER
Description : cette procédure permet d’utiliser les tables de votre salle blanche en combinaison avec le modèle spécifié, lorsqu’il est demandé par l’utilisateur spécifié, et en combinaison avec les tables des salles blanches spécifiées. Cette procédure permet à un consommateur d’exécuter une requête sur les données de plusieurs salles blanches. Cette procédure n’approuve pas automatiquement ces requêtes, mais permet au processus d’approbation manuel ou automatisé de commencer pour l’utilisateur spécifié et les salles blanches en enregistrant les requêtes dans le journal des requêtes multi-fournisseurs pour cette salle blanche.
Tous les appels effectués vers cette salle blanche à l’aide de consumer.prepare_multiprovider_flow seront enregistrés et visibles avant même que vous n’appeliez enable_multiprovider_computation pour cette salle blanche.
Pour permettre à un consommateur d’accéder à plusieurs salles blanches dans votre compte, spécifiez une salle blanche 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’y a aucun moyen de désactiver la journalisation des requêtes après son démarrage, mais vous pouvez suspendre l’approbation automatique pour un utilisateur donné (si vous l’avez accordée en appelant provider.suspend_multiprovider_tasks), puis ne plus approuver aucune autre demande.
Arguments :
cleanroom_name (String) - Nom d’une salle blanche dont vous êtes propriétaire. Toutes les données de cette salle blanche peuvent être partagées avec les salles blanches répertoriées dans
approved_other_cleanroomsdans les 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 répertoriées dansapproved_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 le suivant :provider_org_name.provider_account_name.cleanroom_name. Important : Indiquez le nom du compte, et non le localisateur de compte, dans chaque description de salle blanche.
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.provider.enable_multiprovider_computation(
  $cleanroom_name,
  $consumer_account_locator,
  <org_name>.<account_locator>.<cleanroom_name>);
view_multiprovider_requests¶
- Schéma:
 PROVIDER
Description : Affiche toutes les requêtes d’analyse multi-fournisseurs d’un compte et d’une salle blanche donnés. Cela inclut les demandes approuvées et 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 salle blanche donnée.
Vous devez appeler enable_multiprovider_computation pour cette salle blanche et ce compte de consommateur avant que vous puissiez appeler view_multiprovider_requests.
Arguments :
cleanroom_name (String) - Afficher les requêtes du consommateur spécifié depuis cette salle blanche.
consumer_account- (String) Afficher les requêtes provenant de ce localisateur de compte consommateur à partir de la salle blanche spécifiée.
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.provider.view_multiprovider_requests(
  $cleanroom_name,
  $consumer_locator);
process_multiprovider_request¶
- Schéma:
 PROVIDER
Description : approuve l’exécution de la requête multi-fournisseurs spécifiée, si toutes les vérifications réussissent. Les contrôles comprennent l’ancienneté de la requête et l’approbation ou non de la requête lors d’un appel précédent à provider.enable_multiprovider_computation..  Le consommateur doit toujours appeler consumer.execute_multiprovider_flow pour exécuter la requête. Une requête sera détruite après 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 salle blanche soient approuvées automatiquement, indiquez -1 pour request_id. Si vous souhaitez que toutes les requêtes de tous les consommateurs de cette salle blanche soient approuvées, appelez provider.resume_multiprovider_tasks. Découvrez comment révoquer des 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 a table de journalisation pour cette salle blanche.
Arguments :
cleanroom_name (String) -Le nom de votre salle blanche, qu’un consommateur demande à inclure dans une analyse multi-fournisseur.
consumer_account- (String) Le localisateur du compte consommateur de l’utilisateur requérant une analyse multi-fournisseur. 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 pour approuver, à partir deprovider.view_multiprovider_requests. Transmettez-1pour approuver toutes les requêtes de ce consommateur dans cette salle blanche.
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.provider.process_multiprovider_request(
  $cleanroom_name_1,
  $consumer_account_locator,
  $request_id);
suspend_multiprovider_tasks¶
- Schéma:
 PROVIDER
Description : arrête l’examen et l’approbation automatisés (pour les requêtes éligibles) d’une requête multi-fournisseurs dans la salle blanche spécifiée. Les requêtes multi-fournisseurs sont toujours activées pour la salle blanche, mais chaque requête doit maintenant être explicitement approuvée par le fournisseur en appelant provider.process_multiprovider_request.
L’état par défaut de toutes les salles blanches est que l’approbation automatisée 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) Localisateur de compte du consommateur dont les requêtes multi-fournisseurs doivent être suspendues pour tous les modèles de cette salle blanche. Les requêtes ultérieures de cet utilisateur dans cette salle blanche seront détruites.
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.provider.suspend_multiprovider_tasks(
  $cleanroom_name,
  $consumer_locator);
resume_multiprovider_tasks¶
- Schéma:
 PROVIDER
Description : permet d’examiner et d’approuver automatiquement les analyses multi-fournisseurs (afin de qualifier les requêtes) pour l’utilisateur donné dans la salle blanche donnée. L’examen automatisé est désactivé par défaut pour une salle blanche.
Pour arrêter l’approbation automatique, appelez provider.suspend_multiprovider_tasks.
Arguments :
cleanroom_name (String) - Nom de la salle blanche.
consumer_account- (String) Localisateur de compte du consommateur dont les requêtes multi-fournisseurs dans cette salle blanche seront désormais mises en file d’attente.
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.provider.resume_multiprovider_tasks(
  $cleanroom_name,
  $consumer_locator);
Activation¶
Activation signifie exporter les résultats vers un fournisseur, un consommateur ou un tiers. En savoir plus sur l’activation.
set_activation_policy¶
- Schéma:
 PROVIDER
Description : Définit les colonnes qui peuvent être utilisées dans un modèle d’activation. Seules les colonnes répertoriées dans une politique activation peuvent être activées à partir de l’ensemble de données du fournisseur. La non-définition d’une 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) (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 :.
Retourne : (String) message de réussite.
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' ]);
request_provider_activation_consent¶
- Schéma:
 PROVIDER
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) (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 ».
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.provider.request_provider_activation_consent(
    $cleanroom_name, 'activation_my_activation_template');
update_activation_warehouse¶
- Schéma:
 PROVIDER
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’un 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');
dcr_health.provider_run_provider_activation_history¶
Description : renvoie un historique des demandes d’activation des fournisseurs pour la salle blanche spécifiée. Les demandes d’activation de fournisseur initiées à la fois par le fournisseur et par le consommateur sont affichées. Cette procédure fournit des informations supplémentaires pour déboguer les problèmes liés à l’activation du fournisseur.
Arguments :
:ref:`cleanroom_name <label-dcr_about_clean_room_names>`* (String) - Nom de la salle blanche dans laquelle l’activation a été demandée. Vous devez être un fournisseur ou un consommateur dans cette salle blanche.
Renvoie : (Table) - Une liste de requêtes d’activation avec des informations sur chacune, y compris le modèle et le nom du segment, le statut, le localisateur de compte du consommateur et tout message d’erreur renvoyé par la requête.
Exemple :
CALL samooha_by_snowflake_local_db.dcr_health.provider_run_provider_activation_history(
  $cleanroom_name);
view_external_activation_history¶
- Schéma:
 LIBRARY
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();
Exécuter des analyses en tant que fournisseur¶
Learn how to run a provider analysis.
enable_provider_run_analysis¶
- Schéma:
 PROVIDER
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 alors appeler consumer.enable_templates_for_provider_run pour permettre des analyses exécutées par le fournisseur pour des modèles spécifiques dans la salle blanche. Ensuite, le fournisseur peut exécuter une analyse en appelant provider.submit_analysis_request.
Learn more about provider-run analyses.
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) (String) -Nom de la salle blanche qui doit permettre l’analyse exécutée par le fournisseur.
consumer_accounts- (Array of string) Localisateurs des comptes de tous les consommateurs qui ont ajouté des données à cette salle blanche.
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.provider.enable_provider_run_analysis(
  $cleanroom_name,
  ['<CONSUMER_ACCOUNT_LOCATOR>']
);
disable_provider_run_analysis¶
- Schéma:
 PROVIDER
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
Vous devez appeler cette procédure après avoir appelé provider.add_consumers, et avant qu’un consommateur n’installe une salle blanche. Si le paramètre d’analyse d’exécution est modifié après qu’un consommateur a installé une salle blanche, le consommateur doit réinstaller la salle blanche pour mettre en œuvre le nouveau paramètre.
Arguments :
cleanroom_name (string) (String) -Nom de la salle blanche dans laquelle l’analyse exécutée 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.
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.provider.disable_provider_run_analysis(
  $cleanroom_name,
  ['<CONSUMER_ACCOUNT_LOCATOR>']);
is_provider_run_enabled¶
- Schéma:
 LIBRARY
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)
view_warehouse_sizes_for_template¶
- Schéma:
 PROVIDER
Description : Affichez la liste des tailles et des types d’entrepôt disponibles à utiliser dans les analyses exécutées par les fournisseurs avec un modèle donné. Le consommateur doit d’abord renseigner la liste dans son appel à consumer.enable_templates_for_provider_run.
Arguments :
cleanroom_name (String) - Nom de la salle blanche.
template_name- (String) Nom du modèle que le fournisseur souhaite exécuter.consumer_account- (String) Localisateur du compte du consommateur qui approuvera la requête exécutée par le fournisseur.
Retours : Une table des tailles et des types d’entrepôt 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);
submit_analysis_request¶
- Schéma:
 PROVIDER
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 exécutées par le fournisseur dans cette salle blanche.
Le consommateur doit avoir approuvé les analyses exécutées par le fournisseur pour le modèle spécifié.
Toutes les politiques de jointure) et 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) (String) - Nom de la salle blanche où le modèle doit être exécuté.
consumer_account_locator- (String) Localisateur du compte du consommateur de cette salle blanche qui a autorisé les analyses exécutées par le fournisseur en appelantconsumer.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 tableausource_table.consumer_tables- (array) Liste des tables de consommateurs à exposer au modèle. Cette liste alimentera la variable de tableaumy_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 répertoriés parprovider.view_warehouse_sizes_for_templatepuis spécifiez-les en utilisant les champs suivants :warehouse_type(String) - Type entrepôt que le consommateur prend en charge pour les analyses exécutées par le fournisseur avec le modèle spécifié.warehouse_size(String) - Taille de l’entrepôt que le consommateur prend en charge pour les analyses exécuté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.
  )
);
check_analysis_status¶
- Schéma:
 PROVIDER
**Description ** Le fournisseur appelle cette procédure pour vérifier l’état 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.
Tous les consommateurs de la salle blanche doivent avoir leurs journaux de requêtes montés avant que vous puissiez appeler check_analysis_status. Cette opération est effectuée une fois par consommateur par salle blanche en appelant provider.mount_request_logs_for_all_consumers.
Vous pouvez voir votre liste de requêtes d’analyse en exécutant cette commande SQL, où cleanroom_name est le nom de votre salle blanche, avec des espaces remplacés par des traits de soulignement.
SELECT * FROM SAMOOHA_CLEANROOM_<cleanroom_name>.ADMIN.PROVIDER_ANALYSIS_REQUESTS;
Arguments :
cleanroom_name (string) (String) - Nom de la salle blanche où la requête a été faite.
request_id- (String) ID de la requête, renvoyée parprovider.submit_analysis_request.consumer_account_locator- (String) Localisateur du compte du consommateur auquel la requête a été envoyée.
Renvoie : (String) État de la requête, où COMPLETED signifie que l’analyse a été effectuée correctement. États possibles :
IN-PROGRESS: L’analyse est en cours.
PENDING : Indique l’un des cas suivants :
La requête est toujours en cours de propagation, ce qui peut prendre quelques minutes. Veuillez réessayer dans quelques minutes.
L’utilisateur n’a pas approuvé la requête en appelant
consumer.enable_templates_for_provider_run. Veuillez réessayer dans quelques minutes.Vous n’avez pas monté les journaux de requêtes pour ce consommateur. Appelez
provider.is_request_back_share_mounted; si cette procédure ne renvoie pas SUCCESS, appelezprovider.mount_request_logs_for_all_consumers.
COMPLETED : L’analyse est terminée. Vous pouvez appeler
provider.get_analysis_result.
Erreurs :
Si vous constatez une erreur « ResultSet est vide ou non préparé », cela peut indiquer que lors de la requête, les journaux n’ont pas été montés pour au moins un consommateur dans cette salle blanche. Appelez ``provider.mount_request_logs_for_all_consumers``pour monter des journaux de requête pour tous les consommateurs
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>'
);
get_analysis_result¶
- Schéma:
 PROVIDER
Description : obtient les résultats d’une analyse réalisée par un fournisseur. Ne pas appeler get_analysis_result jusqu’à provider.check_analysis_status renvoie COMPLETED. Les résultats de l’analyse sont conservés indéfiniment dans la salle blanche.
Arguments :
cleanroom_name (string) (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 parsubmit_analysis_request.consumer_account_locator- (String) Localisateur 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.
view_consumers¶
- Schéma:
 PROVIDER
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);
add_consumers¶
- Schéma:
 PROVIDER
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’UI et l’API des salles blanches. Cette opération ne remplace pas les listes de consommateurs des appels précédents. L’accès à la salle blanche est accordé à un utilisateur spécifique, et non à un compte entier. Le compte du consommateur doit se trouver dans la même région Snowflake que le fournisseur pour pouvoir accéder à une salle blanche. Vous pouvez vérifier votre région en appelant select current_region();
Vous pouvez consulter la liste actuelle des consommateurs en appelant 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’UI des salles blanches.
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 dansconsumer_account_names.consumer_account_names- (String) Une liste de délimitée par des virgules d’IDscompte de partage de données consommateur pour le consommateur au formatorg_name.account_nameLe nom d’organisation peut être récupéré en appelant CURRENT_ORGANIZATION_NAME. Le Nom du compte peut être obtenu 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 de la liste dans cette salle blanche. Il s’agit d’un moyen simple d’activer la confidentialité différentielle avec des valeurs par défaut pour les utilisateurs répertoriés. Pour spécifier des paramètres avancés, fournissez l’argumentprivacy_settingsà la place. La tâche de confidentialité différentielle doit être exécutée dans cette salle blanche pour activer la confidentialité différentielle. La valeur par défaut est FALSE.privacy_settings- (String, optional) Si cette valeur est présente, applique les paramètres de confidentialité aux modèles personnalisé lorsqu’ils sont utilisés par l’un des utilisateurs dansconsumer_account_namesCeci est une version de 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_tasksetprivacy_settings. La tâche de confidentialité différentielle doit être exécutée dans cette salle blanche 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"
    }
  }'
);
remove_consumers¶
- Schéma:
 PROVIDER
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 appelant provider.view_consumers.
Arguments :
cleanroom_name (string) (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.
Exemple :
CALL samooha_by_snowflake_local_db.provider.remove_consumers(
  $cleanroom_name,
  'locator1,locator2,locator3'
);
set_cleanroom_ui_accessibility¶
- Schéma:
 PROVIDER
Description : affiche ou masque la salle blanche dans l’UI des salles blanches pour 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, sensible à la casse :HIDDEN - Cache la salle blanche dans l’UI des salles blanches pour tous les utilisateurs du compte fournisseur actuel. La salle blanche reste accessible pour les appels à l’API.
EDITABLE - Rend la salle blanche visible dans l’UI des salles blanches.
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.provider.set_cleanroom_ui_accessibility(
  $cleanroom_name,
  'HIDDEN'
);
Collaboration inter-Cloud¶
Autorisez une salle blanche de être partagée avec un consommateur sur une autre région Cloud. En savoir plus.
enable_laf_on_account¶
- Schéma:
 LIBRARY
Description : active l’exécution automatique inter-Cloud sur le compte actuel. L’exécution de cette procédure nécessite le rôle ACCOUNTADMIN.
Important
Vous devez d’abord activer l’exécution automatique inter-Cloud pour le compte en appelant SYSTEM$ENABLE_GLOBAL_DATA_SHARING_FOR_ACCOUNT.
En savoir plus sur l’exécution automatique et la gestion des privilèges de l’exécution automatique.
Arguments : Aucun
Retourne : (String) message de réussite.
Exemple :
USE ROLE ACCOUNTADMIN;
CALL samooha_by_snowflake_local_db.library.enable_laf_on_account();
disable_laf_on_account¶
- Schéma:
 LIBRARY
Description : désactive l’exécution automatique inter-Cloud sur le compte actuel. L’exécution de cette procédure nécessite le rôle ACCOUNTADMIN.
Important
Vous devez d’abord appeler SYSTEM$ENABLE_GLOBAL_DATA_SHARING_FOR_ACCOUNT avant de pouvoir désactiver l’exécution automatique inter-Cloud sur un compte.
En savoir plus sur l’exécution automatique et la gestion des privilèges de l’exécution automatique.
Arguments : Aucun
Retourne : (String) message de réussite.
Exemple :
USE ROLE ACCOUNTADMIN;
CALL samooha_by_snowflake_local_db.library.disable_laf_on_account();
is_laf_enabled_on_account¶
- Schéma:
 LIBRARY
Description : Renvoie si l’exécution automatique inter-Cloud est activée pour ce compte.
Arguments : Aucun
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();
set_laf_dcr_refresh_schedule¶
- Schéma:
 PROVIDER
Description : définit l’intervalle d’actualisation pour les données de salle blanche entre le fournisseur et le consommateur lorsqu’ils sont situés sur des régions Cloud différentes. Ces données comprennent les ensembles de données des fournisseurs, les demandes d’exécution des fournisseurs, les politiques de salle blanche et les métadonnées de salle blanche. Si vous avez besoin d’un rafraîchissement immédiat, vous pouvez appeler SYSTEM$TRIGGER_LISTING_REFRESH.
Arguments :
schedule- (Int) Intervalle, en minutes, entre les actualisations. La valeur minimale autorisée est 10.
Retourne : (String) - Message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.provider.set_laf_dcr_refresh_schedule(10);
Utiliser Python dans une salle blanche¶
load_python_into_cleanroom¶
- Schéma:
 PROVIDER
Description : charge du code Python personnalisé 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. Bien que votre code puisse inclure plusieurs définitions de fonctions, une seule fonction est exposée pour un modèle à appeler.
Si vous souhaitez charger plusieurs paquets Python appelables dans une salle blanche dans un seul correctif, appelez prepare_python_for_cleanroom à la place.
Learn how to upload and use Python code in a clean room.
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 l’état de l’analyse soit APPROVED avant de pouvoir partager la dernière version avec les collaborateurs. Cette étape ne signale pas les erreurs de syntaxe dans le code, qui sont lancées au moment de l’exécution.
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 :
Signature
load_python_into_cleanroom possède la signature suivante pour le chargement de code en ligne. Transmettez votre chaîne de code dans l’argument code.
(cleanroom_name String, function_name String, arguments Array, packages Array, rettype String, handler String, code String)
Arguments :
cleanroom_name (String) - Nom de la salle blanche où le script doit être chargé.
function_name(String) Nom qu’un modèle utilise pour appeler la fonction spécifiée parhandler. Le modèle doit qualifier le nom de la fonction avec l’espace de nomscleanroom. Par exemple :cleanroom.my_func(val1, val2).arguments- (Array of space-delimited string pairs) Un tableau d’arguments requis par la fonctionfunction_name. Chaque élément est une paire'name data_type'délimitée par des espaces qui spécifie le nom de l’argument et son type de données le type de données SQL Snowflake. Par exemple :['size INT', 'start_date DATE'].packages- (Array of string) Liste des noms des paquets Python utilisés par le code. Les salles blanches prennent en charge nativement tous les paquets dans cette liste ou l”APISnowpark. Si vous avez besoin d’un package qui n’est pas répertorié à cet endroit, vous devez utiliser Snowpark Container Services dans une salle blanche.ret_type- (String) Le type de données SQL de la valeur retournée par la fonctionhandler. (Voir des types SQL et Python équivalents. Les synonymes de type SQL Snowflake sont acceptés, comme STRING pour VARCHAR.) Pour un UDF, le type de retour est un seul type SQL. Pour un UDTF, le type de retour est une fonction TABLE avec des pairescolumn_name SQL column type. Par exemple :TABLE (item_name STRING, total FLOAT)handler- (String) La fonction appelée dans votre code lorsqu’un modèle appellefunction_name. Pour un UDF il doit s’agir du nom de la fonction elle-même ; pour un UDTF, il doit s’agir du nom de la classe qui implémente l’UDTFcode- (String) Votre code Python sous forme de chaîne. Ce devrait être un UDF Python.
Signature
Chargez votre code dans une zone de préparation Snowflake, puis indiquez l’emplacement de la zone de préparation à la salle blanche API. Vous devez utiliser la zone de préparation activée pour votre salle blanche spécifique en appelant provider.get_stage_for_python_files.
load_python_into_cleanroom possède la signature suivante pour charger du code dans la salle blanche à partir d’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 qu’un modèle utilise pour appeler la fonction spécifiée parhandler. Le modèle doit qualifier le nom de la fonction avec l’espace de nomscleanroom. Par exemple :cleanroom.my_func(val1, val2).arguments- (Array of space-delimited string pairs) Un tableau d’arguments requis par la fonctionfunction_name. Chaque élément est une paire'name data_type'délimitée par des espaces qui spécifie le nom de l’argument et son type de données le type de données SQL Snowflake. Par exemple :['size INT', 'start_date DATE'].packages- (Array of string) Liste des noms des paquets Python utilisés par le code. Les salles blanches prennent en charge nativement tous les paquets dans cette liste ou l”APISnowpark.imports- (Array of string) Liste des fichiers à importer à partir de la zone de préparation. Chaque adresse de fichier est relative à la zone de préparation vers laquelle vous avez chargé le code, par exemple :['/my_func.py']. Trouvez la zone de préparation de la salle blanche en appelantprovider.get_stage_for_python_files.ret_type- (String) Le type de données SQL de la valeur retournée par la fonctionhandler. (Voir des types SQL et Python équivalents. Les synonymes de type SQL Snowflake sont acceptés, comme STRING pour VARCHAR.) Pour un UDF, le type de retour est un seul type SQL. Pour un UDTF, le type de retour est une fonction TABLE avec des pairescolumn_name SQL column type. Par exemple :TABLE (item_name STRING, total FLOAT)handler- (String) La fonction appelée dans votre code lorsqu’un modèle appellefunction_name. Pour un UDF il doit s’agir du nom de la fonction elle-même ; pour un UDTF, il doit s’agir du nom de la classe qui implémente l’UDTF
Renvois : (String) message de réussite si le chargement réussit
Exemples :
-- Inline UDF
CALL samooha_by_snowflake_local_db.provider.load_python_into_cleanroom(
    $cleanroom_name,
    'assign_group',                      -- Name of the UDF.
    ['data STRING', '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 STRING', 'index INTEGER'],    -- Arguments of the UDF.
    ['numpy', 'pandas'],                 -- Packages UDF will use.
    ['/assign_group.py'],                -- Python file to import from a stage.
    'INTEGER',                           -- Return type of UDF.
    'assign_group.main'                  -- Handler, scoped to file name.
);
prepare_python_pour_cleanroom¶
- Schéma:
 PROVIDER
Description : charge du code Python personnalisé dans la salle blanche dans le cadre d’un flux de chargement de code en masse. Appelez cette procédure plusieurs fois pour charger plusieurs paquets, puis appelez load_prepared_python_into_cleanroom pour déclencher le chargement vers la salle blanche spécifiée, vider le pool de code préparé et générer un nouveau correctif de salle blanche.
Le code importé peut être appelé par votre modèle Jinja. Pour charger un seul bundle Python , vous pouvez appeler load_python_into_cleanroom à la place.
Learn how to upload and use Python code in a clean room.
Vous pouvez soit transmettre du code directement dans cette procédure en utilisant le paramètre code, ou transmettre le nom d’un fichier dans une zone de préparation qui contient le code en utilisant le paramètre imports.
Arguments :
cleanroom_name (String) - Nom de la salle blanche où le script doit être chargé.
function_name(String) Nom qu’un modèle utilise pour appeler la fonction spécifiée parhandler. Le modèle doit qualifier le nom de la fonction avec l’espace de nomscleanroom. Par exemple :cleanroom.my_func(val1, val2).arguments- (Array of space-delimited string pairs) Un tableau d’arguments requis par la fonctionfunction_name. Chaque élément est une paire'name data_type'délimitée par des espaces qui spécifie le nom de l’argument et son type de données le type de données SQL Snowflake. Par exemple :['size INT', 'start_date DATE'].packages- (Array of string) Liste des noms des paquets Python utilisés par le code. Les salles blanches prennent en charge nativement tous les paquets dans cette liste ou l”APISnowpark. Si vous avez besoin d’un package qui n’est pas répertorié à cet endroit, vous devez utiliser Snowpark Container Services dans une salle blanche.imports- (Array of string) Liste des fichiers sources Python, lors de l’importation de votre source depuis une zone de préparation. Chaque adresse de fichier est relative à la zone de préparation vers laquelle vous avez chargé le code, par exemple :['/my_func.py']. Trouvez la zone de préparation de la salle blanche en appelantprovider.get_stage_for_python_files. Si vous fournissez du code en ligne en utilisant le paramètrecode, fournissez un tableau vide.rettype- (String) Le type de données SQL de la valeur retournée par la fonctionhandler. (Voir des types SQL et Python équivalents. Les synonymes de type SQL Snowflake sont acceptés, comme STRING pour VARCHAR.) Pour un UDF, le type de retour est un seul type SQL. Pour un UDTF, le type de retour est une fonction TABLE avec des paires<column name> <SQL column type>. Par exemple :TABLE (item_name STRING, total FLOAT)handler- (String) La fonction appelée dans votre code lorsqu’un modèle appellefunction_name. Pour un UDF il doit s’agir du nom de la fonction elle-même ; pour un UDTF, il doit s’agir du nom de la classe qui implémente l’UDTFcode- (String) Votre code Python sous forme de chaîne. Ce devrait être un UDF Python UDF ou un UDTF. Si vous chargez le code d’une zone de préparation, il doit s’agir d’une chaîne vide.
Renvois : (String) Résumé de la requête de chargement, y compris le numéro de correctif avant que le code ne soit ajouté à la salle blanche.
Exemple :
Cet exemple charge deux procédures Python simples dans une salle blanche et ne déclenche qu’une seule génération de correctifs.
CALL samooha_by_snowflake_local_db.provider.prepare_python_for_cleanroom(
    $cleanroom_name,
    'get_next_status',  -- Name of the UDF. Can be different from the handler.
    ['status VARCHAR'], -- Arguments of the UDF, specified as (variable name, SQL type).
    ['numpy'],          -- Packages needed by UDF.
    [],                 -- When providing the code inline, this is an empty array.
    'VARCHAR',          -- Return type of UDF.
    'get_next_status',  -- Handler.
    $$
import numpy as np
def get_next_status(status):
  """Return the next higher status, or a random status
  if no matching status found or at the top of the list."""
  statuses = ['MEMBER', 'SILVER', 'GOLD', 'PLATINUM', 'DIAMOND']
  try:
    return statuses[statuses.index(status.upper()) + 1]
  except:
    return 'NO MATCH'
    $$
);
 CALL samooha_by_snowflake_local_db.provider.prepare_python_for_cleanroom(
    $cleanroom_name,
    'hello_world',  -- Name of the UDF.
    [],
    [],
    [],
    'VARCHAR',
    'hello_world',
    $$
import numpy as np
def hello_world():
  return 'Hello world!'
    $$
);
CALL samooha_by_snowflake_local_db.provider.load_prepared_python_into_cleanroom($cleanroom_name);
load_prepared_python_into_cleanroom¶
- Schéma:
 PROVIDER
Description : prend tout le code mis en zone de préparation en utilisant les appels précédents à prepare_python_for_cleanroom, exécute une analyse de sécurité sur le code et, si l’analyse réussit, charge le code dans la salle blanche et génère un nouveau correctif de salle blanche. Pour proposer cette version de la salle blanche aux utilisateurs, vous devez alors mettre à jour la directive de version de la salle blanche sur le numéro de correctif renvoyé par cette procédure en appelant set_default_release_directive. Que l’appel réussisse ou non, il vide le pool de code Python stocké dans les appels précédents vers prepare_python_for_cleanroom. Cette étape ne signale pas les erreurs de syntaxe, qui ne sont signalées que lorsque vous essayez d’exécuter votre code.
Arguments :
cleanroom_name (String) - Nom de la salle blanche dans laquelle vous souhaitez charger le code Python.
Renvois : (String) En cas de réussite, renvoie le nouveau numéro de correctif créé. Mettez à jour la directive de version de la salle blanche sur le numéro de correctif renvoyé par cette procédure en appelant set_default_release_directive.
Exemple :
CALL samooha_by_snowflake_local_db.provider.load_prepared_python_into_cleanroom($cleanroom_name);
get_stage_for_python_files¶
- Schéma:
 PROVIDER
Description : Renvoie le chemin de la zone de préparation où les fichiers Python doivent être chargés, si vous planifiez d’utiliser des fichiers de code chargé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é chargés en appelant provider.load_python_into_cleanroom.
Learn how to upload and use Python code in a clean room.
Arguments :
cleanroom_name (String) - Nom de la salle blanche dans laquelle vous souhaitez charger des fichiers.
Retourne : (String) Le chemin où vous devez charger les fichiers de code. Utilisez ceci pour l’argument importations dans provider.load_python_into_cleanroom.
Exemple :
CALL samooha_by_snowflake_local_db.provider.get_stage_for_python_files($cleanroom_name);
view_room_scan_status¶
- Schéma:
 PROVIDER
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.
Une analyse est exécutée après toute action générant une nouvelle version de correctif ; le plus souvent, c’est soit après la première publication de la salle blanche, soit après le chargement de Python dans la salle blanche. Snowflake Data Clean Rooms utilise le Framework d’analyse de sécurité des applications natives Snowflake.
Arguments :
cleanroom_name (String) - Nom de la salle blanche dont il faut vérifier l’état.
Retourne : (String) le statut de l’analyse. Les valeurs suivantes sont possibles :
NOT_REVIEWED- L’analyse est en cours.APPROVED- L’analyse a réussi.REJECTED- L’analyse a échoué ; une nouvelle version de salle blanche ne sera pas publiée. Essayez de trouver les problèmes dans votre code et réessayez la dernière action.MANUAL_REVIEW- L’analyse nécessite un examen manuel par Snowflake. Cela peut prendre quelques jours, donc vérifiez à nouveau périodiquement.
Exemple :
CALL samooha_by_snowflake_local_db.provider.view_cleanroom_scan_status($cleanroom_name);
Journaux des requêtes¶
Utilisez les commandes suivantes pour gérer les journaux de requêtes des consommateurs. Les journaux de requêtes permettent au consommateur d’envoyer des messages au fournisseur et doivent être montés pour activer des fonctionnalités telles que les requêtes de modèles personnalisés des consommateurs, l’approbation par les consommateurs des requêtes exécutées par le fournisseur et l’exécution automatique inter-Cloud.
mount_request_logs_for_all_consumers¶
- Schéma:
 PROVIDER
Description : permet aux fournisseurs d’accéder aux requêtes du consommateur. Vous devez monter les journaux des requêtes pour prendre en charge diverses fonctionnalités, notamment les requêtes de modèles personnalisés des consommateurs, l’approbation des consommateurs des requêtes exécutées par les fournisseurs et l’exécution automatique inter-Cloud.
Cela monte les journaux de requêtes uniquement pour les consommateurs qui ont déjà installé la salle blanche spécifiée. Si un consommateur installe une salle blanche après que le fournisseur a appelé cette procédure, le fournisseur doit appeler à nouveau cette procédure.
Arguments :
cleanroom_name (String) - Nom de la salle blanche pour laquelle les journaux de requête doivent être montés.
Retourne : (table) une table de consommateurs, avec le statut de montage du journal des requêtes pour chacun. Si un consommateur s’est vu attribuer l’accès à une salle blanche, mais qu’il n’a pas encore installé la salle blanche, l’état est décrit comme en attente, et vous devez appeler mount_request_logs_for_all_consumers à nouveau après avoir installé la salle blanche.
Exemple :
CALL samooha_by_snowflake_local_db.provider.mount_request_logs_for_all_consumers($cleanroom_name);
view_request_mount_status_for_all_consumers¶
- Schéma:
 PROVIDER
Description : indique le statut de montage des journaux de requêtes pour tous les consommateurs de la salle blanche spécifiée. Seuls les consommateurs qui ont été inclus dans un appel vers provider.mount_request_logs_for_all_consumers sont affichés. Les journaux de requêtes permettent de transmettre des messages du consommateur au fournisseur.
Arguments :
cleanroom_name (String) - Nom de la salle blanche.
Retourne : (Table) - Une table de consommateurs et le statut de montage du journal des requêtes de chaque consommateur.
Exemple :
CALL samooha_by_snowflake_local_db.provider.view_request_mount_status_for_all_consumers($cleanroom_name);
view_request_logs¶
- Schéma:
 PROVIDER
Description : affiche les journaux de requêtes envoyées par les consommateurs dans cette salle blanche. Seules les requêtes des consommateurs qui ont été incluses dans un appel précédent réussi vers mount_request_logs_for_all_consumers sont affichées.
Arguments :
cleanroom_name (String) - Nom de la salle blanche pour laquelle les journaux de requêtes doivent être vérifiés.
Retourne : (Table) les requêtes envoyées par le consommateur au fournisseur dans la salle blanche spécifiée.
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 du fournisseur . En savoir plus sur la confidentialité différentielle.
set_privacy_settings¶
- Schéma:
 PROVIDER
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) Localisateur de compte d’un ou plusieurs consommateurs, dans une liste délimitée par des virgules.privacy_settings- (Object) Un objet JSON qui spécifie des 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 });
is_dp_enabled_on_account¶
- Schéma:
 PROVIDER
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();
suspend_account_dp_task¶
- Schéma:
 PROVIDER
Description : désactive la tâche qui surveille et applique les budgets de confidentialité différentielle. 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, du bruit sera toujours ajouté aux requêtes des utilisateurs, modèles ou salles blanches où la confidentialité différentielle est spécifiée, mais les limites budgétaires ne seront pas appliquées et vous n’aurez pas à subir des coûts liés à la confidentialité différentielle. En savoir plus sur la gestion de la confidentialité différentielle.
Arguments : Aucun
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.provider.suspend_account_dp_task();
resume_account_dp_task¶
- Schéma:
 PROVIDER
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
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.provider.resume_account_dp_task();
Commandes Snowpark Container Services¶
Ces procédures vous permettent d”Utiliser Snowpark Container Services à l’intérieur d’une salle blanche.
load_service_into_cleanroom¶
- Schéma:
 PROVIDER
Description : crée ou met à jour un service de conteneur dans une salle blanche. L’appel de cette procédure met à jour le numéro de correctif de la salle blanche. Par conséquent, vous devez 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 alors appeler consumer.start_or_update_service pour voir les mises à jour.
Apprenez à utiliser Snowpark Container Services dans une salle blanche.
Arguments :
cleanroom_name (String) - Nom de la salle blanche.
service_spec- (String) Une spécification YAML pour le service, enracinée au niveau de l’élémentspec.service_config- (String) Une configuration de format YAML pour le service. Les propriétés suivantes sont prises en charge :default_service_options- Un tableau facultatif de valeurs par défaut au niveau du 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, autorise le consommateur à voir les journaux de service. La valeur par défaut est FALSE.
functions- Un tableau de fonctions exposées par le service. Chaque définition de fonction correspond à la définition des fonctions 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 :nameargsreturnsendpointpathmax_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
$$);
Gestion de l’environnement¶
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.
manage_datastats_task_on_account¶
- Schéma:
 PROVIDER
Description : active ou désactive la tâche d’arrière-plan qui calcule les statistiques de la salle blanche. La tâche s’exécute par défaut, mais vous pouvez la désactiver pour réduire vos coûts. Pour gérer la tâche, tous les collaborateurs doivent appeler la version provider ou consumer appropriée de cette procédure avec la même valeur.
Arguments :
enable- (Boolean) TRUE pour activer la tâche, FALSE pour désactiver la tâche.
Retourne : Message de réussite.
Exemple :
-- Disable the task in this account.
CALL samooha_by_snowflake_local_db.provider.manage_datastats_task_on_account(FALSE);
enable_local_db_auto_upgrades¶
- Schéma:
 LIBRARY
Description : active la tâche qui met automatiquement à niveau l’environnement Snowflake Data Clean Rooms lorsque de nouvelles procédures ou fonctionnalités sont publiées (la tâche est samooha_by_snowflake_local_db.admin.expected_version_task.) Appelez cette procédure pour automatiser les mises à niveau, plutôt que d’appeler library.apply_patch avec chaque nouvelle version.
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’environnement des salles blanches sur votre système.
Arguments : Aucun
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.library.enable_local_db_auto_upgrades();
disable_local_db_auto_upgrades¶
- Schéma:
 LIBRARY
Description : désactive la tâche qui met automatiquement à niveau l’environnement Snowflake Data Clean Rooms lorsque de nouvelles versions sont publiées. Si vous désactivez les mises à niveau automatiques, vous devez appeler library.apply_patch avec chaque nouvelle version.
Arguments : Aucun
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.library.disable_local_db_auto_upgrades();
apply_patch¶
- Schéma:
 LIBRARY
Description : met à jour l’environnement de vos salles blanches, en activant de nouvelles fonctionnalités et des corrections dans votre environnement. Appelez cette opération lorsqu’une nouvelle version de l’environnement des salles blanches a été publiée. (Cela se produit généralement chaque semaine ; voir les entrées des salles blanches dans Mises à jour récentes des fonctionnalités.) Cette procédure met à jour samooha_by_snowflake_local_db.
Vous pouvez automatiser les mises à jour des correctifs en appelant library.enable_local_db_auto_upgrades.  Nous vous recommandons d’activer les mises à jour automatiques.
Arguments : Aucun
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.library.apply_patch();
patch_cleanroom¶
- Schéma:
 PROVIDER
Description : met à jour la salle blanche spécifiée avec la dernière version, en activant de nouvelles fonctionnalités et des correctifs pour cette salle blanche. En règle générale, vous n’appelez cette fonction que lorsque l’assistance de Snowflake vous demande de l’appeler.
Le fournisseur doit appeler library.patch_cleanroom avant que le consommateur n’appelle library.patch_cleanroom.  Sinon, il n’y a pas de correctif à appliquer.
Arguments :
cleanroom_name (String) : nom de la salle blanche sur laquelle appliquer le correctif.
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.provider.patch_cleanroom($cleanroom_name);
dcr_health.dcr_tasks_health_check¶
Description : affiche des informations sur les tâches de salle blanche en cours d’exécution ou récemment arrêtées.
Arguments : Aucun
Renvoie : (Table) informations sur les tâches de salle blanche, y compris la planification, le nom de l’entrepôt et la taille de l’entrepôt.
Exemple :
CALL samooha_by_snowflake_local_db.dcr_health.dcr_tasks_health_check();
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.
request_laf_cleanroom_requests (obsolète)¶
- Schéma:
 PROVIDER
Cette fonction est désormais obsolète. appeler provider.mount_request_logs_for_all_consumers à la place.
Description : configure le partage de requêtes inter-Cloud du côté du fournisseur pour un consommateur donné. Un administrateur de compte doit d’abord activer l’exécution 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 l’état de la requête. Lorsque l’état atteint FULFILLED, vous pouvez appeler provider.mount_laf_cleanroom_requests_share. Il peut s’écouler 10 minutes avant d’atteindre l’état FULFILLED.
Arguments :
cleanroom_name (String) - Nom de la salle blanche pour activer le partage de requêtes inter-Cloud.
consumer_locator- (String) Localisateur de compte du consommateur pour lequel activer le partage des requêtes inter-Cloud.
Renvoie : (String) Message d’état de la requête : CREATED, PENDING, FULFILLED, FAILURE. « FAILURE, liste introuvable » signifie que le consommateur n’a pas installé la salle blanche (ou qu’il l’a désinstallée).
Exemple :
CALL samooha_by_snowflake_local_db.provider.request_laf_cleanroom_requests(
  $cleanroom_name, $consumer_locator);
enable_laf_for_cleanroom (obsolète)¶
- Schéma:
 PROVIDER
Cette fonction est maintenant obsolète, et sa fonctionnalité est gérée par provider.create_or_update_cleanroom_listing.
Description : active l”l’exécution automatique inter-Cloud, 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 compte 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 avec le rôle ACCOUNTADMIN doit activer l’exécution automatique inter-Cloud dans votre compte Snowflake avant de pouvoir exécuter cette procédure. En savoir plus sur l’exécution automatique inter-Cloud.
La collaboration avec les consommateurs d’autres régions entraîne des coûts supplémentaires. Pour plus d’informations sur ces coûts, consultez Coûts de l’exécution automatique inter-Cloud.
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.
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.provider.enable_laf_for_cleanroom($cleanroom_name);
provider.view_ui_registration_request_log – DEPRECATED¶
- Schéma:
 PROVIDER
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’UI des salles blanches.
Description : permet de voir la liste des requêtes émises à partir du compte pour enregistrer les salles blanches dans l’UI des salles blanches. Chaque requête est associée à un ID qui peut être utilisé conjointement avec la procédure view_ui_registration_log pour voir l’état 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 :
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.provider.view_ui_registration_request_log();
register_table_or_view – Obsolète¶
- Schéma:
 LIBRARY
Attention
Cette commande est désormais obsolète. Utilisation de register_objects à la place.
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)
Retourne : (String) message de réussite.
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);
register_table – Obsolète¶
- Schéma:
 LIBRARY
Attention
Cette commande est désormais obsolète. Utilisation de register_objects à la place.
Description: Similaire à 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 library.register_managed_access_table à la place.
Arguments : table_name (array)
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.library.register_table(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
register_managed_access_table – Obsolète¶
- Schéma:
 LIBRARY
Attention
Cette commande est désormais obsolète. Utilisation de register_objects à la place.
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)
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.library.register_managed_access_table(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
register_view – Obsolète¶
- Schéma:
 LIBRARY
Attention
Cette commande est désormais obsolète. Utilisation de register_objects à la place.
Description : similaire à register_db, mais opère au niveau d’un 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 library.register_managed_access_view à la place.
Arguments : view_name (array)
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.library.register_view(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
register_managed_access_view – Obsolète¶
- Schéma:
 LIBRARY
Attention
Cette commande est désormais obsolète. Utilisation de register_objects à la place.
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)
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.library.register_managed_access_view(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
unregister_table_or_view – Obsolète¶
- Schéma:
 LIBRARY
Attention
Cette commande est désormais obsolète. Utilisation de unregister_objects à la place.
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)
Retourne : (String) message de réussite.
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);
unregister_table – Obsolète¶
- Schéma:
 LIBRARY
Attention
Cette commande est désormais obsolète. Utilisation de unregister_objects à la place.
Description: Similaire à 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 library.unregister_managed_access_table à la place.
Arguments : table_name (array)
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.library.unregister_table(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
unregister_managed_access_table – Obsolète¶
- Schéma:
 LIBRARY
Attention
Cette commande est désormais obsolète. Utilisation de unregister_objects à la place.
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)
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.library.unregister_managed_access_table(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
unregister_view – Obsolète¶
- Schéma:
 LIBRARY
Attention
Cette commande est désormais obsolète. Utilisation de unregister_objects à la place.
Description : similaire à unregister_db, mais opère au niveau d’un 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 library.unregister_managed_access_view à la place.
Arguments : view_name (array)
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.library.unregister_view(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
unregister_managed_access_view – Obsolète¶
- Schéma:
 LIBRARY
Attention
Cette commande est désormais obsolète. Utilisation de unregister_objects à la place.
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)
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.library.unregister_managed_access_view(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
create_cleanroom_listing – Obsolète¶
- Schéma:
 PROVIDER
Attention
Cette commande est désormais obsolète. Utilisation de create_or_update_cleanroom_listing à la place.
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 à l’aide du format orgname.account_name de son URL de compte. Le consommateur peut trouver cette chaîne en suivant les instructions dans Recherche de l’organisation et du nom de compte pour un compte.
Note
Pour utiliser cette procédure, vous devez avoir ensemble la directive de version. Pour plus d’informations, consultez provider.set_default_release_directive.
Arguments : cleanroom_name (string), consumer_account_name (string)
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.provider.create_cleanroom_listing($cleanroom_name, <consumerorg.consumeracct>);
register_cleanroom_in_ui – DEPRECATED¶
- Schéma:
 PROVIDER
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’UI des salles blanches.
Description : enregistre une salle blanche en vue de son utilisation dans l’UI des salles blanches par le consommateur. La salle blanche est créée et configurée par le fournisseur à l’aide des APIs du développeur. Cette commande enregistre ensuite la salle blanche dans l’UI des salles blanches pour que les consommateurs puissent installer, ajouter leur table et exécuter toutes les analyses personnalisées que vous avez ajoutées sans avoir besoin d’utiliser les APIs du développeur. Les consommateurs travaillent avec la salle blanche entièrement via l’interface utilisateur de l’UI des salles blanches.
Vous pouvez appeler cette API plus d’une fois pour inclure plusieurs modèles personnalisés dans l’UI des salles blanches.
Arguments : cleanroom_name (String), template name (String), consumer_account_locator (String), user_email (String)
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.provider.register_cleanroom_in_ui($cleanroom_name, 'prod_custom_template', <CONSUMER ACCOUNT LOCATOR>, <USER_EMAIL>)