Snowflake Data Clean Rooms : guide de référence pour l’API fournisseurs

Cette page décrit les procédures utilisées par les consommateurs d’API de clean rooms pour gérer leurs clean rooms. Pour les instructions de mise en place du codage, voir Configuration du codage.

Créer, configurer et supprimer des salles blanches

provider.view_cleanrooms

Description : Liste toutes les salles blanches existantes qui ont été créées par ce compte fournisseur.

Arguments : Aucun

Retourne : (Table) Une liste des salles blanches créées par ce compte fournisseur. Les salles blanches ne doivent pas nécessairement être partagées avec les consommateurs, ni être installées ou utilisées par eux. Les salles blanches supprimées sont effacées de la base de données et n’apparaissent pas dans cette liste.

Exemple :

call samooha_by_snowflake_local_db.provider.view_cleanrooms();
Copy

provider.describe_cleanroom

Description : Obtenez un résumé des informations relatives à une salle blanche, telles que les modèles, les politiques de jointure, les politiques de colonne et les consommateurs.

Arguments :

  • cleanroom_name (string) - Nom de la salle blanche pour laquelle vous souhaitez obtenir des informations.

Retourne : (string) Résumé des métadonnées de la salle blanche.

Exemple :

call samooha_by_snowflake_local_db.provider.describe_cleanroom($cleanroom_name);
Copy

provider.cleanroom_init

Description : Crée une salle blanche avec le nom spécifié dans votre compte. L’exécution de cette procédure peut prendre une minute ou plus. La salle blanche ne sera visible dans l’application Web ou pour les collaborateurs qu’après avoir appelé create_or_update_cleanroom_listing.

Arguments :

  • cleanroom_name (string) - Nom de la salle blanche, 80 caractères maximum. Le nom comprend [A‑Z,a‑z,0‑9, ,_].

  • distribution (String, Optional) - Une des valeurs suivantes :

    • INTERNAL (Default) - La salle blanche n’est visible que par les utilisateurs de la même organisation et ne déclenche pas d’analyse de sécurité avant la modification de la version par défaut.

    • EXTERNAL - La salle blanche est prête pour la production et peut être partagée en dehors de l’organisation. La salle blanche déclenche une analyse de sécurité avant de changer la version par défaut. Si vous souhaitez modifier la distribution après la création d’une salle blanche, appelez alter package comme indiqué ici :

      alter application package samooha_cleanroom_<CLEANROOM_ID> SET DISTRIBUTION = EXTERNAL;
      
      Copy

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

-- Create an internal clean room
call samooha_by_snowflake_local_db.provider.cleanroom_init($cleanroom_name, 'INTERNAL');
Copy

provider.set_default_release_directive

Description : Spécifie la version et le correctif d’une salle blanche chargée par les collaborateurs lorsqu’ils démarrent une nouvelle session de navigateur dans l’application Web, ou accèdent à la salle blanche depuis une API. Celle-ci doit être appelée avant que la salle blanche puisse être partagée avec les consommateurs.

L’application de salle blanche crée une nouvelle version d’une salle blanche chaque fois que vous importez ou modifiez le code Python. Si vous souhaitez que les utilisateurs reçoivent la version la plus récente, appelez cette procédure en indiquant le numéro de la nouvelle version. Pour voir les versions disponibles et connaître la version par défaut actuelle, exécutez :

show versions in application package samooha_cleanroom_<CLEANROOM_ID>;
Copy

Toutes les salles blanches sont créées avec les numéros de version et de correctifs suivants :

  • version : V1_0

  • correctif : 0

Note

Si la distribution de la salle blanche est définie sur EXTERNAL, cette procédure ne peut être appelée qu’après que le contrôle de sécurité de la salle blanche est passé à l’état APPROVED. Pour connaître le statut de sécurité, appelez view_cleanrooom_scan_status.

Arguments :

  • cleanroom_name (string) - Nom de la salle blanche.

  • version (string) - Version. Doit toujours être « V1_0 ».

  • patch (string) - Numéro du correctif chargé par le consommateur. Cette valeur commence à 0, et vous devez l’incrémenter chaque fois qu’une nouvelle version de salle blanche est disponible. Vous pouvez voir les versions disponibles ci-dessus.

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

call samooha_by_snowflake_local_db.provider.set_default_release_directive($cleanroom_name, 'V1_0', '0');
Copy

provider.drop_cleanroom

Description : Supprimer la salle blanche. Les collaborateurs qui ont installé la salle blanche ne peuvent plus y accéder ni l’utiliser. La salle blanche n’apparaîtra plus dans l’application Web lors de la prochaine actualisation du navigateur.

Arguments :

  • cleanroom_name (string) - Nom de la salle blanche à supprimer.

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

call samooha_by_snowflake_local_db.provider.drop_cleanroom($cleanroom_name);
Copy

provider.enable_consumer_run_analysis

Description : Permet au consommateur d’effectuer des analyses dans la salle blanche. Cette fonction est activée par défaut dans toutes les nouvelles salles blanches, de sorte que cette procédure ne doit être exécutée que si vous avez explicitement désactivé l’analyse du cycle exécuté par les consommateurs pour une salle blanche.

Arguments :

  • cleanroom_name (string) - Nom de la salle blanche dans laquelle les analyses effectuées par les consommateurs sont autorisées.

  • consumer_accounts (Array of string) - Emplacements des comptes de tous les consommateurs pour lesquels cette fonction doit être activée. NOTE : Ces consommateurs doivent déjà avoir été ajoutés à la salle blanche.

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

call samooha_by_snowflake_local_db.provider.enable_consumer_run_analysis($cleanroom_name, ['<CONSUMER_ACCOUNT_LOCATOR_1>']); 
Copy

provider.disable_consumer_run_analysis

Description : Empêche les consommateurs spécifiés d’effectuer des analyses dans la salle blanche spécifiée. Par défaut, tous les consommateurs sont autorisés à effectuer une analyse dans une salle blanche.

Arguments :

  • cleanroom_name (string) - Salle blanche dans laquelle l’analyse du cycle du consommateur est désactivée.

  • consumer_accounts (Array of string) - Emplacements des comptes des consommateurs qui ne peuvent pas effectuer d’analyse dans cette salle blanche. NOTE : Ces consommateurs doivent déjà avoir été ajoutés à la salle blanche.

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

call samooha_by_snowflake_local_db.provider.disable_consumer_run_analysis($cleanroom_name, ['<CONSUMER_ACCOUNT_LOCATOR_1>']); 
Copy

library.is_consumer_run_enabled

Description : Vérifie si cette salle blanche autorise les analyses effectuées par les consommateurs.

Arguments :

  • cleanroom_name (string) - Nom de la salle blanche à vérifier.

Retourne : (string) Indique si cette salle blanche autorise ou non les analyses effectuées par les consommateurs.

Exemple :

call samooha_by_snowflake_local_db.library.is_consumer_run_enabled($cleanroom_name)
Copy

provider.create_or_update_cleanroom_listing

Description : Publie une nouvelle salle blanche ou met à jour une salle blanche existante. Vous devez appeler cette méthode chaque fois que vous apportez des modifications à une salle blanche afin de vous assurer que les changements sont propagés aux consommateurs.

Lorsque vous publiez une salle blanche pour la première fois, cela peut prendre un certain temps avant que la salle blanche ne soit visible dans l’application Web (jusqu’à 15 minutes).

Si vous effectuez des mises à jour dans une salle blanche sans appeler cette méthode par la suite, il n’y a aucune garantie que les changements seront propagés aux consommateurs.

Il y a une limite au nombre de clean rooms + collaborateurs que vous pouvez créer dans un seul compte. Si vous créez trop de clean room de test, vous devrez peut-être en supprimer quelques-unes pour en créer de nouvelles. Si vous avez besoin d’un nombre de clean rooms supérieur à la capacité de votre compte, contactez le support Snowflake.

Note

Vous devez définir la directive de version au moins une fois avant d’appeler cette procédure. Pour plus d’informations, voir provider.set_default_release_directive.

Arguments :

  • cleanroom_name (string) - Nom de la salle blanche à publier ou à mettre à jour.

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

call samooha_by_snowflake_local_db.provider.create_or_update_cleanroom_listing($cleanroom_name);
Copy

Enregistrer et annuler l’enregistrement des données

Utilisez la commande suivante pour enregistrer et annuler l’enregistrement des bases de données, des schémas et des objets. Les tables et les vues doivent être enregistrées avant de pouvoir être liées à la salle blanche. Si vous enregistrez une base de données ou un schéma, tous les objets de cette base de données ou de ce schéma sont enregistrés.

En savoir plus sur l’enregistrement des données

provider.register_db

Description : Permet à une base de données et à tous les objets qu’elle contient d’être liés à des salles blanches individuelles dans cet environnement de salle blanche. Cette procédure accorde les privilèges de USAGE et SELECT sur la base de données à SAMOOHA_APP_ROLE, qui est utilisée par l’environnement de la salle blanche pour accéder aux données.

Vous devez avoir l’accès à la base de données à l’adresse MANAGE GRANTS pour pouvoir appeler cette procédure. D’autres fournisseurs de cet environnement de salle blanche peuvent ensuite lier ces objets à leurs propres salles blanches sans avoir besoin de leur propre privilège SELECT.

En savoir plus sur l’enregistrement des données

Important

Cette procédure n’enregistre pas les objets créés après son appel. Si de nouveaux objets ont été ajoutés à la base de données et que vous souhaitez les enregistrer également, vous devez rappeler cette procédure.

Arguments :

  • db_name (string) - Nom de la base de données à enregistrer.

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

USE ROLE <ROLE_WITH_MANAGE GRANTS>;
call samooha_by_snowflake_local_db.provider.register_db('SAMOOHA_SAMPLE_DATABASE');
Copy

library.register_schema

Description : Similaire à register_db, mais opère au niveau du schéma. Vous devez disposer du privilège MANAGE GRANTS sur le schéma pour appeler cette procédure.

Cette procédure accorde à USAGE et SELECT des privilèges sur le schéma de SAMOOHA_APP_ROLE, qui est utilisé par l’environnement de la salle blanche pour accéder aux données.

Si vous souhaitez enregistrer un schéma d’accès géré (c’est-à-dire un schéma créé à l’aide du paramètre WITH MANAGED ACCESS), utilisez plutôt library.register_managed_access_schema.

Important

Cette procédure n’enregistre pas les objets créés après son appel. Si de nouveaux objets ont été ajoutés à la base de données et que vous souhaitez les enregistrer également, vous devez rappeler cette procédure.

Arguments :

  • schema_name (Array of string) - Un tableau d’un ou plusieurs noms de schémas entièrement qualifiés à enregistrer.

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

USE ROLE <ROLE_WITH_MANAGE GRANTS>;
call samooha_by_snowflake_local_db.library.register_schema(['SAMOOHA_SAMPLE_DATABASE.DEMO']);
Copy

library.register_managed_access_schema

Description : Semblable à register_schema, mais enregistre un schéma créé à l’aide du paramètre WITH MANAGED ACCESS. Vous devez disposer des privilèges MANAGE GRANTS sur le schéma pour appeler cette procédure.

Cette procédure accorde des privilèges d’utilisation sur le schéma géré à SAMOOHA_APP_ROLE, qui est utilisé par l’environnement de la salle blanche pour accéder aux données.

Important

Cette procédure n’enregistre pas les objets créés après son appel. Si de nouveaux objets ont été ajoutés à la base de données et que vous souhaitez les enregistrer également, vous devez rappeler cette procédure.

Arguments :

  • schema_name (Array of string) - Un tableau d’un ou plusieurs noms de schémas pleinement qualifiés.

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

USE ROLE <ROLE_WITH_MANAGE GRANTS>;
call samooha_by_snowflake_local_db.library.register_managed_access_schema(['SAMOOHA_SAMPLE_DATABASE.DEMO']);
Copy

library.register_objects

Description : Accorde l’accès en salle blanche aux tables et aux vues de tous types, les rendant ainsi disponibles pour les lier dans la salle blanche via l’appel à provider.link_datasets. Vous pouvez enregistrer des groupes d’objets plus larges en appelant library.register_schema, library.register_managed_access_schema ou provider.register_db.

Cette procédure accorde des privilèges d’utilisation sur l’objet à SAMOOHA_APP_ROLE, qui est utilisé par l’environnement de la salle blanche pour accéder aux données.

Vous devez disposer du privilège MANAGE GRANTS sur l’objet pour appeler cette procédure. Cette procédure ne peut pas être utilisée pour enregistrer une base de données.

Si vous enregistrez une vue basée sur un objet d’une autre base de données, vous devez également accorder à l’application native l’autorisation d’accéder à l’objet source.

Arguments :

  • object_names (array) - Tableau de noms d’objets pleinement qualifiés. Ces objets peuvent ensuite être reliés à la salle blanche.

Renvoie : (string) Message de réussite ou d’échec.

Exemples

Pour enregistrer une table et une vue :

USE ROLE <ROLE_WITH_MANAGE GRANTS>;
call samooha_by_snowflake_local_db.library.register_objects(
    ['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS','SAMOOHA_SAMPLE_DATABASE.INFORMATION_SCHEMA.FIELDS']);
Copy

library.enable_external_tables_on_account

Description : activez l’utilisation de tables Iceberg ou externes dans toutes les clean rooms de ce compte. Doit être appelé par un ACCOUNTADMIN dans les comptes fournisseur et consommateur pour permettre à Iceberg ou à des tables externes d’être liés par l’un ou l’autre des comptes. Pour limiter cette possibilité à des clean rooms spécifiques de ce compte, appelez plutôt enable_external_tables_for_cleanroom.

En cas de succès et si tous les scans de sécurité passent, cela génère une nouvelle version de patch de la clean room.

Arguments : Aucun

Renvoie : (string) Message de réussite ou d’échec. En cas de succès, il déclenche une analyse de sécurité et fournit également le numéro du correctif qui sera généré si l’analyse de sécurité réussit.

Exemple :

USE ROLE ACCOUNTADMIN;

CALL samooha_by_snowflake_local_db.library.enable_external_tables_on_account();
Copy

provider.enable_external_tables_for_cleanroom

Description : Permet aux tables Iceberg ou externes d’être liées à la clean room spécifiée dans ce compte par le fournisseur. Pour autoriser Iceberg et les tables externes pour toutes les clean rooms de ce compte, appelez plutôt enable_external_tables_on_account.

En cas de succès, cette opération générera une nouvelle version de patch de la clean room.

Arguments :

  • cleanroom_name (String) - Le nom de la clean room dans laquelle le fournisseur peut lier des tables Iceberg ou externes.

Renvoie : (string) Message de réussite ou d’échec. En cas de succès, il déclenche une analyse de sécurité et fournit également le numéro du correctif qui sera généré si l’analyse de sécurité réussit.

Exemple :

CALL samooha_by_snowflake_local_db.provider.enable_external_tables_for_cleanroom(
    $cleanroom_name);
Copy

library.unregister_db

Description : Annule la procédure register_db et supprime les subventions au niveau de la base de données accordées au rôle SAMOOHA_APP_ROLE et à l’application native Snowflake Data Clean Room. Cela permet également de supprimer toute base de données du sélecteur dans l’application Web.

Arguments :

  • db_name (string) - Nom de la base de données dont il faut annuler l’enregistrement.

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

USE ROLE <ROLE_WITH_MANAGE GRANTS>;
call samooha_by_snowflake_local_db.library.unregister_db('SAMOOHA_SAMPLE_DATABASE');
Copy

library.unregister_schema

Description : Annule l’enregistrement d’un schéma, ce qui empêche les utilisateurs de lier ses tables et ses vues dans la salle blanche.

Si vous souhaitez annuler l’enregistrement d’un schéma d’accès géré (c’est-à-dire un schéma créé à l’aide du paramètre WITH MANAGED ACCESS), utilisez plutôt library.unregister_managed_access_schema.

Arguments :

  • schema_name (array) - Schémas à désenregistrer.

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

USE ROLE <ROLE_WITH_MANAGE GRANTS>;
call samooha_by_snowflake_local_db.library.unregister_schema(['SAMOOHA_SAMPLE_DATABASE.DEMO']);
Copy

library.unregister_managed_access_schema

Description : Semblable à unregister_schema, mais annule l’enregistrement d’un schéma créé à l’aide du paramètre WITH MANAGED ACCESS.

Arguments :

  • schema_name (array) - Schémas gérés à désenregistrer.

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

USE ROLE <ROLE_WITH_MANAGE GRANTS>;
call samooha_by_snowflake_local_db.library.unregister_managed_access_schema(['SAMOOHA_SAMPLE_DATABASE.DEMO']);
Copy

library.unregister_objects

Description : Révoque l’accès en salle blanche aux tables et vues de tous types. Les objets ne seront plus disponibles pour les utilisateurs dans les salles blanches gérées par ce compte.

Arguments :

  • object_names (array) - Tableau de noms d’objets pleinement qualifiés pour lesquels l’accès doit être révoqué.

Renvoie : (string) Message de réussite ou d’échec.

Exemples

Pour annuler l’enregistrement d’une table et d’une vue :

USE ROLE <ROLE_WITH_MANAGE GRANTS>;
call samooha_by_snowflake_local_db.library.unregister_objects(
    ['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS','SAMOOHA_SAMPLE_DATABASE.INFORMATION_SCHEMA.FIELDS']);
Copy

Gérer les politiques

Les politiques de jointure dans les clean rooms de données ne sont pas les mêmes que les politiques de jointure à l’échelle de Snowflake. Les politiques de jointure pour les clean rooms ne sont définies qu’en utilisant cette procédure ; les politiques de jointure définies sur des tables en dehors des clean rooms sont ignorées par les salles blanches.

En savoir plus sur les politiques de table dans les clean rooms.

provider.view_join_policy

Description : Affiche les politiques de jointure actuellement appliquées à la salle blanche.

Arguments :

  • cleanroom_name (string) - Nom de la salle blanche à interroger.

Retourne : (Table) Liste des lignes joignables sur toutes les tables ou vues de la salle blanche.

Exemple :

call samooha_by_snowflake_local_db.provider.view_join_policy($cleanroom_name);
Copy

provider.set_join_policy

Description : Spécifie les colonnes sur lesquelles le consommateur peut se joindre lors de l’exécution de modèles dans cette salle blanche. Notez que la politique est replace only, de sorte que si la procédure est appelée à nouveau, la politique de jointure précédemment définie est entièrement remplacée par la nouvelle.

Important

Les politiques de jointure sont appliquées uniquement lorsque le modèle applique les filtres join_policy ou join_and_column_policy JinjaSQL aux lignes de jointure.

Note

Les politiques de jointure dans les salles blanches de données ne sont pas les mêmes que les politiques de jointure à l’échelle de Snowflake. Les politiques de jointure pour les salles blanches ne sont définies qu’en utilisant cette procédure ; les politiques de jointure définies sur des tables en dehors des salles blanches sont ignorées par les salles blanches.

Arguments :

  • cleanroom_name (string) - Nom de la salle blanche où la politique de jointure doit être appliquée.

  • table_and_col_names (Array of string) - Nom de colonne entièrement qualifié au format database_name.schema_name.table_or_view_name:column_name. Notez l’utilisation correcte de . par rapport aux marques

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

call samooha_by_snowflake_local_db.provider.set_join_policy($cleanroom_name, 
  ['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:HASHED_EMAIL', 'MYDB.MYSCH.EXPOSURES:HASHED_EMAIL']);
Copy

Gérer les modèles de fournisseurs

Utilisez les commandes suivantes pour ajouter les modèles/analyses pris en charge dans cette salle blanche.

provider.view_added_templates

Description : Permet de voir les modèles ajoutés par le fournisseur dans la salle blanche. Il n’existe pas de méthode pour dresser la liste de tous les modèles dans toutes les salles blanches pour ce fournisseur.

Arguments :

  • cleanroom_name (string) - Salle blanche à interroger.

Retourne : (Table) - Liste des modèles disponibles dans la salle blanche spécifiée, avec des détails sur chaque modèle.

Exemple :

call samooha_by_snowflake_local_db.provider.view_added_templates($cleanroom_name);
Copy

provider.view_template_definition

Description : Affiche les informations relatives à un modèle spécifique. Les consommateurs qui consultent un modèle de fournisseur doivent utiliser consumer.view_template_definition.

Arguments :

  • cleanroom_name (string) - Nom de la salle blanche avec ce modèle.

  • template_name (string) - Nom du modèle sur lequel la requête d’informations porte.

Retourne : La définition du modèle (string)

Exemple :

call samooha_by_snowflake_local_db.provider.view_template_definition($cleanroom_name, 'prod_overlap_analysis');
Copy

provider.add_templates

Description : Ajoute une liste d’annonces à la salle blanche. Cela ne remplace pas la liste de modèles existante.

Arguments :

  • cleanroom_name (string) - Nom de la salle blanche à laquelle ajouter des modèles.

  • template_names (Array of string) - Nom des modèles à ajouter. Il s’agit uniquement de modèles fournis par Snowflake. Pour ajouter un modèle personnalisé, appelez add_custom_sql_template. Les noms de modèles fournis par Snowflake comprennent « prod_overlap_analysis » et « prod_provider_data_analysis ».

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

call samooha_by_snowflake_local_db.provider.add_templates($cleanroom_name, ['prod_overlap_analysis']);
Copy

provider.clear_template

Description : Supprime un modèle spécifié de la salle blanche.

Arguments :

  • cleanroom_name (string) - Nom de la salle blanche.

  • template_name (string) - Nom du modèle à supprimer de cette salle blanche.

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

call samooha_by_snowflake_local_db.provider.clear_template($cleanroom_name, 'prod_custom_template');
Copy

provider.clear_all_templates

Description : Supprime tous les modèles qui ont été ajoutés à la salle blanche.

Arguments :

  • cleanroom_name (string) - Nom de la salle blanche dont il faut retirer tous les modèles.

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

call samooha_by_snowflake_local_db.provider.clear_all_templates($cleanroom_name);
Copy

provider.set_column_policy

Description : Définit les colonnes des données qui sont disponibles pour un modèle spécifié dans la salle blanche en tant que lignes non jointives. Les colonnes doivent être déclarées ici ou dans set_join_policy pour être utilisées dans la salle blanche. Les colonnes listées ici peuvent être utilisées n’importe où dans le modèle, sauf en tant que colonne de jointure. Une colonne ne peut pas être listée à la fois dans une politique de colonne et dans une politique de jointure.

Par défaut, la politique de colonne d’une table est vide, ce qui signifie qu’aucune colonne n’est visible dans les résultats.

Cette procédure a le comportement replace entirely, de sorte que chaque fois qu’elle est appelée, elle écrase entièrement la liste des colonnes précédente.

Notez que les contrôles de la politique des colonnes sont effectués en analysant la requête SQL qui doit être exécutée sur les données afin de détecter toute colonne non autorisée. Les requêtes comportant des caractères génériques peuvent ne pas être prises en compte par ces contrôles, et il convient de faire preuve de discernement lors de la conception du modèle d’analyse. Si certaines colonnes ne doivent jamais faire l’objet d’une requête, envisagez de créer une vue de votre table source qui élimine ces colonnes sensibles, et créez un lien dans cette vue à la place.

Arguments :

  • cleanroom_name (string) - Nom de la salle blanche.

  • analysis_and_table_and_cols(Array of string) - Tableau des colonnes pouvant être utilisées par les modèles. Le format est le suivant : template_name:full_table_name:column_name

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

call samooha_by_snowflake_local_db.provider.set_column_policy($cleanroom_name,
['prod_overlap_analysis:SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:STATUS',
 'prod_overlap_analysis:SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:AGE_BAND',
 'prod_overlap_analysis:SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:DAYS_ACTIVE']);

 -- Same example, but using a variable name for the template.
call samooha_by_snowflake_local_db.provider.set_column_policy($cleanroom_name,
[$template_name || ':SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:STATUS',
 $template_name || ':SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:AGE_BAND',
 $template_name || ':SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:DAYS_ACTIVE']);
Copy

provider.view_column_policy

Description : Liste les politiques de colonne actuellement actives dans la salle blanche. Une politique de colonne indique quelles colonnes de table peuvent être affichées dans quels modèles.

**Arguments :**cleanroom_name (String)

Retourne : (Table) Quelles colonnes peuvent être utilisées dans quels modèles.

Exemple :

call samooha_by_snowflake_local_db.provider.view_column_policy($cleanroom_name);
Copy

provider.add_custom_sql_template

Description : Ajoute un modèle personnalisé JinjaSQL dans la salle blanche. Cela permet au consommateur d’appeler le modèle. Apprenez à créer des modèles personnalisés

Vous pouvez appeler cette API plusieurs fois pour ajouter plusieurs modèles personnalisés à la salle blanche. La procédure écrase tout modèle précédent portant le même nom dans cette salle blanche.

Si le modèle est utilisé par le consommateur pour [activer les résultats au fournisseur] (/user-guide/cleanrooms/activation), la commande doit répondre aux exigences suivantes :

  • Le nom du modèle personnalisé doit commencer par la chaîne activation. Par exemple, activation_custom_template.

  • Le modèle doit créer une table qui commence par cleanroom.activation_data_. Par exemple, CREATE TABLE cleanroom.activation_data_analysis_results AS ... .

  • Le modèle doit renvoyer la partie unique du nom de la table créée dans la définition, qui est la chaîne ajoutée à cleanroom.activation_data_. Par exemple, return 'data_analysis_results'.

Arguments :

  • cleanroom_name (string) - Nom de la salle blanche à laquelle ce modèle est appliqué.

  • template_name (string) - Nom du modèle. Il doit s’agir de lettres minuscules, de chiffres, d’espaces ou de traits de soulignement. Les modèles d’activation doivent avoir un nom commençant par « activation ».

  • template (string) - Le modèle JinjaSQL.

  • sensitivity (Float, Optional) - Si la confidentialité différentielle est activée pour cette clean room, elle contrôle la quantité de bruit de confidentialité différentielle appliquée aux données renvoyées par ce modèle. Doit être un nombre supérieur à 0. La valeur par défaut est 1.0. La tâche de confidentialité différentielle doit être exécutée dans cette clean room pour que cet argument ait un effet.

  • consumer_locators (Array of string, Optional) - Un tableau d’un ou plusieurs localisateurs de comptes. S’il est présent, ce modèle sera ajouté à la salle blanche uniquement pour ces comptes. Vous pouvez modifier cette liste ultérieurement en annonçant provider.restrict_template_options_to_consumers. Si vous ne spécifiez pas de liste de consommateurs, tous les consommateurs peuvent utiliser le modèle personnalisé dans la salle blanche spécifiée.

  • is_obfuscated (Boolean, Optional) - Si TRUE, les consommateurs ne peuvent pas voir le corps du modèle. Notez que vous devez utiliser Snowflake Enterprise Edition ou une version plus récente pour exécuter un modèle obscurci. Si ce modèle est utilisé pour une analyse gérée par le fournisseur, le consommateur doit approuver à nouveau la requête d’analyse chaque fois que vous modifiez l’état is_obfuscated. is_obfuscated ne peut pas être utilisé en même temps que sensitivity.

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

call samooha_by_snowflake_local_db.provider.add_custom_sql_template(
    $cleanroom_name, 'prod_custom_template', 
    $$
select 
    identifier({{ dimensions[0] | column_policy }}) 
from 
    identifier({{ my_table[0] }}) c 
    inner join 
    identifier({{ source_table[0] }}) p 
    on 
        c.identifier({{ consumer_id  }}) = identifier({{ provider_id | join_policy }}) 
    {% if where_clause %} where {{ where_clause | sqlsafe | join_and_column_policy }} {% endif %};
    $$);
Copy

provider.add_ui_form_customizations

Description : Définit une forme de personnalisation pour un modèle dans une clean room lorsque la clean room est exécutée dans l’application web. Ceci est utile pour permettre aux consommateurs de choisir les paramètres du modèle, tels que les tables ou les colonnes. Vous devez au moins spécifier des valeurs pour display_name, description, et methodology dans l’argument template_information.

Il est recommandé de placer les éléments de sélection de table avant les éléments de sélection de colonne, en particulier lorsque les sélecteurs de colonne se remplissent sur la base de la sélection de table.

Vous devez mettre à jour la clean room après avoir appelé cette fonction. Si vous n’appelez pas provider.create_or_update_cleanroom_listing après avoir mis à jour l’UI, les collaborateurs ne verront aucune mise à jour.

Arguments :

  • cleanroom_name (string) : Le nom de la salle blanche qui contient ce modèle. La forme soumise s’applique uniquement au modèle spécifié dans la salle blanche spécifiée.

  • template_name (string) : Nom du modèle auquel s’applique cette UI. Il ne s’agit pas du titre visible par l’utilisateur, qui est spécifié à l’aide du champ template_information.display_name.

  • template_information (Dict) : Informations affichées à l’utilisateur dans l’UI. Contient les champs suivants :

    • display_name (Requis) : Nom d’affichage du modèle dans l’application Web.

    • description (Requis) : Description du modèle.

    • méthodologie(Requis) : Description de la manière dont le consommateur doit utiliser la forme pour exécuter une analyse.

    • warehouse_hints (Objet) : Recommande le type d’entrepôt à utiliser pour effectuer l’analyse. Il s’agit d’un objet comportant les champs suivants :

      • warehouse_size : Voir warehouse_size dans CREATE WAREHOUSE pour les valeurs valides.

      • snowpark_optimized (Boolean) : Indique s’il faut utiliser un [entrepôt optimisé pour Snowpark pour traiter la requête. Pour la plupart des cas d’utilisation de machine learning, Snowflake recommande TRUE.

    • render_table_dropdowns (Object) : Indique s’il faut afficher les listes déroulantes par défaut qui permettent à l’utilisateur de sélectionner les tables du fournisseur et/ou du consommateur à utiliser dans la requête. Il s’agit d’un objet comportant les champs suivants :

      • render_consumer_table_dropdown : (Boolean, Default = TRUE) Si TRUE, afficher le sélecteur de table consommateur par défaut. Si FALSE, cacher le sélecteur de tables des consommateurs. Le modèle peut accéder aux valeurs choisies sous forme de liste à l’aide de la variable de modèle my_table.

      • render_provider_table_dropdown : (Boolean, Default = TRUE) Si TRUE, afficher le sélecteur de table du fournisseur par défaut. Si FALSE, cacher le sélecteur de tables du fournisseur. Le modèle peut accéder aux valeurs choisies sous forme de liste à l’aide de la variable de modèle source_table.

    • activation_template_name: (String) Nom d’un modèle d’activation dans cette clean room. Utilisez le nom du modèle sans préfixe cleanroom. En savoir plus sur les modèles d’activation.

    • enabled_activations: (String) Quel type d’activités sont activées. Valeurs possibles : consommateur, fournisseur. Pas de valeur par défaut ; doit être fourni si activation_template_name est spécifié.

  • details (Dict) : Définit les champs d’entrée configurables par l’utilisateur qui transmettent des valeurs au modèle. Il s’agit d’un dictionnaire de paires clé/objet, chaque paire représentant un élément d’UI configurable par l’utilisateur. La clé est un nom de variable dans le modèle JinjaSQL. La valeur est un objet qui définit l’élément d’UI. Chaque objet peut comporter les champs suivants :

    <field_name>: {
      ['display_name': <string>,]
      ['order': <number>,]
      ['description': <string>,]
      ['type': <enum>,]
      ['default': <value>,]
      ['choices': <string array>,]
      ['infoMessage': <string>,]
      ['size': <enum>,]
      ['required': <bool>,]
      ['group': <string>,]
      ['references': <array of string>,]
      ['provider_parent_table_field':  <string>,]
      ['consumer_parent_table_field': <string>]
    }
    
    Copy
    • display_name: Texte de l’étiquette pour cet élément dans la forme d’UI.

    • ordre: ordre basé sur 1 dans lequel cet élément doit être affiché dans la forme. S’il n’est pas spécifié, les éléments seront rendus dans l’ordre dans lequel ils apparaissent dans l’objet.

    • description: Une description de l’objet de l’élément, indiquée sous l’étiquette. Fournissez ici une aide succincte ou des exemples. Si non fourni, rien ne s’affiche.

    • type : Le type de l’élément UI. Si les références sont spécifiées pour ce champ d’entrée, omettez cette entrée (le type est déterminé pour vous). Valeurs prises en charge :

      • any (Défaut) : Champ de saisie de texte normal.

      • boolean : Sélecteur vrai/faux

      • integer : utilisez les flèches pour changer le nombre

      • multiselect : Sélectionner plusieurs éléments dans une liste déroulante

      • dropdown : Sélectionner un élément dans une liste déroulante

      • date : sélecteur de date

    • default : Valeur par défaut de cet élément

    • choices : (Array of string) Liste de choix pour les éléments dropdown et multiselect

    • infoMessage : Texte en surimpression informatif affiché à côté de l’élément. Si non fourni, aucune info-bulle n’est fournie.

    • taille : Taille de l’élément. Valeurs prises en charge : XS, S, M, L, XL

    • required : Indique si une valeur est exigée par l’utilisateur. Spécifiez TRUE ou FALSE.

    • group : Un nom de groupe, utilisé pour regrouper des éléments dans l’UI. Utilisez le même nom de groupe pour les éléments qui doivent être regroupés dans l’UI. Si vous masquez les listes déroulantes par défaut, vous pouvez utiliser les arguments spéciaux {{ source_table }} et {{ my_table}} dans le modèle personnalisé, puis définir votre propre liste déroulante contenant les tables souhaitées. Pour plus d’informations sur l’utilisation de ces variables spéciales lors de la définition du modèle personnalisé, voir provider.add_custom_sql_template.

    • references : Crée une liste déroulante contenant les tables ou colonnes disponibles dans la salle blanche sans avoir à les connaître à l’avance ou à les lister individuellement. S’il est utilisé, le type doit être « multiselect » ou « dropdown ». Les valeurs de chaîne suivantes sont prises en charge :

      • PROVIDER_TABLES : Liste déroulante de toutes les tables du fournisseur dans la salle blanche accessible par l’utilisateur

      • PROVIDER_JOIN_POLICY : Liste déroulante de toutes les colonnes pouvant faire l’objet d’une jointure à partir de la table du fournisseur spécifiée par provider_parent_table_field

      • PROVIDER_COLUMN_POLICY: Liste déroulante de toutes les colonnes ayant une politique de colonne dans la table du fournisseur spécifiée par provider_parent_table_field.

      • PROVIDER_ACTIVATION_POLICY: Liste déroulante de toutes les colonnes de la politique d’activation du fournisseur.

      • CONSUMER_TABLES : Liste déroulante de toutes les tables des consommateurs de la salle blanche accessibles par l’utilisateur

      • CONSUMER_COLUMNS : Liste déroulante de toutes les colonnes de la table du consommateur spécifiée par consumer_parent_table_field auxquelles l’utilisateur peut accéder. Vous ne devez pas utiliser de références à des colonnes de consommateurs dans des modèles gérés par le fournisseur, car le consommateur peut appliquer des politiques de jointure et de colonne, ce qui peut entraîner l’échec d’une requête lorsque la politique de la colonne n’est pas respectée.

      • CONSUMER_JOIN_POLICY : Liste déroulante de toutes les colonnes pouvant faire l’objet d’une jointure à partir de la table du consommateur spécifiée par consumer_parent_table_field

      • CONSUMER_COLUMN_POLICY : Liste déroulante de toutes les colonnes ayant une politique de colonne dans la table du consommateur spécifiée par consumer_parent_table_field

    • provider_parent_table_field : Indiquez le nom de l’élément UI dans lequel l’utilisateur sélectionne une table de fournisseur (ne fournissez pas le nom de la table elle-même ici). À utiliser uniquement lorsque references est défini sur PROVIDER_COLUMN_POLICY ou PROVIDER_JOIN_POLICY.

    • consumer_parent_table_field : Indiquez le nom de l’élément UI dans lequel l’utilisateur sélectionne une table de consommateurs (ne fournissez pas le nom de la table elle-même ici). À utiliser uniquement lorsque references est défini sur CONSUMER_COLUMNS, CONSUMER_JOIN_POLICY ou CONSUMER_COLUMN_POLICY.

  • output_config (Dict) Définit la manière d’afficher graphiquement les résultats du modèle dans l’application Web. S’il n’est pas fourni, les résultats ne sont pas affichés dans un graphique, mais uniquement dans une table. Si vous ne souhaitez pas de graphique, fournissez un objet vide {} pour cet argument. Champs autorisés :

    • measure_columns : Noms des colonnes contenant des mesures et des dimensions à utiliser dans le graphique généré par l’application Web.

    • default_output_type : Le format par défaut pour l’affichage des résultats. L’utilisateur pourra généralement modifier le format d’affichage dans l’UI si les données sont dans le bon format. Types prises en charge :

      • TABLE : (Default) Format tabulaire

      • BAR : Diagramme en barres, qui permet de comparer différentes catégories

      • LINE : Le graphique en ligne, qui permet de montrer des tendances dans le temps ou des données continues

      • PIE : Le diagramme circulaire, qui permet d’illustrer des proportions ou des pourcentages

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

-- Specify the display name, description, and warehouse, and hide the default table dropdown lists. 
-- Define the following two fields in the UI:
--   A provider table selector that shows all provider tables. Chosen tables can be accessed by the template with the variable 'a_provider_table'
--     (This dropdown list is equivalent to setting `render_table_dropdowns.render_provider_table_dropdown: True`)
--   A column selector for the tables chosen in 'a_provider_table'. Chosen columns can be accessed by the template with the variable 'a_provider_col'

call samooha_by_snowflake_local_db.provider.add_ui_form_customizations(
    $cleanroom_name,
    'prod_custom_template',
    {
        'display_name': 'Custom Analysis Template',
        'description': 'Use custom template to run a customized analysis.',
        'methodology': 'This custom template dynamically renders a form for you to fill out, which are then used to generate a customized analysis fitting your request.',
        'warehouse_hints': {
            'warehouse_size': 'xsmall',
            'snowpark_optimized': FALSE
        },
        'render_table_dropdowns': {
            'render_consumer_table_dropdown': false,
            'render_provider_table_dropdown': false
        },
        'activation_template_name': 'activation_my_template',
        'enabled_activations': ['consumer', 'provider']  
    },    
    {
        'a_provider_table': {
            'display_name': 'Provider table',
            'order': 3,
            'description': 'Provider table selection',
            'size': 'S',
            'group': 'Seed Audience Selection',
            'references': ['PROVIDER_TABLES'],
            'type': 'dropdown'
        },
        'a_provider_col': {
            'display_name': 'Provider column',
            'order': 4,
            'description': 'Which col do you want to count on',
            'size': 'S',
            'group': 'Seed Audience Selection',
            'references': ['PROVIDER_COLUMN_POLICY'],
            'provider_parent_table_field': 'a_provider_table',
            'type': 'dropdown'
        }
    },
    {
        'measure_columns': ['col1', 'col2'],
        'default_output_type': 'PIE'
    }
);
Copy

provider.restrict_template_options_to_consumers

Description : Contrôle les utilisateurs qui peuvent accéder à un modèle donné dans une salle blanche donnée. Cette procédure remplace toute liste d’accès spécifiée précédemment par une autre procédure pour une paire salle blanche/modèle.

Arguments :

  • cleanroom_name (string) - Le nom de la salle blanche.

  • access_details(JSON object) - Le nom d’un modèle et les utilisateurs qui peuvent accéder à ce modèle dans cette salle blanche. Si un modèle est spécifié, seuls les utilisateurs listés ici peuvent accéder à ce modèle dans cette salle blanche. Il s’agit d’un objet avec un objet enfant par modèle dans le format suivant : \-'{template_name':['user1_locator','user2_locator','userN_locator']}

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

call samooha_by_snowflake_local_db.provider.restrict_template_options_to_consumers(
    $cleanroom_name,
    {
        'prod_template_1': ['CONSUMER_1_LOCATOR', 'CONSUMER_2_LOCATOR']
    }
);
Copy

Modèles définis par le consommateur

Les APIs suivantes vous permettent d’approuver ou de rejeter une requête d’un consommateur pour ajouter un modèle à la salle blanche. Un modèle défini par le consommateur n’est ajouté à une salle blanche que si le fournisseur approuve la requête du consommateur en ce sens. Pour plus d’informations, voir Utilisation de l’API du développeur pour ajouter des modèles définis par le consommateur.

provider.list_pending_template_requests

Description : Annonce toutes les requêtes non approuvées des consommateurs qui veulent ajouter un modèle défini par le consommateur à une clean room. Cela inclut les requêtes en attente, approuvées et rejetées. Utilisez cette procédure pour vérifier les requêtes en attente et les approuver (provider.approve_template_request) ou les rejeter (provider.reject_template_request).

Arguments :

  • cleanroom_name (string) - Voir les requêtes des consommateurs pour ajouter un modèle à cette salle blanche.

Retourne : Une table contenant notamment les valeurs suivantes :

request_id (String) - ID de la requête, nécessaire pour accepter ou rejeter la requête. consumer_locator (String) - Localisateur de compte de la personne qui fait la requête. template_name (String) - Nom du modèle fourni par le consommateur. template_definition (String) - Définition complète du modèle proposé par le consommateur.

Exemple :

call samooha_by_snowflake_local_db.provider.list_pending_template_requests($template_name);
Copy

provider.list_template_requests

Description : Liste toutes les requêtes des consommateurs qui souhaitent ajouter un modèle défini par le consommateur à une salle blanche. Cela inclut les requêtes en attente, approuvées et rejetées. Utilisez cela pour vérifier les requêtes en attente et les approuver (provider.approve_template_request) ou les rejeter (provider.reject_template_request).

Arguments :

  • cleanroom_name (string) - Voir les requêtes des consommateurs pour ajouter un modèle à cette salle blanche.

Retourne : Une table contenant notamment les valeurs suivantes :

request_id (string) - ID de la requête, nécessaire pour accepter ou rejeter la requête. consumer_identifier (string) - Localisateur de compte de la personne qui fait la requête. template_name (string) - Nom du modèle fourni par le consommateur. template_definition (string) - Définition complète du modèle proposé par le consommateur. status (string) - Statut de la requête : PENDING, APPROVED, REJECTED.

Exemple :

call samooha_by_snowflake_local_db.provider.list_template_requests($template_name);
Copy

provider.approve_template_request

Description : Approuve une requête visant à ajouter un modèle à la salle blanche.

Arguments :

  • cleanroom_name (string) - Nom de la salle blanche à laquelle l’utilisateur souhaite ajouter le modèle.

  • request_id (string) - ID de la requête à approuver. Appelez fournisseur.list_template_requests pour voir les IDs de requête.

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

call samooha_by_snowflake_local_db.provider.approve_template_request($cleanroom_name, 
    '815324e5-54f2-4039-b5fb-bb0613846a5b');
Copy

provider.approve_multiple_template_requests

Description : Approuve plusieurs requêtes de consommateurs pour ajouter un modèle à une clean room. Toutes les requêtes doivent concerner une seule clean room.

Arguments :

  • cleanroom_name (String) - Le nom de la clean room à laquelle cette requête s’applique.

  • request_ids (Array of strings) - Les IDs de toutes les requêtes de modèles à approuver. Pour obtenir un ID de requête, appelez provider.list_template_requests.

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

CALL samooha_by_snowflake_local_db.provider.approve_multiple_template_requests($cleanroom_name, 
    ['cfd538e2-3a17-48e3-9773-14275e7d2cc9','2982fb0a-02b7-496b-b1c1-56e6578f5eac']);
Copy

provider.reject_template_request

Description : Rejette une requête visant à ajouter un modèle à une salle blanche.

Arguments :

  • cleanroom_name (string) - Nom de la salle blanche à laquelle l’utilisateur souhaite ajouter le modèle.

  • request_id (string) - ID de la requête à rejeter. Appelez fournisseur.list_template_requests pour voir les IDs de requête.

  • reason_for_rejection (string) - Raison du rejet de la requête.

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

call samooha_by_snowflake_local_db.provider.reject_template_request('dcr_cleanroom',
  'cfd538e2-3a17-48e3-9773-14275e7d2cc9',
  'Failed security assessment');
Copy

provider.reject_multiple_template_requests

Description : Rejette plusieurs requêtes de consommateurs visant à ajouter un modèle à une clean room. Toutes les requêtes doivent concerner la même clean room.

Arguments :

  • cleanroom_name (string) - Nom de la clean room à laquelle cette requête s’applique.

  • rejected_templates (array of objects) - Un tableau d’objets avec les champs suivants, un par rejet :

    • request_id (string) - ID de la requête à rejeter. Pour obtenir un ID de requête, appelez provider.list_template_requests.

    • reason_for_rejection(string) - Description en texte libre de la raison pour laquelle la requête est rejetée.

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

CALL samooha_by_snowflake_local_db.provider.reject_multiple_template_requests($cleanroom_name,
  [OBJECT_CONSTRUCT('request_id', '815324e5-54f2-4039-b5fb-bb0613846a5b', 'reason_for_rejection', 'Failed security assessment'),
   OBJECT_CONSTRUCT('request_id', '2982fb0a-02b7-496b-b1c1-56e6578f5eac', 'reason_for_rejection', 'Some other reason')
  ]);
Copy

Chaînes de modèles

Utilisez les commandes suivantes pour créer et gérer des chaînes de templates.

provider.add_template_chain

Description : Crée une nouvelle chaîne de modèles. Les modèles doivent exister avant d’être ajoutés à la chaîne de modèles. Une fois qu’une chaîne de modèles est créée, elle ne peut pas être modifiée, mais vous pouvez créer une nouvelle chaîne de modèles portant le même nom pour remplacer l’ancienne.

Arguments :

  • cleanroom_name (string) - Nom de la salle blanche où la chaîne de modèles doit être ajoutée.

  • template_chain_name (string) - Nom de la chaîne de modèles.

  • templates(Array of objects) - Tableau d’objets, une par modèle. L’objet peut contenir les champs suivants :

    • template_name (string) - Spécifie le modèle ajouté à la chaîne de modèles. Le modèle doit déjà être ajouté à la salle blanche en appelant 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) - Lorsque cache_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) - Lorsque cache_results = TRUE, spécifie le nom du paramètre Jinja que les autres modèles doivent inclure pour accepter les résultats stockés dans output_table_name.

    • cache_expiration_hours (integer) - Lorsque cache_results = TRUE, spécifie le nombre d’heures avant que les résultats du cache ne soient supprimés. Lorsque le cache expire, la prochaine fois que la chaîne de modèles est exécutée, le cache est actualisé avec les résultats du modèle.

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

call samooha_by_snowflake_local_db.provider.add_template_chain(
  $cleanroom_name,
  'my_chain',
  [
    {
      'template_name': 'crosswalk',
      'cache_results': True,
      'output_table_name': 'crosswalk',
      'jinja_output_table_param': 'crosswalk_table_name',
      'cache_expiration_hours': 2190
    },
    {
      'template_name': 'transaction_insights',
      'cache_results': False
    }
  ]
);
Copy

provider.view_added_template_chains

Description : Liste les chaînes de modèle dans la salle blanche spécifiée.

Arguments :

  • cleanroom_name (string) - Nom de la salle blanche.

Retourne : (Table) Description de toutes les chaînes de modèles ajoutées à cette salle blanche.

Exemple :

call samooha_by_snowflake_local_db.provider.view_added_template_chains($cleanroom_name);
Copy

provider.view_template_chain_definition

Description : Renvoie la définition d’une chaîne de modèles.

Arguments :

  • cleanroom_name (string) - Nom de la salle blanche associée à cette chaîne de modèles.

  • template_chain_name (string) - Nom de la chaîne de modèles associée à cette salle blanche.

Retourne : (Table) Description de la chaîne de modèles spécifiée.

Exemple :

call samooha_by_snowflake_local_db.provider.view_template_chain_definition($cleanroom_name, 'my_chain');
Copy

provider.clear_template_chain

Description : Supprime une chaîne de modèles spécifiée d’une salle blanche spécifiée. La chaîne n’est stockée nulle part. Si vous souhaitez recréer la chaîne, vous devez la recréer à partir de zéro.

Arguments :

  • cleanroom_name (string) - La salle blanche à laquelle est attribuée cette chaîne de modèles.

  • template_chain_name (string) - La chaîne de modèles à retirer de cette salle blanche.

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

call samooha_by_snowflake_local_db.provider.clear_template_chain($cleanroom_name, 'my_chain');
Copy

Analyses multi-fournisseurs

Ces procédures permettent une analyse multi-fournisseurs.

provider.enable_multiprovider_computation

Description : Cette procédure permet d’utiliser les tables de votre clean room en combinaison avec le modèle spécifié, lorsque l’utilisateur spécifié en fait la requête, et en combinaison avec les tables des clean rooms spécifiées. Cette procédure permet à un consommateur d’effectuer une requête sur des données provenant de plusieurs clean rooms. Cette procédure n’approuve pas automatiquement ces requêtes, mais permet de lancer la procédure d’approbation manuelle ou automatisée pour l’utilisateur et les clean rooms spécifiés en connectant les requêtes au journal des requêtes multi-fournisseurs de pour cette clean room.

Tous les appels faits à cette clean room en utilisant consumer.prepare_multiprovider_flow seront sauvegardés et visibles avant même que vous n’appeliez enable_multiprovider_computation pour cette clean room.

Pour permettre à un consommateur d’accéder à plusieurs clean rooms de votre compte, indiquez une clean room dans l’argument cleanroom_name, et les autres dans l’argument approved_other_cleanrooms.

Cette procédure exige la mise en place d’une politique de jonction dans la clean room.

Lorsqu’une requête est connectée, l’approbation intervient conformément au flux de requêtes pour un utilisateur et une requête donnés.

Il n’existe aucun moyen de désactiver la connexion des requêtes après son lancement, mais vous pouvez suspendre l’approbation automatique pour un utilisateur donné (si vous l’avez autorisé en appelant provider.suspend_multiprovider_tasks), puis ne plus approuver aucune requête.

Arguments :

  • cleanroom_name (string) - Nom d’une salle blanche dont vous êtes propriétaire. Toutes les données de cette clean room peuvent être partagées avec les salles blanches listées sur approved_other_cleanrooms dans le cadre de requêtes multi-fournisseurs par consumer_account.

  • consumer_account (string) - Localisateur de compte d’un consommateur autorisé à faire la requête et, en cas d’approbation, à exécuter une requête sur toutes les tables de cette salle blanche combinées aux données de toutes les salles blanches annoncées dans approved_other_cleanrooms.

  • approved_other_cleanrooms (Array of string) - Tableau de noms de salles blanches entièrement qualifiés avec lesquels les données de cette salle blanche peuvent être combinées. Le format de chaque entrée est provider_org_name.provider_account_name.cleanroom_name. Important : Indiquez le nom du compte ,, et non le localisateur de compte , dans chaque description de clean room.

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

CALL samooha_by_snowflake_local_db.provider.enable_multiprovider_computation(
  $cleanroom_name,
  $consumer_account_locator,
  <org_name>.<account_locator>.<cleanroom_name>);
Copy

provider.view_multiprovider_requests

Description : Affiche toutes les requêtes d’analyse multifournisseurs d’un compte et d’une salle blanche donnés. Cela comprend les requêtes approuvées et les requêtes refusées. Les fournisseurs peuvent utiliser cette procédure pour interroger les requêtes afin de les approuver manuellement en appelant provider.process_multiprovider_request, ou comme moyen de voir toutes les requêtes d’un consommateur donné dans une clean room donnée.

Vous devez appeler enable_multiprovider_computation pour cette clean room et ce compte consommateur avant de pouvoir appeler view_multiprovider_requests.

Arguments :

  • cleanroom_name (String) - Affiche les requêtes du consommateur spécifié provenant de cette clean room.

  • consumer_account (String) - Afficher les requêtes de ce localisateur de compte consommateur à partir de la clean room spécifiée.

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

CALL samooha_by_snowflake_local_db.provider.view_multiprovider_requests($cleanroom_name, $consumer_locator);
Copy

provider.process_multiprovider_request

Description : Approuve l’exécution de la requête multi-fournisseurs spécifiée, si toutes les vérifications sont positives. Les contrôles portent notamment sur l’ancienneté de la requête et sur l’approbation ou non de la requête par le fournisseur lors d’un appel précédent à provider.enable_multiprovider_computation. Le consommateur doit encore appeler consumer.execute_multiprovider_flow pour exécuter la requête. Une requête sera abandonnée au bout de quatre heures si elle n’est pas approuvée.

Par défaut, toutes les requêtes multi-fournisseurs doivent être traitées à l’aide de cette procédure. Si vous préférez que toutes les requêtes de ce consommateur dans cette clean room soient approuvées automatiquement, indiquez -1 pour request_id. Si vous souhaitez que toutes les requêtes de tous les consommateurs de cette clean room soient approuvées, appelez provider.resume_multiprovider_tasks. Apprenez à révoquer les requêtes précédemment approuvées.

Une fois la requête évaluée, la requête et le statut de l’évaluation sont inscrits dans la table de connexion pour cette clean room.

Arguments :

  • cleanroom_name (string) - Le nom de votre salle blanche, qu’un consommateur demande à inclure dans une analyse multifournisseur.

  • consumer_account (string) - L’emplacement du compte consommateur de l’utilisateur requérant une analyse multifournisseur. Ce localisateur doit avoir été approuvé pour cette salle blanche et les autres salles blanches listées dans la requête dans un appel à provider.enable_multiprovider_computation.

  • request_id (string) - ID de requête à approuver, provenant de provider.view_multiprovider_requests. Passez à -1 pour approuver toutes les requêtes pour ce consommateur dans cette clean room.

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

CALL samooha_by_snowflake_local_db.provider.process_multiprovider_request($cleanroom_name_1, $consumer_account_locator, $request_id);
Copy

provider.suspend_multiprovider_tasks

Description : Arrête l’examen et l’approbation automatisés (pour les requêtes qualifiées) dans une requête multi-fournisseurs dans la clean room spécifiée. Les requêtes multi-fournisseurs sont toujours activées pour la clean room, mais chaque requête doit désormais être explicitement approuvée par le fournisseur en appelant provider.process_multiprovider_request.

Le statut par défaut pour toutes les clean rooms est que l’approbation automatique multi-fournisseurs est désactivée. Pour l’activer, appelez provider.resume_multiprovider_tasks.

Arguments :

  • cleanroom_name (string) - Nom de la salle blanche.

  • consumer_account (String) - Emplacement du compte du consommateur dont les requêtes multi-fournisseurs doivent être suspendues pour tous les modèles de cette clean room. Les requêtes ultérieures de cet utilisateur dans cette clean room seront abandonnées.

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

CALL samooha_by_snowflake_local_db.provider.suspend_multiprovider_tasks($cleanroom_name, $consumer_locator);
Copy

provider.resume_multiprovider_tasks

Description : Permet l’examen automatisé et l’approbation (pour les requêtes qualifiées) des analyses multi-fournisseurs pour l’utilisateur donné dans la clean room donnée. L’examen automatisé est désactivé par défaut pour une clean room.

Pour arrêter l’approbation automatique, appelez provider.suspend_multiprovider_tasks.

Arguments :

  • cleanroom_name (string) - Nom de la salle blanche.

  • consumer_account (String) - Emplacement du compte du consommateur dont les requêtes multi-fournisseurs dans cette clean room seront désormais mises en file d’attente.

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

CALL samooha_by_snowflake_local_db.provider.resume_multiprovider_tasks('my_cleanroom', $consumer_locator);
Copy

Activation

L’activation signifie l’exportation des résultats vers un fournisseur, un consommateur ou un tiers. Pour en savoir plus sur l’activation.

provider.set_activation_policy

Description : Définit les colonnes du fournisseur qui peuvent être utilisées dans un modèle d’activation. Seules les colonnes listées dans une politique d’activation peuvent être activées à partir de l’ensemble des données du fournisseur. L’absence de paramètre dans la politique d’activation empêche l’activation des données du fournisseur.

L’appel à cette procédure annule toute politique d’activation antérieure établie par le fournisseur.

Arguments :

  • cleanroom_name (string) - Nom de la salle blanche où l’activation doit être autorisée.

  • columns (Array of string) - Seules les colonnes listées ici peuvent être utilisées dans un modèle d’activation dans cette salle blanche. Le format des noms de colonnes est le suivant : template_name:fully_qualified_table_name:column_name. Notez l’utilisation correcte des marqueurs point . et deux points :.

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

call samooha_by_snowflake_local_db.provider.set_activation_policy('my_cleanroom', [ 
    'prod_overlap_analysis:SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:HASHED_EMAIL',  
    'prod_overlap_analysis:SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:REGION_CODE' ]);
Copy

provider.update_activation_warehouse

Description : Indiquez la taille de l’entrepôt à utiliser lors du déchiffrement des résultats dans la table de sortie lors d’une activation du fournisseur. L’entrepôt utilisé pour le déchiffrement est DCR_ACTIVATION_WAREHOUSE. Le fournisseur paie pour cet entrepôt.

Arguments :

  • size (String) - Taille de l’entrepôt. Choisissez l’une des valeurs WAREHOUSE_SIZE de la commande CREATE WAREHOUSE.

Retourne : (String) message de réussite.

Exemple :

CALL samooha_by_snowflake_local_db.provider.update_activation_warehouse('LARGE');
Copy

provider.setup_provider_activation_share_mount_task

Description : Permet l’activation du fournisseur lorsque celui-ci n’a pas installé le programme d’installation d’UI de clean room sur son compte.

Appelez-le après avoir ajouté des consommateurs à l’adresse provider.add_consumers. Elle n’est appelée que lorsque vous mettez en œuvre l’activation du fournisseur et que vous (le fournisseur) n’avez pas installé l’UI de clean room. (Le fait que le consommateur ait ou non installé l’UI n’a pas d’importance)

Cette opération démarre un thread pour monter de manière asynchrone les parts des consommateurs nécessaires à l’activation du fournisseur. Plutôt que de monter les partages de manière synchrone et de bloquer votre code, ce code monte le partage de manière asynchrone et vérifie périodiquement s’il y a de nouveaux collaborateurs. Vous ne devez appeler cette procédure qu’une seule fois et vous pouvez ajouter des collaborateurs supplémentaires ultérieurement sans avoir à rappeler cette procédure.

Arguments :

  • frequency_minutes (Integer) - Fréquence à laquelle il faut revérifier s’il y a de nouveaux consommateurs dans cette clean room, afin de monter des parts pour eux aussi. La valeur recommandée est de 15.

Retourne : (String) Un message de réussite.

Exemple :

CALL samooha_by_snowflake_local_db.provider.setup_provider_activation_share_mount_task(15);
Copy

Exécuter des analyses en tant que fournisseur

Découvrez comment exécuter une analyse fournisseur.

provider.enable_provider_run_analysis

Description : Permet au fournisseur (créateur de la salle blanche) d’exécuter des analyses dans une salle blanche spécifiée. Cette fonction est désactivée par défaut. Le consommateur doit ensuite appeler consumer.enable_templates_for_provider_run pour activer les analyses effectuées par le fournisseur pour des modèles spécifiques dans la clean room. Ensuite, le fournisseur peut exécuter une analyse en appelant provider.submit_analysis_request.

En savoir plus sur les analyses effectuées par les fournisseurs.

Important

Cette procédure doit être appelée après provider.add_consumers et avant qu’un consommateur n’installe une salle blanche. Si cette configuration est modifiée alors que le consommateur a déjà installé sa salle blanche, il doit la réinstaller pour qu’elle corresponde à la nouvelle configuration.

Arguments :

  • cleanroom_name (string) - Nom de la salle blanche qui doit permettre l’analyse par le fournisseur.

  • consumer_accounts (Array of string) - Emplacements des comptes de tous les consommateurs qui ont ajouté des données à cette salle blanche.

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

call samooha_by_snowflake_local_db.provider.enable_provider_run_analysis($cleanroom_name, ['<CONSUMER_ACCOUNT_LOCATOR>']);
Copy

provider.disable_provider_run_analysis

Description : Empêche le fournisseur (créateur de la salle blanche) d’effectuer une analyse dans la salle blanche (cette fonction est désactivée par défaut).

Important

Cette procédure doit être appelée après provider.add_consumers et avant qu’un consommateur n’installe une salle blanche. Si cette configuration est modifiée alors que le consommateur a déjà installé sa salle blanche, il devra réinstaller la salle blanche pour tenir compte de la nouvelle configuration.

Arguments :

  • cleanroom_name (string) - Nom de la salle blanche dans laquelle l’analyse par le fournisseur doit être désactivée.

  • consumer_account_locator (string) - Même liste de noms de comptes de consommateurs que celle transmise à provider.enable_provider_run_analysis.

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

call samooha_by_snowflake_local_db.provider.disable_provider_run_analysis($cleanroom_name, ['<CONSUMER_ACCOUNT_LOCATOR>']);
Copy

library.is_provider_run_enabled

Description : Vérifie que cette salle blanche autorise les analyses effectuées par le fournisseur.

Arguments :

  • cleanroom_name (string) - Nom de la salle blanche à vérifier.

Retourne : (string) Indique si cette salle blanche autorise ou non les analyses effectuées par le fournisseur.

Exemple :

call samooha_by_snowflake_local_db.library.is_provider_run_enabled($cleanroom_name)
Copy

provider.view_warehouse_sizes_for_template

Description : Voir la liste des tailles et des types d’entrepôts disponibles pour les analyses effectuées par le fournisseur avec un modèle donné. Le consommateur doit d’abord remplir la liste dans son appel à consumer.enable_templates_for_provider_run.

Arguments :

  • consumer_account (String) - Emplacement du compte du consommateur qui approuvera la requête gérée par le fournisseur.

  • cleanroom_name (string) - Nom de la salle blanche.

  • template_name (String) - Nom du modèle que le fournisseur veut exécuter.

  • consumer_account (String) - Emplacement du compte du consommateur qui approuvera la requête gérée par le fournisseur.

Retours : Une table des tailles et types d’entrepôts autorisés. Les chaînes de type et de taille d’entrepôt prises en charge sont celles utilisées par les propriétés WAREHOUSE_TYPE et WAREHOUSE_SIZE dans la commande CREATE WAREHOUSE.

Exemple :

CALL samooha_by_snowflake_local_db.PROVIDER.VIEW_WAREHOUSE_SIZES_FOR_TEMPLATE($cleanroom_name, $template_name, $consumer_account_loc);
Copy

provider.submit_analysis_request

Description : Soumet une analyse à exécuter dans la clean room. Toutes les conditions suivantes doivent être remplies avant d’appeler cette procédure :

Le modèle est exécuté dans la salle blanche et les résultats sont stockés en toute sécurité à l’intérieur de la salle blanche. Les résultats sont chiffrés, de sorte que seul le fournisseur peut les consulter.

Arguments :

  • cleanroom_name (string) - Nom de la salle blanche où le modèle doit être exécuté.

  • consumer_account_locator (string) - Compte du consommateur de cette salle blanche qui a autorisé les analyses effectuées par le fournisseur en appelant consumer.enable_templates_for_provider_run.

  • template_name (string) - Nom du modèle à exécuter.

  • provider_tables (array) - Liste des tables de fournisseurs à exposer au modèle. Cette liste alimentera la variable de tableau source_table.

  • consumer_tables (array) - Liste des tables de consommateurs à exposer au modèle. Cette liste alimentera la variable de tableau my_table.

  • analysis_arguments (object) - Objet JSON où chaque clé est un nom d’argument utilisé dans le modèle que vous avez créé. Si vous souhaitez utiliser un type et une taille d’entrepôt spécifiques, choisissez un type et une taille annoncés par provider.view_warehouse_sizes_for_template et spécifiez-les ensuite à l’aide des champs suivants :

    • warehouse_type (String) - Type d’entrepôt pris en charge par le consommateur pour les analyses effectuées par le fournisseur avec le modèle spécifié.

    • warehouse_size (String) - Taille de l’entrepôt prise en charge par le consommateur pour les analyses effectuées par le fournisseur avec le modèle spécifié.

Retourne : (string) Un ID de requête qui est utilisé pour vérifier le statut de la requête et également pour accéder aux résultats. Sauvegardez cet ID car vous en aurez besoin pour voir les résultats de l’analyse.

Exemple :

call samooha_by_snowflake_local_db.provider.submit_analysis_request(
    $cleanroom_name, 
    '<CONSUMER_ACCOUNT>',
    'prod_overlap_analysis', 
    ['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS'], 
    ['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS'], 
    object_construct(       
      'dimensions', ['c.REGION_CODE'],        
      'measure_type', ['AVG'],           
      'measure_column', ['c.DAYS_ACTIVE'],
      'warehouse_type', 'STANDARD',        -- If this type and size pair were not listed by view_warehouse_sizes_for_template,
      'warehouse_size', 'LARGE'            -- the request will automatically fail.
    ));
Copy

provider.check_analysis_status

Description : Le fournisseur appelle cette procédure pour vérifier le statut de la requête d’analyse du fournisseur. Un délai important peut s’écouler avant que vous puissiez connaître le statut d’une requête. Lorsqu’une analyse est marquée comme terminée, appelez provider.get_analysis_result pour voir les résultats.

Arguments :

  • cleanroom_name (string) - Nom de la salle blanche où la requête a été faite.

  • request_id (string) - ID de la requête, renvoyée par provider.submit_analysis_request.

  • consumer_account_locator (string) - Emplacement du compte du consommateur auquel la requête a été envoyée.

Renvoie : (string) Statut de la requête, où COMPLETED signifie que l’analyse a été effectuée correctement. Statuts possibles :

  • IN-PROGRESS: L’analyse est en cours.

  • FAILED: Un problème est survenu pendant l’exécution de l’analyse.

  • COMPLETED: L’analyse est terminée.

  • NOT FOUND: Les arguments fournis n’ont donné aucun résultat (par exemple, un ID de requête incorrect).

Exemple :

-- It can take up to 2 minutes for this to pick up the request ID after the initial request
call samooha_by_snowflake_local_db.provider.check_analysis_status(
    $cleanroom_name, 
    $request_id, 
    '<CONSUMER_ACCOUNT>'
);
Copy

provider.get_analysis_result

Description : Obtenez les résultats d’une analyse réalisée par un fournisseur. Vous devez attendre que le statut de l’analyse soit annoncé comme COMPLETED pour obtenir les résultats. Les résultats sont conservés indéfiniment dans la salle blanche.

Arguments :

  • cleanroom_name (string) - Nom de la salle blanche pour laquelle la requête a été envoyée.

  • request_id (string) - ID de la requête, renvoyée par submit_analysis_request.

  • consumer_account_locator (string) - Emplacement du compte du consommateur transmis à submit_analysis_request.

Retourne : (Table) Résultats de la requête.

Exemple :

call samooha_by_snowflake_local_db.provider.get_analysis_result(
    $cleanroom_name, 
    $request_id, 
    $locator
);
Copy

Gérer le partage des salles blanches

Utilisez les commandes suivantes pour gérer le partage d’une salle blanche avec des consommateurs.

provider.view_consumers

Description : Liste les consommateurs auxquels l’accès à la salle blanche a été accordé. Il n’indique pas si le consommateur a installé la salle blanche.

Arguments :

  • cleanroom_name (string) - La salle blanche qui vous intéresse.

Retourne : (Table) - Liste des comptes consommateurs pouvant accéder à la salle blanche.

Exemple :

call samooha_by_snowflake_local_db.provider.view_consumers($cleanroom_name);
Copy

provider.add_consumers

Description : Accorde aux utilisateurs spécifiés l’accès à la salle blanche spécifiée. La salle blanche est accessible à la fois par l’application Web et par l’API. Cette opération n’écrase pas les listes de consommateurs des appels précédents. Clean room est accordée à un utilisateur spécifique, pas à un compte entier. Notez que le compte du consommateur doit se trouver dans la même région Snowflake que le fournisseur pour pouvoir accéder à une clean room. Vous pouvez vérifier votre région en appelant select current_region();

Vous pouvez consulter la liste actuelle des consommateurs en annonçant provider.view_consumers.

Arguments :

  • cleanroom_name (string) - Nom de la salle blanche à partager avec les utilisateurs spécifiés. Les utilisateurs peuvent installer la salle blanche à l’aide de l’API ou de l’application Web.

  • consumer_account_locators (string) - Une liste de localisateurs de comptes consommateurs, délimitée par des virgules, telle que renvoyée par CURRENT_ACCOUNT. Cette liste doit comprendre le même nombre d’entrées, dans le même ordre, que celles contenues dans consumer_account_names.

  • consumer_account_names (String) - Une liste délimitée par des virgules d’IDs de comptes de partage de données de consommation pour le consommateur dans le format org_name.account_name Le nom de l’organisation peut être récupéré en appelant CURRENT_ORGANIZATION_NAME. Le nom du compte peut être récupéré en appelant CURRENT_ACCOUNT_NAME. Cette liste doit comprendre le même nombre d’éléments, dans le même ordre, que ceux annoncés dans consumer_account_locators.

  • enable_differential_privacy_tasks (Boolean, optional) - TRUE pour appliquer la confidentialité différentielle dans toutes les requêtes des utilisateurs listés dans cette clean room. Il s’agit d’un moyen simple d’activer la confidentialité différentielle avec des valeurs par défaut pour les utilisateurs de la liste. Pour spécifier des paramètres avancés, fournissez l’argument privacy_settings à la place. La tâche de confidentialité différentielle doit être exécutée dans cette clean room pour activer la confidentialité différentielle. La valeur par défaut est FALSE.

  • privacy_settings (String, optional) - Si présent, applique les paramètres de confidentialité aux modèles personnalisés lorsqu’ils sont utilisés par l’un des utilisateurs de consumer_account_names. Il s’agit d’une version chaîne d’un objet avec une seule clé NULL et une valeur qui spécifie divers paramètres de confidentialité. Ne spécifiez pas à la fois enable_differential_privacy_tasks et privacy_settings. La tâche de confidentialité différentielle doit être en cours d’exécution dans cette clean room pour activer la confidentialité différentielle. Voir les champs disponibles pour cet objet.

Retourne : Message de réussite. Notez que la procédure ne valide pas les localisateurs d’utilisateurs ou les noms de comptes, de sorte que le succès indique seulement que les localisateurs soumis ont été ajoutés à la base de données pour cette salle blanche.

Exemples :

-- Add consumer without differential privacy.
call samooha_by_snowflake_local_db.provider.add_consumers($cleanroom_name,
  'LOCATOR1,LOCATOR2',
  'ORG1.NAME1,ORG2.NAME2');

-- Add consumer and turn on differential privacy for all their queries.
CALL samooha_by_snowflake_local_db.provider.add_consumers($cleanroom_name,
  'LOCATOR1',
  'ORGNAME.ACCOUNTNAME',
  '{
      "null": {
          "threshold_value": 5000,
          "differential": 1,
          "privacy_budget": 10,
          "epsilon": 0.1,
          "noise_mechanism": "Laplace"
      }}');
Copy

provider.remove_consumers

Description : Supprime l’accès du compte à une salle blanche donnée. Cette méthode bloque l’accès de tous les utilisateurs des comptes fournis.

Vous pouvez consulter la liste actuelle des consommateurs en annonçant provider.view_consumers.

Arguments :

  • cleanroom_name (string) - L’ID de la salle blanche (pas le nom convivial).

  • cleanroom_account_locators (string) - Une liste de localisateurs de comptes utilisateurs délimitée par des virgules. Tous les utilisateurs du compte perdront l’accès à la salle blanche.

Retourne : (string) - Message de réussite ou d’échec.

Exemple :

call samooha_by_snowflake_local_db.provider.remove_consumers($cleanroom_name, 'locator1,locator2,locator3');
Copy

provider.set_cleanroom_ui_accessibility

Description : Affiche ou masque la salle blanche dans l’application Web à tous les utilisateurs connectés à ce compte fournisseur.

Arguments :

  • cleanroom_name (string) - Le nom de la salle blanche.

  • visibility_status (string) - Une des valeurs suivantes sensibles à la casse :

    • HIDDEN - Cache la salle blanche dans l’application Web à tous les utilisateurs du compte fournisseur actuel. La salle blanche restera accessible via des appels API.

    • EDITABLE - Rend la salle blanche visible dans l’application Web.

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

call samooha_by_snowflake_local_db.provider.set_cleanroom_ui_accessibility($cleanroom_name, 'HIDDEN');
Copy

Collaboration inter-Cloud

Permettez à une clean room d’être partagée avec un consommateur sur une autre région Cloud. En savoir plus.

library.enable_laf_on_account

Description : active l’exécution automatique inter-Cloud sur le compte courant. Exige le rôle ACCOUNTADMIN.

Arguments : Aucun

Retourne : (String) message de réussite.

Exemple :

USE ROLE ACCOUNTADMIN;
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.library.enable_laf_on_account();
Copy

library.is_laf_enabled_on_account

Description : Renvoie si l’exécution automatique inter-Cloud est activée pour ce compte.

Renvoie : TRUE si l’exécution automatique inter-Cloud est activée pour ce compte, FALSE dans le cas contraire.

Exemple :

call samooha_by_snowflake_local_db.library.is_laf_enabled_on_account();
Copy

provider.enable_laf_for_cleanroom (Deprecated)

Cette fonction est désormais obsolète, et sa fonctionnalité est désormais prise en charge par provider.create_or_update_cleanroom_listing.

Description : Active l”exécution automatique inter-Cloud, ce qui vous permet de partager la salle blanche avec des collaborateurs dont le compte Snowflake se trouve dans une région différente de celle du fournisseur. L’exécution automatique inter-Cloud est également connue sous le nom d’exécution automatique des annonces (LAF).

Par défaut, l’exécution automatique inter-Cloud est désactivée pour les nouvelles salles blanches, même si elle est activée pour l’environnement.

Important

Un administrateur Snowflake ayant le rôle ACCOUNTADMIN doit activer le exécution automatique inter-Cloud dans votre compte Snowflake avant que vous puissiez exécuter cette commande. Pour obtenir des instructions sur l’activation de l’exécution automatique inter-Cloud dans le compte Snowflake, voir Collaborer avec des comptes dans différentes régions.

La collaboration avec les consommateurs d’autres régions entraîne des coûts supplémentaires. Pour plus d’informations sur ces coûts, voir Cross-Cloud Auto-Fulfillment costs.

Arguments :

cleanroom_name (string) - Le nom de la salle blanche qui doit être partagé entre les régions. L’exécution automatique inter-Cloud doit être activée pour le compte par un administrateur avant que des salles blanches individuelles puissent être partagées.

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

call samooha_by_snowflake_local_db.provider.enable_laf_for_cleanroom($cleanroom_name);
Copy

provider.request_laf_cleanroom_requests

Description : Paramètre le partage de requêtes inter-Cloud du côté du fournisseur pour un consommateur donné. Un administrateur de compte doit d’abord activer la réplication automatique inter-Cloud, et le consommateur doit avoir appelé consumer.setup_cleanroom_request_share_for_laf.

Cette exigence s’applique aux modèles définis par le consommateur lorsque le fournisseur et le consommateur se trouvent dans des régions Cloud différentes.

Vous pouvez appeler cette procédure à plusieurs reprises pour vérifier le statut de la requête. Lorsque le statut atteint FULFILLED, vous pouvez appeler provider.mount_laf_cleanroom_requests_share. Il peut s’écouler 10 minutes avant que le statut n’atteigne FULFILLED.

Arguments :

  • cleanroom_name (String) - Nom de la clean room pour permettre le partage de requêtes inter-Cloud.

  • consumer_locator (String) - Emplacement du compte du consommateur pour lequel activer le partage de requêtes inter-Cloud.

Retourne : (String) Message de statut de la requête : créée, en attente ou satisfaite.

Exemple :

CALL samooha_by_snowflake_local_db.provider.request_laf_cleanroom_requests(
  $cleanroom_name, $consumer_locator);
Copy

provider.mount_laf_cleanroom_requests_share

Description : Rend les requêtes inter-Cloud accessibles pour la clean room et le compte consommateur donnés. provider.request_laf_cleanroom_requests doit renvoyer un statut FULFILLED avant que vous ne puissiez appeler cette procédure.

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.

Arguments :

  • cleanroom_name (String) - Clean room partagée.

  • consumer_locator (String) - L’emplacement du compte Snowflake du consommateur qui effectuera des requêtes inter-Cloud dans cette clean room.

Retourne : (String) message de réussite.

Exemple :

CALL samooha_by_snowflake_local_db.provider.mount_laf_cleanroom_requests_share(
  $cleanroom_name, $consumer_locator);
Copy

Utiliser Python dans une salle blanche

provider.load_python_into_cleanroom

Description : Charge une fonction Python personnalisée dans la salle blanche. Le code chargé dans la salle blanche à l’aide de cette procédure n’est pas visible pour les consommateurs. Le code importé peut être appelé par votre modèle Jinja.

Apprenez à importer et à utiliser du code Python dans une salle blanche

Cette procédure incrémente le numéro de correctif de votre salle blanche et déclenche une analyse de sécurité. Vous devez attendre que le statut de l’analyse soit APPROVED avant de pouvoir partager la dernière version avec les collaborateurs.

Cette procédure est surchargée et possède deux signatures qui diffèrent par le type de données du cinquième argument, qui détermine si vous importez le code en ligne ou si vous le chargez à partir d’un fichier sur une zone de préparation :

Signatures

Importer l’UDF en ligne :

(cleanroom_name String, function_name String, arguments Array, packages Array, rettype String, handler String, code String)
Copy

Importer l’UDF depuis une zone de préparation :

(cleanroom_name String, function_name String, arguments Array, packages Array, imports Array, rettype String, handler String)
Copy

Arguments :

  • cleanroom_name (string) - Nom de la salle blanche où le script doit être chargé.

  • function_name (string) - Nom de ce paquet. Utilisez ce nom dans votre modèle personnalisé pour appeler la fonction spécifiée par gestionnaire avec tous les arguments décrits par arguments.

  • arguments(Array of string pairs) - Un tableau d’arguments requis par la fonction function_name. Chaque argument est une paire de chaînes délimitées par des espaces, contenant le nom de l’argument et son type de données SQL. Utilisé pour la documentation de l’utilisateur et n’est pas validée. Par exemple : « taille entière », « chaîne de mois », « variante de données ».

  • packages(Array of string) - Liste des noms des paquets Python utilisés par le code. Il doit s’agir de paquets Python standard ; vos UDFs ne peuvent pas appeler d’autres UDFs importées.

  • imports (Array of string with single element) - Présent uniquement lors l’importation de votre UDF depuis une zone de préparation. Il s’agit d’un tableau de chaînes comportant un seul élément : l’adresse de la zone de préparation, par rapport à la zone de préparation où vous avez importé le code. Le chemin de la zone de préparation racine est disponible en appelant provider.get_stage_for_python_files.

  • ret_type (string) - Type de données SQL de la valeur retournée par la fonction gestionnaire. Par exemple : « entier », « variante ».

  • handler (string) - La fonction d’entrée dans votre code qui doit être appelée lorsqu’un modèle appelle function_name.

    • Pour l’UDF en ligne, il s’agit du nom de la fonction, par exemple : main.

    • Pour le code importé à partir d’une zone de préparation, il s’agit du nom de la fonction qualifié par le nom du fichier source, par exemple : myscript.main .

  • code (string) - Présent uniquement lors de l’importation d’UDF en tant que code en ligne. Ce devrait être un Python UDF.

Renvoie : (string) Message de réussite ou d’échec.

Exemples :

-- Inline UDF

call samooha_by_snowflake_local_db.provider.load_python_into_cleanroom(
    $cleanroom_name, 
    'assign_group',                      # Name of the UDF
    ['data variant', 'index integer'],   # Arguments of the UDF, along with their type
    ['pandas', 'numpy'],                 # Packages UDF will use
    'integer',                           # Return type of UDF
    'main',                              # Handler
    $$
import pandas as pd
import numpy as np

def main(data, index):
    df = pd.DataFrame(data)  # you can do something with df but this is just an example
    return np.random.randint(1, 100)
    $$
);
Copy
-- Upload from stage

call samooha_by_snowflake_local_db.provider.load_python_into_cleanroom(
    $cleanroom_name,
    'myfunc',                            # Name of the UDF
    ['data variant', 'index integer'],   # Arguments of the UDF
    ['numpy', 'pandas'],                 # Packages UDF will use
    ['/test_folder/assign_group.py'],    # Python file to import from a stage
    'integer',                           # Return type of UDF
    'assign_group.main'                  # Handler scoped to file name
);
Copy

provider.get_stage_for_python_files

Description : Renvoie le chemin de la zone de préparation où les fichiers Python doivent être importés, si vous planifiez d’utiliser des fichiers de code importés vers une zone de préparation plutôt que des définitions de code en ligne pour définir du code Python personnalisé dans une salle blanche. La zone de préparation n’existe pas et ne peut pas être examinée tant que les fichiers n’ont pas été importés en appelant provider.load_python_into_cleanroom.

Apprenez à importer et à utiliser du code Python dans une salle blanche

Arguments :

  • cleanroom_name (string) - Nom de la salle blanche dans laquelle vous souhaitez importer des fichiers.

Retourne : (string) Le chemin où vous devez importer les fichiers de code. Utilisez ceci pour l’argument imports dans provider.load_python_into_cleanroom.

Exemple :

call samooha_by_snowflake_local_db.provider.get_stage_for_python_files($cleanroom_name);
Copy

provider.view_cleanrooom_scan_status

Description : Indique le statut de l’analyse des menaces pour une salle blanche dont le paramètre DISTRIBUTION est défini sur EXTERNAL. L’analyse doit être marquée comme « APPROVED » avant que vous ne puissiez définir ou modifier la directive de version par défaut. Le statut de l’analyse ne doit être vérifié qu’avec des salles blanches EXTERNAL.

Arguments :

  • cleanroom_name (string) - Nom de la salle blanche dont il faut vérifier le statut.

Renvoie : (string) Le statut de l’analyse.

Exemple :

call samooha_by_snowflake_local_db.provider.view_cleanroom_scan_status($cleanroom_name);
Copy

Commandes de récupération des métadonnées de la salle blanche

Utilisez les commandes suivantes pour afficher les propriétés pertinentes de la salle blanche.

library.view_external_activation_history

Description : vue de l’historique des requêtes d’activation dans le compte courant.

Arguments : Aucun

Retourne : une table avec les détails et le statut des requêtes d’activation.

Exemple:

call SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.LIBRARY.view_external_activation_history();
Copy

provider.mount_request_logs_for_all_consumers

Description : Permet aux fournisseurs d’avoir accès aux informations qui leur parviennent des consommateurs d’une salle blanche. Cette procédure doit être appelée dans diverses situations, telles que documentées dans l’API de référence, pour commencer à obtenir ou à partager des informations sur les consommateurs.

Arguments :

  • cleanroom_name (string) - Nom de la salle blanche pour laquelle les journaux de requête doivent être connectés.

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

call samooha_by_snowflake_local_db.provider.mount_request_logs_for_all_consumers($cleanroom_name);
Copy

provider.view_request_logs

Description : Permet de voir les connexions de requêtes envoyées par les consommateurs de cette salle blanche. Avant d’appeler cette fonction pour la première fois, vous devez appeler mount_request_logs_for_all_consumers.

Arguments :

  • cleanroom_name (string) - Nom de la salle blanche pour laquelle les journaux de requêtes doivent être connectés.

Retourne : Ensemble des paramètres connectés aux requêtes exécutées dans la salle blanche (table)

Exemple :

call samooha_by_snowflake_local_db.provider.view_request_logs($cleanroom_name);
Copy

Confidentialité différentielle

Ces commandes contrôlent la confidentialité différentielle au niveau de l’utilisateur ou du compte fournisseur. Pour en savoir plus sur la confidentialité différentielle.

provider.set_privacy_settings

Description : Permet d’ensemble (ou de réinitialiser) les paramètres de confidentialité appliqués lorsque le consommateur spécifié exécute un modèle personnalisé. Cette opération écrase tous les paramètres existants pour ce consommateur.

Arguments :

  • cleanroom_name (string) - Nom de la salle blanche.

  • consumer_account_locator (String) - Emplacement du compte d’un ou de plusieurs consommateurs, dans une liste délimitée par des virgules.

  • privacy_settings (Object) - Un objet JSON qui spécifie les paramètres de confidentialité différentielle pour un ou plusieurs modèles. Les paramètres sont appliqués à tous les modèles exécutés par le consommateur spécifié. Voir les champs disponibles pour cet objet.

Retourne : Message de réussite.

Exemple :

-- Enforce differential privacy on queries by this consumer
-- with the settings provided.
CALL samooha_by_snowflake_local_db.provider.set_privacy_settings(
  $cleanroom_name, 
  $consumer_locator,
  { 'differential': 1,
    'epsilon': 0.1,
    'privacy_budget': 3 });
Copy

provider.is_dp_enabled_on_account

Description : Décrit si la confidentialité différentielle est activée ou non pour ce compte.

Arguments : Aucun

Renvoie : TRUE si la confidentialité différentielle est activée pour ce compte, FALSE dans le cas contraire.

Exemple :

call samooha_by_snowflake_local_db.provider.is_dp_enabled_on_account();
Copy

provider.suspend_account_dp_task

Description : Désactive la tâche qui surveille et applique les budgets de confidentialité différentiels. Ceci est utilisé pour contrôler les coûts associés à la confidentialité différentielle dans votre compte. Si la tâche de confidentialité différentielle est désactivée, le bruit sera toujours ajouté aux requêtes par les utilisateurs, les modèles ou les clean rooms où la confidentialité différentielle est spécifiée, mais les limites budgétaires ne seront pas appliquées et vous n’encourrez pas de coûts liés à la confidentialité différentielle. Pour en savoir plus sur la gestion de la confidentialité différentielle

Arguments : Aucun

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

call samooha_by_snowflake_local_db.provider.suspend_account_dp_task();
Copy

provider.resume_account_dp_task

Description : Reprend l’auditeur de tâches de confidentialité différentielle dans le compte courant, et les budgets de confidentialité différentielle seront appliqués. Toutes les valeurs de confidentialité différentielles précédemment définies (telles que la sensibilité ou les utilisateurs associés) sont conservées.

Arguments : Aucun

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

call samooha_by_snowflake_local_db.provider.resume_account_dp_task();
Copy

Commandes Snowpark Container Services

Ces procédures vous permettent d’utiliser les services de conteneur de Snowpark à l’intérieur d’une clean room.

provider.load_service_into_cleanroom

Description : Crée ou met à jour un service de conteneurs dans une clean room. L’appel de cette procédure met à jour le numéro de patch de la clean room, vous devez donc appeler provider.set_default_release_directive après avoir appelé cette procédure. Vous devez appeler cette procédure chaque fois que vous créez ou mettez à jour le service. Le client doit ensuite appeler consumer.start_or_update_service pour connaître les éventuelles mises à jour.

ref:

Apprenez à utiliser les services de conteneurs de Snowpark dans une clean room. <label-cleanrooms_using_spcs>

Arguments :

  • cleanroom_name (string) - Nom de la salle blanche.

  • service_spec (String) - Une spécification YAML pour le service, racinée à l’élément spec.

  • service_config (String) - Une configuration au format YAML pour le service. Les propriétés suivantes sont prises en charge :

    • default_service_options - Tableau facultatif de valeurs par défaut du niveau de service. Ces valeurs peuvent être remplacées par le consommateur lorsqu’il crée son service. Les propriétés enfant suivantes sont prises en charge :

      • min_instances (Integer, optional)

      • max_instances (Integer, optional)

      • allow_monitoring (Boolean, optional) - Si TRUE, le consommateur peut voir les journaux du service. La valeur par défaut est FALSE.

    • functions - Un tableau de fonctions exposées par le service. Chaque définition de fonction mappe la définition de la fonction de service SPCS. Consultez cette documentation pour connaître les détails de chaque élément. Les propriétés enfant suivantes sont prises en charge :

      • nom

      • args

      • renvoie

      • point de terminaison

      • chemin

      • max_batch_rows (optional)

      • context_headers (optional)

Renvoie : (String) Message de réussite, en cas de succès. Lance une erreur en cas d’échec.

Exemple :

CALL samooha_by_snowflake_local_db.provider.load_service_into_cleanroom(
    $cleanroom_name,
    $$
    spec:
      containers:
      - name: lal
        image: /dcr_spcs/repos/lal_example/lal_service_image:latest
        env:
          SERVER_PORT: 8000
        readinessProbe:
          port: 8000
          path: /healthcheck
      endpoints:
      - name: lalendpoint
        port: 8000
        public: false
    $$,
    $$
    default_service_options:
      min_instances: 1
      max_instances: 1
      allow_monitoring: true
    
    functions:
      - name: train
        args: PROVIDER_TABLE VARCHAR, PROVIDER_JOIN_COL VARCHAR, CONSUMER_TABLE VARCHAR, CONSUMER_JOIN_COL VARCHAR, DIMENSIONS ARRAY, FILTER VARCHAR
        returns: VARCHAR
        endpoint: lalendpoint
        path: /train
      - name: score
        args: PROVIDER_TABLE VARCHAR, PROVIDER_JOIN_COL VARCHAR, CONSUMER_TABLE VARCHAR, CONSUMER_JOIN_COL VARCHAR, DIMENSIONS ARRAY
        returns: VARCHAR
        endpoint: lalendpoint
        path: /score
      - name: score_batch
        args: ID VARCHAR, FEATURES ARRAY
        returns: VARIANT
        max_batch_rows: 1000
        endpoint: lalendpoint
        path: /scorebatch
$$);
Copy

Commandes d’aide générale

Utilisez les commandes suivantes pour vous aider de manière générale à tirer parti des fonctionnalités de la salle blanche et des flux pris en charge.

library.enable_local_db_auto_upgrades

Description : Active la tâche, samooha_by_snowflake_local_db.admin.expected_version_task, qui met automatiquement à niveau Snowflake Data Clean Rooms Native App lorsque de nouvelles versions sont publiées. Bien que vous puissiez réduire les coûts en désactivant cette tâche, nous vous recommandons de la laisser en cours d’exécution pour vous assurer que vous disposez de la dernière version de l’application native des salles blanches sur votre système.

Arguments : Aucun

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

call samooha_by_snowflake_local_db.library.enable_local_db_auto_upgrades();
Copy

library.disable_local_db_auto_upgrades

Description : Désactive la tâche, samooha_by_snowflake_local_db.admin.expected_version_task, qui met automatiquement à niveau Snowflake Data Clean Rooms Native App lorsque de nouvelles versions sont publiées.

Arguments : Aucun

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

call samooha_by_snowflake_local_db.library.disable_local_db_auto_upgrades();
Copy

Procédures obsolètes

Les procédures suivantes sont obsolètes et ne sont listées ici que par souci d’exhaustivité. Si une procédure de remplacement est indiquée, utilisez la procédure la plus récente.

provider.view_ui_registration_request_log – DEPRECATED

Attention

Cette commande est désormais obsolète. Vous n’avez plus besoin d’enregistrer manuellement un modèle de salle blanche pour l’utiliser dans l’application Web.

Description : Permet de voir la liste des requêtes soulevées à partir du compte pour enregistrer les salles blanches dans l’application Web. Chaque requête est associée à un ID qui peut être utilisé conjointement avec la procédure view_ui_registration_log pour voir le statut des requêtes. Les requêtes sont partagées avec le backend où elles sont traitées et la salle blanche est ajoutée dans la salle blanche.

Arguments :

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

call samooha_by_snowflake_local_db.provider.view_ui_registration_request_log();
Copy

library.register_table_ou_vue – Obsolète

Attention

Cette commande est désormais obsolète. Utilisez plutôt library.register_objects.

Description : Enregistre les tables et les vues de tous types.

Arguments : object_names (array), is_view (boolean), is_iceberg (boolean), is_external (boolean), is_under_managed_access_schema (boolean)

Renvoie : (string) Message de réussite ou d’échec.

Exemples

Pour enregistrer une table :

call samooha_by_snowflake_local_db.library.register_table_or_view(
    ['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS'],
    false,
    false,
    false,
    false);
Copy

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);
Copy

library.register_table – Obsolète

Attention

Cette commande est désormais obsolète. Utilisez plutôt library.register_objects.

Description : Semblable à register_db, mais opère au niveau de la table. Accordez le privilège SELECT sur cette table au rôle SAMOOHA_APP_ROLE, ce qui permettra à l’utilisateur d’établir un lien entre la table et la salle blanche.

Si vous souhaitez enregistrer des tables dans un schéma d’accès géré (c’est-à-dire un schéma créé à l’aide du paramètre WITH MANAGED ACCESS), utilisez plutôt library.register_managed_access_table.

Arguments : table_name (array)

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

call samooha_by_snowflake_local_db.library.register_table(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
Copy

library.register_managed_access_table – Obsolète

Attention

Cette commande est désormais obsolète. Utilisez plutôt library.register_objects.

Description : Semblable à register_table, mais enregistre les tables dans un schéma qui a été créé à l’aide du paramètre WITH MANAGED ACCESS. Une table ou une chaîne représentant le nom pleinement qualifié de la table peut être transmis, et des sélections d’attributions au rôle SAMOOHA_APP_ROLE sont effectuées, permettant à l’utilisateur de lier la table à la salle blanche.

Arguments : table_name (array)

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

call samooha_by_snowflake_local_db.library.register_managed_access_table(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
Copy

library.register_view – Obsolète

Attention

Cette commande est désormais obsolète. Utilisez plutôt library.register_objects.

Description : Semblable à register_db, mais opère au niveau de la vue. Un tableau ou une chaîne représentant le nom pleinement qualifié de la vue peut être transmis, et des sélections d’attributions au rôle SAMOOHA_APP_ROLE sont effectuées, permettant à l’utilisateur de lier la vue à la salle blanche.

Si vous souhaitez enregistrer des vues dans un schéma d’accès géré (c’est-à-dire un schéma créé à l’aide du paramètre WITH MANAGED ACCESS), utilisez plutôt library.register_managed_access_view.

Arguments : view_name (array)

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

call samooha_by_snowflake_local_db.library.register_view(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
Copy

library.register_managed_access_view – Obsolète

Attention

Cette commande est désormais obsolète. Utilisez plutôt library.register_objects.

Description : Semblable à register_view, mais enregistre les vues dans un schéma créé à l’aide du paramètre WITH MANAGED ACCESS. Un tableau ou une chaîne représentant le nom pleinement qualifié de la vue peut être transmis, et des sélections d’attributions au rôle SAMOOHA_APP_ROLE sont effectuées, permettant à l’utilisateur de lier la vue à la salle blanche.

Arguments : view_name (array)

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

call samooha_by_snowflake_local_db.library.register_managed_access_view(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
Copy

library.unregister_table_or_view – Obsolète

Attention

Cette commande est désormais obsolète. Utilisez plutôt library.unregister_objects.

Description : Annule l’enregistrement des tables et des vues de tous types.

Arguments : object_names (array), is_view (boolean), is_iceberg (boolean), is_external (boolean), is_under_managed_access_schema (boolean)

Renvoie : (string) Message de réussite ou d’échec.

Exemples

Pour annuler l’enregistrement d’une table :

call samooha_by_snowflake_local_db.library.unregister_table_or_view(
    ['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS'],
    false,
    false,
    false,
    false);
Copy

library.unregister_table – Obsolète

Attention

Cette commande est désormais obsolète. Utilisez plutôt library.unregister_objects.

Description : Semblable à unregister_db, mais opère au niveau de la table. Un tableau ou une chaîne représentant le nom de table complet peut être transmis pour annuler l’enregistrement des tables. Les utilisateurs ne peuvent pas lier des tables non enregistrées à une salle blanche.

Si vous souhaitez annuler l’enregistrement des tables dans un schéma d’accès géré (c’est-à-dire un schéma créé à l’aide du paramètre WITH MANAGED ACCESS), utilisez plutôt library.unregister_managed_access_table.

Arguments : table_name (array)

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

call samooha_by_snowflake_local_db.library.unregister_table(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
Copy

library.unregister_managed_access_table – Obsolète

Attention

Cette commande est désormais obsolète. Utilisez plutôt library.unregister_objects.

Description : Similaire à unregister_table, mais annule l’enregistrement des tables dans un schéma d’accès géré (c’est-à-dire un schéma créé à l’aide du paramètre WITH MANAGED ACCESS).

Arguments : table_name (array)

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

call samooha_by_snowflake_local_db.library.unregister_managed_access_table(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
Copy

library.unregister_view – Obsolète

Attention

Cette commande est désormais obsolète. Utilisez plutôt library.unregister_objects.

Description : Similaire à unregister_db, mais opère au niveau de la vue. Un tableau ou une chaîne représentant le nom de vue complet peut être transmis pour annuler l’enregistrement des vues. Les utilisateurs ne peuvent pas lier des vues non enregistrées à une salle blanche.

Si vous souhaitez annuler l’enregistrement des vues dans un schéma d’accès géré (c’est-à-dire un schéma créé à l’aide du paramètre WITH MANAGED ACCESS), utilisez plutôt library.unregister_managed_access_view.

Arguments : view_name (array)

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

call samooha_by_snowflake_local_db.library.unregister_view(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
Copy

library.unregister_managed_access_view – Obsolète

Attention

Cette commande est désormais obsolète. Utilisez plutôt library.unregister_objects.

Description : Similaire à unregister_view, mais annule l’enregistrement des vues dans un schéma d’accès géré (c’est-à-dire un schéma créé à l’aide du paramètre WITH MANAGED ACCESS).

Arguments : view_name (array)

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

call samooha_by_snowflake_local_db.library.unregister_managed_access_view(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
Copy

provider.create_cleanroom_listing – Obsolète

Attention

Cette commande est désormais obsolète. Utilisez plutôt provider.create_or_update_cleanroom_listing.

Description : Après la configuration d’une salle blanche, crée une annonce privée avec la salle blanche sur le Marketplace de Snowflake et la partage avec les collaborateurs spécifiés.

Vous identifiez le collaborateur en utilisant le format orgname.account_name de son URL de compte. Le consommateur peut trouver cette chaîne en suivant les instructions de la section Recherche du nom de l’organisation et du compte pour un compte.

Note

Pour utiliser cette procédure, vous devez avoir ensemble la directive de version. Pour plus d’informations, voir provider.set_default_release_directive.

Arguments : cleanroom_name (string), consumer_account_name (string)

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

call samooha_by_snowflake_local_db.provider.create_cleanroom_listing($cleanroom_name, <consumerorg.consumeracct>);
Copy

provider.register_cleanroom_in_ui – DEPRECATED

Attention

Cette commande est désormais obsolète. Vous n’avez plus besoin d’enregistrer manuellement un modèle de salle blanche pour l’utiliser dans l’application Web.

Description : Enregistre une salle blanche en vue de son utilisation dans l’application Web par le consommateur. La salle blanche est créée et configurée par le fournisseur à l’aide des APIs du développeur. Cette commande l’enregistre ensuite dans l’application Web pour que les consommateurs puissent l’installer, ajouter leur table et exécuter toutes les analyses personnalisées que vous avez ajoutées sans avoir besoin d’utiliser les APIs de développement. Ils travaillent avec la salle blanche entièrement via l’interface utilisateur de l’application Web.

Vous pouvez appeler cette API plus d’une fois pour inclure plusieurs modèles personnalisés dans l’application Web.

Arguments : cleanroom_name (String), template name (String), consumer_account_locator (String), user_email (String)

Renvoie : (string) Message de réussite ou d’échec.

Exemple :

call samooha_by_snowflake_local_db.provider.register_cleanroom_in_ui($cleanroom_name, 'prod_custom_template', <CONSUMER ACCOUNT LOCATOR>, <USER_EMAIL>)
Copy