Snowflake Data Clean Rooms : guide de référence pour l’API de consommateur¶
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.
Gérer l’accès des rôles¶
grant_run_on_cleanrooms_to_role¶
- Schéma:
CONSUMER
Description : accorde au rôle spécifié l’autorisation d’exécuter un sous-ensemble de procédures sur les clean rooms spécifiées. Clean rooms doit être installée dans ce compte, et non créée par ce compte. (C’est-à-dire uniquement les clean rooms pour lesquelles vous êtes consommateur)
Pour accorder un usage limité à vos salles blanches, accordez aux utilisateurs le rôle spécifié plutôt que SAMOOHA_APP_ROLE. Pour plus d’informations sur l’accès aux rôles, voir Donner l’accès complet à l’API.
Les procédures suivantes peuvent être exécutées à l’aide d’un rôle spécifié ici :
consumer.view_added_templates
consumer.view_added_template_chains
consumer.get_arguments_from_template
consumer.view_column_policy
consumer.view_consumer_datasets
consumer.view_join_policy
consumer.view_provider_column_policy
consumer.view_provider_datasets
consumer.view_provider_join_policy
consumer.view_remaining_privacy_budget
consumer.run_analysis
consumer.view_provider_activation_policy
consumer.view_activation_policy
consumer.run_activation
Arguments :
cleanroom_names (String) - Noms de toutes les salles blanches auxquelles accorder un accès limité au rôle spécifié.
run_role_name (String) - Nom d’un rôle qui a des autorisations limitées pour les clean rooms spécifiées. Vous devez créer le rôle avant d’appeler cette procédure.
Renvoie : (String) - Message de réussite.
Exemple :
CREATE ROLE MARKETING_ANALYST_ROLE;
CALL samooha_by_snowflake_local_db.consumer.grant_run_on_cleanrooms_to_role(
['overlap_cleanroom', 'market_share_cleanroom'],
'MARKETING_ANALYST_ROLE'
);
revoke_run_on_cleanrooms_from_role¶
- Schéma:
CONSUMER
Description : Révoque les autorisations des rôles spécifiés sur les salles blanches spécifiées. Si l’utilisateur a accès à un rôle non révoqué ou dispose du SAMOOHA_APP_ROLE, il peut toujours exécuter des procédures de salle blanche dans les salles blanches spécifiées.
Arguments :
cleanroom_names (String) - Noms d’une ou plusieurs salles blanches de ce compte.
run_role_name (String) - Nom du rôle qui ne doit plus avoir d’autorisations limitées sur les clean rooms spécifiées dans ce compte.
Renvoie : (String) - Message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.consumer.revoke_run_on_cleanrooms_from_role(
['overlap_cleanroom', 'market_share_cleanroom'],
'TEMP_USERS_ROLE'
);
Installer une salle blanche.¶
Procédures d’installation ou de désinstallation d’une salle blanche.
install_cleanroom¶
- Schéma:
CONSUMER
Description : Installe (joint) la salle blanche créée par le fournisseur spécifié. L’appel multiple de cette fonction efface la salle blanche existante à chaque fois ; si vous interrompez une deuxième installation avant qu’elle ne soit terminée, la salle blanche est corrompue et vous devrez terminer cette procédure pour rendre la salle blanche utilisable.
Arguments :
cleanroom_name (String) - Nom de la salle blanche à installer.
provider_account_locator (String) - Emplacement du compte du fournisseur qui a créé cette clean room.
Retourne : (String) message de réussite.
Traitement des erreurs :
Si vous obtenez une erreur indiquant que « L’exécution automatique inter-Cloud n’est pas activée pour ce compte », cela signifie que le fournisseur se trouve dans une autre région d’hébergement Cloud. Vous devez activer l’exécution automatique inter-Cloud comme décrit dans Gestion de la réplication automatique dans le Cloud Snowflake Data Clean Rooms.
Exemple :
CALL samooha_by_snowflake_local_db.consumer.install_cleanroom(
$cleanroom_name,
$provider_locator);
is_enabled¶
- Schéma:
CONSUMER
Description : Il peut y avoir un court délai après l’installation de la salle blanche avant qu’elle soit prête à être utilisée. Vous pouvez appeler cette procédure pour confirmer si la salle blanche est prête à être utilisée après l’installation.
Arguments :
cleanroom_name (String) - Nom de la salle blanche dont il faut vérifier le statut.
Renvoie : (booléen) Indique si la salle blanche spécifiée est installée et prête à être utilisée.
Exemple :
CALL samooha_by_snowflake_local_db.consumer.is_enabled($cleanroom_name);
uninstall_cleanroom¶
- Schéma:
CONSUMER
Description : désinstalle la salle blanche sur le compte du consommateur. Cette opération supprime toutes les bases de données associées à la salle blanche, y compris la base de données partagée de la salle blanche. La salle blanche peut toujours être réinstallée en appelant consumer.install_cleanroom
.
Arguments :
cleanroom_name (String) - Nom de la salle blanche à désinstaller.
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.consumer.uninstall_cleanroom($cleanroom_name);
Collaboration inter-Cloud¶
Installer une salle blanche créée dans une autre région Cloud.
enable_laf_on_account¶
- Schéma:
LIBRARY
Description : active l’exécution automatique inter-Cloud sur le compte courant. Exige le rôle ACCOUNTADMIN.
Important
Vous devez d’abord activer l’exécution automatique inter-Cloud pour votre compte en appelant SYSTEM$ENABLE_GLOBAL_DATA_SHARING_FOR_ACCOUNT. En savoir plus sur l’exécution automatique et gestion des privilèges de l’exécution automatique.
Arguments : Aucun
Retourne : (String) message de réussite.
Exemple :
USE ROLE ACCOUNTADMIN;
CALL samooha_by_snowflake_local_db.library.enable_laf_on_account();
disable_laf_on_account¶
- Schéma:
LIBRARY
Description : désactive l’exécution automatique inter-Cloud sur le compte actuel. Exige le rôle ACCOUNTADMIN.
Important
Vous devez appeler SYSTEM$ENABLE_GLOBAL_DATA_SHARING_FOR_ACCOUNT avant d’appeler cette procédure. En savoir plus sur l’exécution automatique et gestion des privilèges de l’exécution automatique.
Arguments : Aucun
Retourne : (String) message de réussite.
Exemple :
USE ROLE ACCOUNTADMIN;
CALL samooha_by_snowflake_local_db.library.disable_laf_on_account();
is_laf_enabled_for_cleanroom¶
- Schéma:
CONSUMER
Description : décrit si l’exécution automatique inter-Cloud a été activée ou non pour cette clean room. L’exécution automatique inter-Cloud doit être configurée par un administrateur de compte.
Arguments :
cleanroom_name (String) - Nom de la salle blanche.
Retours : l’activation ou non de la réplication automatique inter-Cloud pour cette clean room.
Exemple :
CALL samooha_by_snowflake_local_db.consumer.is_laf_enabled_for_cleanroom($cleanroom_name);
request_laf_cleanroom¶
- Schéma:
CONSUMER
Description : définit les conditions préalables à l’installation d’une salle blanche créée sur une autre région Cloud. L’appel de consumer.install_room
avant d’appeler cette procédure échoue. Cette procédure renvoie le statut actuel à chaque fois que vous appelez. Appelez périodiquement jusqu’à ce que le statut soit FULFILLED, puis appelez consumer.install_cleanroom
. Il peut s’écouler jusqu’à 10 minutes avant que le statut soit FULFILLED.
Arguments :
cleanroom_name (String) - Nom de la salle blanche inter-régions qui sera installée.
provider_locator (String) - Emplacement du compte du fournisseur qui a créé cette clean room.
Retourne : (String) Message de statut de la requête. Continuez à appeler jusqu’à ce que le statut soit FULFILLED.
Exemple :
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.consumer.request_laf_cleanroom(
$cleanroom_name,$provider_locator);
Analyse exécutée par le fournisseur¶
Pour plus d’informations sur l’analyse par le fournisseur, voir Analyse exécutée par le fournisseur.
is_provider_run_enabled¶
- Schéma:
LIBRARY
Description : Vérifie que cette salle blanche autorise les analyses effectuées par le fournisseur. Le consommateur doit encore accorder une autorisation explicite en appelant consumer.enable_templates_for_provider_run
avant que les fournisseurs puissent effectuer une analyse dans cette salle blanche.
Arguments :
cleanroom_name (String) - Nom de la salle blanche.
Renvoie : (String) Description indiquant si la salle blanche prend ou non en charge les analyses effectuées par le fournisseur.
Exemple :
CALL samooha_by_snowflake_local_db.library.is_provider_run_enabled($cleanroom_name)
approve_template¶
- Schéma:
CONSUMER
Description : approuve un modèle unique pour l’analyse par le fournisseur dans une salle blanche donnée. Le fournisseur de la salle blanche communique généralement avec vous au préalable pour demander l’autorisation d’exécuter un modèle spécifique dans une salle blanche. Assurez-vous de définir des politiques de jointure et de colonne sur un modèle avant de l’approuver pour l’analyse par le fournisseur :
Une salle blanche sans une politique de jointure du consommateur signifie que le fournisseur peut se joindre à toutes les colonnes du consommateur.
Une salle blanche sans de politique de colonnes du consommateur signifie que le fournisseur peut projeter toutes les colonnes du consommateur.
Une salle blanche avec une politique de colonnes du consommateur qui n’inclut pas ce modèle approuvé signifie que le fournisseur ne peut pas projeter de colonnes de consommateurs lorsqu’il utilise ce modèle.
Arguments :
cleanroom_name (String) - Nom de la salle blanche pour laquelle le modèle doit être approuvé.
template_name (string) - Nom du modèle que le fournisseur peut exécuter, dans la salle blanche spécifiée.
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.consumer.approve_template(
$cleanroom_name,
$template_name);
set_provider_run_configuration¶
- Schéma:
CONSUMER
Description : applique des paramètres à un modèle qui contrôlent la manière dont un fournisseur peut exécuter un modèle spécifié dans la salle blanche. Si le consommateur ne fournit pas de configuration pour un modèle, les valeurs par défaut sont appliquées. Un fournisseur ne peut pas exécuter un modèle tant qu’un consommateur n’a pas approuvé le modèle pour les analyses menées par le fournisseur en appelant consumer.approve_template
.
Arguments :
cleanroom_name (String) - Nom de la salle blanche. Si le modèle n’est pas présent dans cette salle blanche, la procédure génère une erreur. Le modèle n’a pas encore besoin d’être approuvé pour l’analyse par le fournisseur, mais le fournisseur ne pourra pas exécuter le modèle tant que le consommateur ne l’aura pas approuvé.
template_configuration (Objet) - Un objet qui limite la manière dont un fournisseur peut exécuter un modèle spécifique dans cette salle blanche. Les analyses gérées par le fournisseur sont exécutées dans le compte du consommateur et facturées au consommateur, afin que ce dernier puisse définir des limites quant aux entrepôts pouvant être utilisés pour un modèle donné. L’objet de configuration a cette forme :
{ <template_name>: { "warehouse_type": <warehouse_type>, "warehouse_size": <warehouse_size> } }
Vous devez fournir toutes les valeurs suivantes :
template_name
- La clé de l’objet est le nom du modèle. La configuration est appliquée à ce modèle. Ce modèle doit être présent dans la salle blanche.warehouse_type
(String) - Le type d’entrepôt que le fournisseur peut utiliser pour exécuter ce modèle. Valeurs autorisées :ALL - (Default) Autorise tout type d’entrepôt.
STANDARD - Autorise uniquement un entrepôt standard.
SNOWPARK-OPTIMIZED - Autorise uniquement un entrepôt optimisé pour Snowpark. XLARGE ou X-LARGE) est pris en charge.
ALL - (Default) Toute taille d’entrepôt autorisée.
Toute taille définie pour WAREHOUSE_SIZE, ou leurs synonymes (par exemple, XLARGE ou X-LARGE) est prise en charge.
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.consumer.set_provider_run_configuration(
$cleanroom_name,
{
"some_template": {
"warehouse_type": "STANDARD",
"warehouse_size": ["MEDIUM", "LARGE"]
}
}
);
enable_templates_for_provider_run¶
- Schéma:
CONSUMER
Description : accorde l’autorisation au fournisseur d’effectuer une analyse dans la salle blanche demandée. Cette opération est appelée après que le fournisseur ait appelé provider.enable_provider_run_analysis
pour permettre l’analyse par le fournisseur d’une salle blanche. consumer.enable_templates_for_provider_run
accorde au fournisseur l’autorisation d’exécuter les modèles spécifiés dans la salle blanche spécifiée autant de fois qu’il le souhaite.
Les fournisseurs exécutent les modèles activés dans le compte du consommateur et sont facturés au consommateur. Si vous souhaitez limiter le type ou les tailles d’entrepôt autorisées à un fournisseur lors de l’exécution d’un modèle donné, appelez set_provider_run_configuration
,
Arguments :
cleanroom_name (String) - Le nom de la salle blanche où le fournisseur peut effectuer des analyses.
template_names (Array of strings) - Un tableau de noms d’un ou plusieurs modèles de la clean room que le fournisseur peut exécuter.
enable_differential_privacy (Boolean) - Si TRUE, active la confidentialité différentielle pour tous les modèles listés dans
template_names
. La confidentialité différentielle ne peut être activée pour ces modèles que si elle est activée pour la salle blanche elle-même. Vous pouvez vérifier le statut de confidentialité différentielle pour une salle blanche en appelantconsumer.is_dp_enabled
. Vous pouvez personnaliser les paramètres de confidentialité en appelantconsumer.set_privacy_settings
. Pour en savoir plus.template_configuration (Objet, facultatif) - Un objet facultatif pour spécifier des paramètres supplémentaires pour chaque modèle dans
template_names
. Cet objet contient des paires clé-valeur, où la clé est le nom du modèle (detemplate_names
) et la valeur est un objet qui limite la façon dont le fournisseur peut utiliser ce modèle. Si vous ne fournissez pas de configuration de modèle, «ALL» est la valeur par défaut de toutes les propriétés de tous les modèles danstemplate_names
. Si vous fournissez une configuration de modèle, vous devez fournir une configuration pour chaque modèle répertorié danstemplate_names
, et définir toutes les propriétés de la configuration de ce modèle. Vous pouvez également définir les valeurs autorisées pour un modèle en appelantconsumer.set_provider_run_configuration
.Les propriétés suivantes sont prises en charge :
warehouse_type
(String) - Un type d’entrepôt autorisé que le fournisseur peut utiliser avec ce modèle. Valeurs autorisées :ALL - Autorise tout type d’entrepôt.
STANDARD - Autorise uniquement un entrepôt standard.
SNOWPARK-OPTIMIZED - Autorise uniquement un entrepôt optimisé pour Snowpark.
warehouse_size
(Array of strings) - Une ou plusieurs tailles d’entrepôt autorisées qui peuvent être utilisées avec ce type et ce modèle d’entrepôt. Les valeurs autorisées sont celles définies pour WAREHOUSE_SIZE ou leurs synonymes (par exemple, XLARGE ou X-LARGE). Spécifier «ALL» pour autoriser toute taille d’entrepôt.
Retourne : (String) message de réussite.
Exemples :
-- Simple example
CALL samooha_by_snowflake_local_db.consumer.enable_templates_for_provider_run(
$cleanroom_name,
['prod_overlap_analysis'],
FALSE);
-- Specify what types of warehouse the provider can use to run these templates.
CALL samooha_by_snowflake_local_db.CONSUMER.enable_templates_for_provider_run(
$cleanroom_name,
['template1', 'template2', 'template3'],
TRUE,
{
'template1': {'warehouse_type': 'ALL', 'warehouse_size': ['MEDIUM', 'LARGE']},
'template2': {'warehouse_type': 'SNOWPARK-OPTIMIZED', 'warehouse_size': ['MEDIUM', 'XLARGE']},
'template3': {'warehouse_type': 'STANDARD', 'warehouse_size': ['MEDIUM', 'XLARGE']}
});
Analyses multi-fournisseurs¶
Ces procédures permettent une analyse multi-fournisseurs.
prepare_multiprovider_flow¶
- Schéma:
CONSUMER
Description : envoie une requête d’exécution d’une requête multi-fournisseurs aux fournisseurs des salles blanches spécifiées. Cette procédure n’exécute pas réellement la requête ; elle demande simplement au fournisseur l’autorisation d’exécuter cette requête à l’avenir en appelant consumer.execute_multiprovider_flow
.
Si un fournisseur accorde l’approbation, le consommateur peut alors exécuter la requête en appelant consumer.execute_multiprovider_flow
aussi souvent qu’il le souhaite (en fonction des paramètres de confidentialité différentielle configurés). Pour réexécuter une requête précédemment approuvée après avoir appelé prepare_multiprovider_flow
avec de nouvelles valeurs, le consommateur doit appeler prepare_multiprovider_flow
avec la requête précédente exacte, mais il n’a pas besoin d’attendre l’approbation du fournisseur avant d’exécuter consumer.execute_multiprovider_flow
.
La requête est valable pendant quatre heures, après quoi elle sera retirée de la file d’attente.
Arguments :
cleanroom_names (String) - Tableau de noms de salles blanches dans le compte du consommateur. Ces salles blanches doivent être installées.
template_name (String) - Nom du modèle à exécuter dans chacune des salles blanches répertoriées dans
cleanroom_names
. Il peut s’agir d’un modèle fourni par Snowflake ajouté par le fournisseur de la salle blanche, ou d’un modèle personnalisé que vous avez précédemment soumis à la salle blanche en appelantconsumer.create_template_request
. Dans les deux cas, le modèle doit déjà être présent dans une salle blanche pour que la requête soit soumise au fournisseur de la salle blanche.arguments (Object) - Un objet avec les champs suivants, utilisé pour remplir le modèle :
source_table
(String array) - Un tableau de noms de tables utilisés pour remplir le tableausource_table
disponible pour le modèle. La syntaxe pour chaque nom de table estcleanroom_name.db.schema.table
. Chaque fournisseur ne voit que ses propres tables de salle blanche répertoriées dans la requête.my_table
(String array) - Un tableau de noms de tables de vos propres données qui sont utilisés pour remplir le tableaumy_table
disponible pour le modèle. Utiliser la même syntaxe que celle transmise à l’argumentconsumer_tables
deconsumer.run_analysis
.Toute autre variable de modèle - Transmettre toutes les valeurs requises pour le modèle sous forme de paires clé-valeur.
Returns : (String) ID de requête à transmettre au consommateur . execute_multiprovider_flow
.
Exemple :
CALL samooha_by_snowflake_local_db.consumer.prepare_multiprovider_flow(
[$cleanroom_name_1, $cleanroom_name_2],
'prod_aggregate_data',
object_construct(
'source_table', [
CONCAT($cleanroom_name_1, '.SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS'),
CONCAT($cleanroom_name_2, '.SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS')
],
'my_table', ['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']),
'hem_col', ['p1.HASHED_EMAIL', 'p2.HASHED_EMAIL'],
'dimensions', ['p1.STATUS', 'p2.STATUS'],
'consumer_join_col', 'HASHED_EMAIL'
)
);
execute_multiprovider_flow¶
- Schéma:
CONSUMER
Description : exécute la requête la plus récente soumise par le consommateur à consumer.prepare_multiprovider_flow
. La procédure exécute la requête dans chaque clean room spécifiée où la requête a été approuvée par le fournisseur et renvoie l’union de tous les résultats de la requête. L’exécution de cette procédure est le seul moyen de savoir si un fournisseur a approuvé une requête.
Arguments :
cleanroom_names (String) - Tableau de noms de salles blanches où la requête préparée doit être exécutée. Ce tableau doit correspondre à la liste complète des salles blanches dans la requête de requête.
request_id (String, facultatif) - ID de requête renvoyée par
prepare_multiprovider_flow
.
Retourne : (Table) union des résultats de toutes les clean rooms agréées. Si un fournisseur n’a jamais approuvé une requête de ce consommateur, la requête échouera. Toutefois, si un fournisseur a approuvé une autre requête de ce consommateur, mais pas la requête la plus récente, la procédure renverra un jeu de résultats vide.
Exemple :
CALL samooha_by_snowflake_local_db.consumer.execute_multiprovider_flow(
[$cleanroom1, $cleanroom2],
$request_id);
Enregistrer et annuler l’enregistrement des données¶
Utilisez les procédures suivantes 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. Pour plus d’informations sur l’enregistrement des données, voir Enregistrement des données.
register_db¶
- Schéma:
CONSUMER
Description : enregistre une base de données dans un compte pour pouvoir lier tout objet de cette base de données à une salle blanche dans ce compte. Pour un contrôle plus précis, vous pouvez appeler register_schema
, register_managed_access_schema
, ou register_object
à la place. Les objets ajoutés à la base de données après son enregistrement peuvent ne pas être liés, auquel cas vous devez réenregistrer la base de données (ou enregistrer l’objet lui-même).
Vous devez avoir les privilèges MANAGE GRANTS sur la base de données pour exécuter cette procédure.
Arguments :
db_name (String) - Nom de la base de données à enregistrer dans ce compte.
Retourne : (String) message de réussite.
Exemple :
USE ROLE <ROLE_WITH_MANAGE GRANTS>;
CALL samooha_by_snowflake_local_db.consumer.register_db('SAMOOHA_SAMPLE_DATABASE');
register_schema¶
- Schéma:
LIBRARY
Description : enregistre un schéma dans un compte pour pouvoir lier tout objet de ce schéma à une salle blanche dans ce compte. Pour un contrôle plus précis, vous pouvez appeler register_object
à la place. Les objets ajoutés au schéma après son enregistrement peuvent ne pas être liés, auquel cas vous devez réenregistrer le schéma (ou enregistrer l’objet lui-même).
Si vous souhaitez enregistrer un schéma d’accès géré (c’est-à-dire un schéma créé avec le paramètre WITH MANAGED ACCESS), utilisez library.register_managed_access_schema
plutôt.
Arguments :
schema_names (Array of strings) - Tableau de schémas entièrement qualifiés à enregistrer.
Retourne : (String) message de réussite.
Exemple :
USE ROLE <ROLE_WITH_MANAGE GRANTS>;
CALL samooha_by_snowflake_local_db.library.register_schema(['SAMOOHA_SAMPLE_DATABASE.DEMO']);
register_managed_access_schema¶
- Schéma:
LIBRARY
Description : enregistre un schéma d’accès géré dans un compte pour pouvoir lier tout objet de ce schéma à une salle blanche de ce compte. Pour un contrôle plus précis, vous pouvez appeler register_object
à la place. Les objets ajoutés au schéma après son enregistrement peuvent ne pas être liés, auquel cas vous devez réenregistrer le schéma (ou enregistrer l’objet lui-même).
Arguments :
schema_names (Array of strings) - Tableau de schémas gérés entièrement qualifiés à enregistrer.
Retourne : (String) message de réussite.
Exemple :
USE ROLE <ROLE_WITH_MANAGE GRANTS>;
CALL samooha_by_snowflake_local_db.library.register_managed_access_schema(['SAMOOHA_SAMPLE_DATABASE.DEMO']);
register_objects¶
- Schéma:
LIBRARY
Description: Accorde l’accès en salle blanche aux tables et aux vues de tous types, les rendant ainsi disponibles pour les lier dans la salle blanche via l’appel à consumer.link_datasets
. Vous pouvez enregistrer des groupes d’objets plus larges en appelant library.register_schema
, library.register_managed_access_schema
ou consumer.register_db
. Vous devez avoir les privilèges MANAGE GRANTS sur la base de données pour exécuter cette procédure.
Arguments :
object_names (array) - Tableau de noms d’objets entièrement qualifiés. Ces objets peuvent ensuite être reliés à la salle blanche.
Retourne : (String) message de réussite.
Exemples
Pour enregistrer une table et une vue :
USE ROLE <ROLE_WITH_MANAGE GRANTS>;
CALL samooha_by_snowflake_local_db.library.register_objects(
['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS','SAMOOHA_SAMPLE_DATABASE.INFORMATION_SCHEMA.FIELDS']);
enable_external_tables_on_account¶
- Schéma:
LIBRARY
Description : 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
.
Arguments : Aucun
Retourne : (String) message de réussite.
Exemple :
USE ROLE ACCOUNTADMIN;
CALL samooha_by_snowflake_local_db.library.enable_external_tables_on_account();
enable_external_tables_for_cleanroom¶
- Schéma:
CONSUMER
Description : permet aux tables Iceberg ou externes d’être liées à la clean room spécifiée dans ce compte par le consommateur. Pour autoriser Iceberg et les tables externes pour toutes les clean rooms de ce compte, appelez plutôt enable_external_tables_on_account
.
Arguments :
cleanroom_name (String) - Nom de la salle blanche dans laquelle le fournisseur peut lier des tables Iceberg ou des tables externes.
Renvoie : (String) Message de réussite. En cas de réussite, il déclenche une analyse de sécurité et fournit également le numéro du correctif généré si l’analyse de sécurité réussit.
Exemple :
CALL samooha_by_snowflake_local_db.provider.enable_external_tables_for_cleanroom(
$cleanroom_name);
unregister_db¶
- Schéma:
LIBRARY
Description : supprime les autorisations au niveau de la base de données accordées au rôle SAMOOHA_APP_ROLE et à l’application native Snowflake Data Clean Room. Les données de cette base de données liées à une salle blanche ne seront plus accessibles dans ce compte. Vous devez avoir les privilèges MANAGE GRANTS sur la base de données pour exécuter cette procédure.
Arguments :
db_name (String) - Nom de la base de données dont il faut annuler l’enregistrement.
Retourne : (String) message de réussite.
Exemple :
USE ROLE <ROLE_WITH_MANAGE GRANTS>;
CALL samooha_by_snowflake_local_db.library.unregister_db('SAMOOHA_SAMPLE_DATABASE');
unregister_schema¶
- Schéma:
LIBRARY
Description : annule l’enregistrement d’un ou plusieurs schémas, ce qui empêche les utilisateurs de lier leurs tables et vues à 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éé avec le paramètre WITH MANAGED ACCESS), utilisez library.unregister_managed_access_schema
à la place. Vous devez avoir les privilèges MANAGE GRANTS sur la base de données pour exécuter cette procédure.
Arguments :
schema_names (Array of strings) - Noms entièrement qualifiés des schémas à désenregistrer.
Retourne : (String) message de réussite.
Exemple :
USE ROLE <ROLE_WITH_MANAGE GRANTS>;
CALL samooha_by_snowflake_local_db.library.unregister_schema(['SAMOOHA_SAMPLE_DATABASE.PUBLIC', 'MY_DB.MY_SCH']);
unregister_managed_access_schema¶
- Schéma:
LIBRARY
Description : annule l’enregistrement d’un ou plusieurs schémas d’accès gérés, ce qui empêche les utilisateurs de lier leurs tables et vues à la salle blanche.
Arguments :
schema_names (Array of strings) - Noms entièrement qualifiés des schémas à désenregistrer.
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.library.unregister_managed_access_schema(['SAMOOHA_SAMPLE_DATABASE.DEMO']);
unregister_objects¶
- Schéma:
LIBRARY
Description: Révoque l’accès en salle blanche aux tables et vues de tous types. Les objets ne seront plus disponibles pour les utilisateurs dans les salles blanches gérées par ce compte.
Arguments :
object_names (array) - Tableau de noms d’objets pleinement qualifiés auxquels révoquer l’accès.
Retourne : (String) message de réussite.
Exemples
Pour annuler l’enregistrement d’une table et d’une vue :
USE ROLE <ROLE_WITH_MANAGE GRANTS>;
CALL samooha_by_snowflake_local_db.library.unregister_objects(
['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS','MY_DB.MY_SCH.MY_VIEW']);
Lier et dissocier des ensembles de données¶
Une fois qu’un ensemble de données a été enregistré, vous pouvez lier des tables ou des vues de cet ensemble de données à une salle blanche spécifique. Vous pouvez également dissocier une table ou une vue d’une salle blanche spécifique pour supprimer l’accès à ces données depuis la salle blanche.
link_datasets¶
- Schéma:
CONSUMER
Description: Lier une table ou une vue à la salle blanche, en donnant aux modèles de cette salle blanche l’accès à la table, selon les politiques de jointure et de colonne que vous spécifiez.
Arguments :
cleanroom_name (String) - Nom de la salle blanche dans laquelle les données doivent être liées.
full_tables (Array of strings) - Liste des noms de tables ou de vues entièrement qualifiés à exposer à la salle blanche. Ces objets doivent d’abord être enregistrés (mis à la disposition de l’environnement de la salle blanche) avec la méthode d’enregistrement appropriée.
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.consumer.link_datasets(
$cleanroom_name,
['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS', 'MY_DB.MY_SCH.EXPOSURES']);
unlink_datasets¶
- Schéma:
CONSUMER
Description: Supprime l’accès aux tables ou vues spécifiées dans la salle blanche spécifiée pour tous les utilisateurs. Cela ne fonctionne que pour les données que vous avez liées à la salle blanche.
Arguments :
cleanroom_name (String) - Nom de la salle blanche dont l’accès doit être supprimé.
tables_list (Array of strings) - Liste des noms de tables ou de vues entièrement qualifiés dont l’accès doit être bloqué.
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.consumer.unlink_datasets(
$cleanroom_name,
['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS', 'MYDB.MYSCH.EXPOSURES']);
view_consumer_datasets¶
- Schéma:
CONSUMER
Description: Voir toutes les tables et vues liées à la salle blanche spécifiée par n’importe quel consommateur.
Arguments :
cleanroom_name (String) - Nom de la salle blanche.
Retourne : Table des objets liés à la salle blanche spécifiée, ainsi que le nom de la vue interne de la salle blanche pour chaque objet.
Exemple :
CALL samooha_by_snowflake_local_db.consumer.view_consumer_datasets($cleanroom_name);
Gérer et afficher des politiques¶
Gérer les politiques sur vos données dans une salle blanche que vous avez installée.
set_join_policy¶
- Schéma:
CONSUMER
Description : spécifie les colonnes sur lesquelles le fournisseur est autorisé à se joindre lorsqu’il exécute des modèles dans la salle blanche et lorsqu’il utilise une analyse exécutée par le fournisseur. La politique de colonnes est remplacement uniquement, donc si la fonction est appelée à nouveau, la politique de colonnes précédemment définie est complètement remplacée par la politique actuelle. Si vous ne spécifiez pas de politique de jointure pour vos données, toutes les colonnes peuvent être jointes.
Les requêtes comportant des caractères génériques peuvent contourner une politique de jointure, il faut donc faire preuve de discernement lorsque vous concevez votre modèle d’analyse.
Arguments :
cleanroom_name (String) - Nom de la salle blanche où la politique de jointure doit être appliquée.
table_col_names (String array) - Noms pleinement qualifiés des colonnes qui peuvent être jointes, au format
database name.schema name:column name
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.consumer.set_join_policy(
$cleanroom_name,
['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:HASHED_EMAIL', 'MYDB.MYSCH.EXPOSURES:HASHED_EMAIL']);
view_join_policy¶
- Schéma:
CONSUMER
Description : décrit les colonnes que les utilisateurs peuvent rejoindre en toute sécurité à l’intérieur d’une salle blanche, définies par le consommateur sur les ensembles de données des consommateurs.
Arguments :
cleanroom_name (String)
Retourne : La politique de jointure (table)
Exemple :
CALL samooha_by_snowflake_local_db.consumer.view_join_policy($cleanroom_name);
view_provider_join_policy¶
- Schéma:
CONSUMER
Description : décrit les colonnes que les utilisateurs peuvent rejoindre en toute sécurité à l’intérieur d’une salle blanche, définies par le fournisseur sur les ensembles de données du fournisseur.
Arguments :
cleanroom_name (String)
Retourne : La politique de jointure (table)
Exemple :
CALL samooha_by_snowflake_local_db.consumer.view_provider_join_policy($cleanroom_name);
set_column_policy¶
- Schéma:
CONSUMER
Description : définit les colonnes dans lesquelles les données du consommateur peuvent être projetées. La politique des colonnes est appliquée à un modèle dans une salle blanche. La politique des colonnes est remplacement uniquement, donc si la fonction est rappelée, la politique des colonnes précédemment définie est complètement remplacée par la politique actuelle. Si vous ne spécifiez pas de politique de colonnes, toutes les colonnes peuvent être projetées.
Ne définissez pas de politique de colonnes sur les colonnes d’identité ou les colonnes sensibles telles que les e-mails, car vous ne souhaitez généralement pas que ce type de données soit projeté.
Les requêtes comportant des caractères génériques peuvent ne pas être détectées par ces contrôles, alors faites preuve de discernement lorsque vous concevez le modèle d’analyse.
Arguments :
cleanroom_name (String) - Nom de la salle blanche où la politique de colonne est appliquée.
analysis_table_cols(String array) - Noms entièrement qualifiés des colonnes pouvant être projetées, au format
database name.schema name:column name
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.consumer.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'
]
);
view_column_policy¶
- Schéma:
CONSUMER
Description : affiche toutes les politiques de colonnes consommateur dans la salle blanche spécifiée. Pour voir les politiques de colonnes définies par le fournisseur, appelez consumer.view_provider_column_policy
.
Arguments :
cleanroom_name (String) - Nom de la salle blanche à décrire.
Renvoie : (Table) Informations sur toutes les politiques de colonnes des consommateurs dans la salle blanche.
Exemple :
CALL samooha_by_snowflake_local_db.consumer.view_column_policy($cleanroom_name);
view_provider_column_policy¶
- Schéma:
CONSUMER
Description : permet de voir toutes les politiques de colonne qui ont été appliquées à la salle blanche par le fournisseur.
Arguments :
cleanroom_name (String)
Retourne : La politique de la colonne (table)
Exemple :
CALL samooha_by_snowflake_local_db.consumer.view_provider_column_policy($cleanroom_name);
Modèles¶
Les procédures suivantes permettent aux utilisateurs de travailler avec des modèles dans la salle blanche.
view_template_definition¶
- Schéma:
CONSUMER
Description: Voir le JinjaSQL brut du modèle spécifié. Si un modèle a été masqué en appliquant l’argument is_obfuscated
, vous ne pouvez par voir le code source du modèle.
Arguments :
cleanroom_name (String) - Nom de la salle blanche qui détient le modèle.
template_name (String) - Nom du modèle à exécuter.
Returns: (String) La définition du modèle.
Exemple :
CALL samooha_by_snowflake_local_db.consumer.view_template_definition(
$cleanroom_name,
'prod_overlap_analysis');
get_arguments_from_template¶
- Schéma:
CONSUMER
Description : obtenir une liste des arguments utilisés par le modèle. Vous pouvez transmettre les valeurs de ces arguments au modèle lorsque vous appelez consumer.run_analysis
.
Arguments :
cleanroom_name (String) - Nom de la salle blanche qui détient le modèle.
template_name (String) - Nom du modèle pour lequel renvoyer des arguments.
Returns: (Table) Liste d’arguments et spécification.
Exemple :
CALL samooha_by_snowflake_local_db.consumer.get_arguments_from_template(
$cleanroom_name,
'prod_overlap_analysis');
Chaînes de modèles¶
Les procédures suivantes permettent aux utilisateurs de travailler avec des chaînes de modèles dans la salle blanche.
view_added_template_chains¶
- Schéma:
CONSUMER
Description : liste toutes les chaînes de modèles définies dans une salle blanche donnée.
Arguments :
cleanroom_name (String) - Nom de la salle blanche pour laquelle lister les chaînes de modèles.
Renvoie : (Table) Informations sur les chaînes de modèles dans la salle blanche spécifiée.
Exemple :
CALL samooha_by_snowflake_local_db.consumer.view_added_template_chains(
$cleanroom_name);
view_template_chain_definition¶
- Schéma:
CONSUMER
Description : renvoie les attributs d’une chaîne de modèles.
Arguments :
cleanroom_name (String) - Nom de la salle blanche avec la chaîne de modèles à décrire.
template_chain_name (String) - Nom de la chaîne de modèles à décrire.
Renvoie : (String) La définition de la chaîne de modèles spécifiée.
Exemple :
CALL samooha_by_snowflake_local_db.consumer.view_template_chain_definition(
$cleanroom_name,
'insights_chain');
Exécuter des analyses¶
La procédure suivante exécute une analyse ou une activation en fonction du modèle spécifié.
run_analysis¶
- Schéma:
CONSUMER
Description: Exécute une analyse à l’aide d’un modèle ou d’une chaîne de modèles et renvoie la table des résultats.
Important
Si la confidentialité différentielle est activée, la requête peut échouer si vous avez atteint votre limite budgétaire pour ce modèle.
Si un modèle a été masqué en appliquant l’argument
is_obfuscated
, vous devez utiliser Snowflake Enterprise Edition ou une édition supérieure pour pouvoir exécuter le modèle.
Arguments :
cleanroom_name (String) - Nom de la salle blanche dans laquelle l’analyse doit être effectuée.
template_name (String) - Nom du modèle ou de la chaîne de modèles à exécuter dans la salle blanche. Ce modèle doit avoir été ajouté à la salle blanche par le fournisseur ou le consommateur.
consumer_tables (Array of strings) - Tableau de noms de tables de consommateurs entièrement qualifiés. Ces valeurs sont affectées à la variable de modèle
my_table
. Ces tables doivent déjà être liées à la salle blanche. Pour connaître les tables disponibles, appelezconsumer.view_consumer_datasets
.provider_tables (Array of strings) - Tableau de noms de tables de fournisseurs entièrement qualifiés. Ces valeurs sont affectées à la variable de modèle
source_table
. Ces tables doivent avoir été liées à la salle blanche. Pour connaître les tables disponibles, appelezconsumer.view_provider_datasets
.analysis_arguments (Object) - Un objet contenant des paires de clés/valeurs transmises au modèle. Le modèle peut accéder à la variable par le nom de clé. Si vous transmettez
{'age': 20}
, le modèle accède à la valeur en tant que{{age}}
. Transmettez un objet vide si aucune valeur n’est requise. Pour voir quelles valeurs sont exigées, examinez le modèle en question en appelantconsumer.view_template_definition
. Examinez le modèle pour déterminer si vous devez qualifier complètement les noms de colonnes utilisés. Si la table est aliasée commep
ouc
dans le modèle, utilisez des alias de table en minusculep
etc
pour les noms de colonnes.Cet objet a une valeur réservée facultative :
epsilon
(flottant, facultatif) - Spécifie la valeur epsilon pour la confidentialité différentielle, si la confidentialité différentielle est activée pour cette salle blanche. La valeur par défaut est 0.1.
use_cache (booléen, facultatif) - Utilisation ou non des résultats mis en cache pour la même requête. La valeur par défaut est FALSE.
Retourne : (Table) Résultats de la requête.
Exemple :
CALL samooha_by_snowflake_local_db.consumer.run_analysis(
$cleanroom_name,
'prod_overlap_analysis',
['DB1.MYDATA.CONVERSIONS'], -- Consumer tables
['MYDB.MYSCH.EXPOSURES'], -- Provider tables
object_construct(
'max_age', 30
)
);
Activation¶
Les procédures suivantes gèrent l’activation, ou l’enregistrement des résultats sur le compte Snowflake d’un consommateur ou d’un fournisseur. Vous ne pouvez pas activer de données sur des comptes tiers à l’aide de l’API.
view_external_activation_history¶
- Schéma:
LIBRARY
Description : vue de l’historique des requêtes d’activation dans le compte courant.
Arguments : Aucun
Retourne : une table avec les détails et le statut des requêtes d’activation.
Exemple :
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.LIBRARY.view_external_activation_history();
set_activation_policy¶
- Schéma:
CONSUMER
Description: Définit les colonnes qui peuvent être utilisées dans un modèle d’activation. Cela garantit que seules les colonnes approuvées par le consommateur peuvent être utilisées avec le modèle d’activation. Si vous ne définissez pas de politique d’activation, aucune colonne de vos données ne peut être activée. La définition d’une politique d’activation écrase toute politique d’activation existante pour votre compte.
Arguments :
cleanroom_name (String) - Nom de la salle blanche dans laquelle définir la politique d’activation.
columns (array) - Nom des colonnes de vos propres données qui peuvent être activées, au format
template name:database name.schema name.table name:column_name
.
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.consumer.set_activation_policy(
$cleanroom_name,
[
'prod_overlap_analysis:SAMOOHA_SAMPLE_DATABASE_NAME.DEMO.CUSTOMERS:HASHED_EMAIL',
'prod_overlap_analysis:SAMOOHA_SAMPLE_DATABASE_NAME.DEMO.CUSTOMERS:REGION_CODE' ]);
approve_provider_activation_consent¶
- Schéma:
CONSUMER
Description: Approuve la requête du fournisseur pour autoriser l’activation du fournisseur, c’est-à-dire la possibilité de pousser les résultats vers le compte Snowflake du fournisseur.
Arguments :
cleanroom_name (String) - Nom de la salle blanche où le fournisseur demande l’exécution d’un modèle.
activation_template_name (String) - Nom du modèle d’activation que le fournisseur souhaite exécuter.
Renvoie : (String) Message de réussite. Cette procédure échoue si le fournisseur n’a pas appelé provider.request_provider_activation_consent
dans cette salle blanche avec le modèle spécifié.
Exemple :
CALL samooha_by_snowflake_local_db.consumer.approve_provider_activation_consent(
$cleanroom_name,
'activation_my_template');
run_activation¶
- Schéma:
CONSUMER
Description : exécute un modèle qui renvoie les résultats vers le compte Snowflake du consommateur ou du fournisseur. L’argument consumer_direct_activation
détermine s’il s’agit d’une activation du consommateur ou du fournisseur.
Arguments :
cleanroom_name (String) - Nom de la salle blanche dans laquelle l’activation doit être exécutée.
segment_name (String) - Chaîne arbitraire utilisée pour étiqueter les lignes générées par cette exécution d’activation. Chaque exécution d’activation ajoute de nouvelles lignes à une table de résultats existante. Indiquez une chaîne unique dans ce champ chaque fois que vous appelez cette procédure afin de pouvoir filtrer les résultats d’une exécution spécifique.
template_name (String) - Nom du modèle d’activation à appeler.
consumer_tables (Array of strings) - Tableau de noms de tables de consommateurs entièrement qualifiés à transmettre au modèle.
provider_tables (Array of strings) - Tableau de noms de tables de fournisseurs entièrement qualifiés à transmettre au modèle.
activation_arguments (Object) - Ensemble clé-valeur des arguments à transmettre au modèle.
consumer_direct_activation (Booléen, Facultatif) - TRUE pour renvoyer les résultats au compte du consommateur, FALSE pour envoyer les résultats au fournisseur. La valeur par défaut est FALSE.
Retourne : (String) message de réussite.
Exemple :
-- Run a consumer activation, as specified by the final TRUE argument.
SET segment_name = 'my_activation_segment';
CALL samooha_by_snowflake_local_db.consumer.run_activation(
$cleanroom_name,
$segment_name,
$template_name,
['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS'],
['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS'],
object_construct(
'c_join_col', 'c.hashed_email',
'p_join_col', 'p.hashed_email'
),
TRUE);
dcr_health.provider_run_provider_activation_history¶
Description : renvoie un historique des demandes d’activation des fournisseurs pour la salle blanche spécifiée. Les demandes d’activation de fournisseur initiées à la fois par le fournisseur et par le consommateur sont affichées. Cette procédure fournit des informations supplémentaires pour aider à déboguer les problèmes liés à l’activation du fournisseur.
Arguments :
cleanroom_name (String) - Nom de la salle blanche dans laquelle l’activation a été demandée. Vous devez être un fournisseur ou un consommateur dans cette salle blanche.
Renvoie : (Table) - Une liste de requêtes d’activation avec des informations sur chacune, y compris le modèle et le nom du segment, le statut, le localisateur de compte du consommateur et tout message d’erreur renvoyé par la requête.
Exemple :
CALL samooha_by_snowflake_local_db.dcr_health.provider_run_provider_activation_history(
$cleanroom_name);
Modèles définis par le consommateur¶
Les APIs suivantes vous permettent d’ajouter des modèles définis par le consommateur à une salle blanche. Pour plus d’informations, voir les modèles écrits par le consommateur.
create_template_request¶
- Schéma:
CONSUMER
Description : Envoie une requête au fournisseur d’une salle blanche, lui demandant d’approuver un modèle personnalisé afin qu’il puisse être ajouté à la salle blanche. Voir Modèles personnalisés rédigés par le consommateur.
Arguments :
cleanroom_name (String) - Nom de la salle blanche dans laquelle le modèle est ajouté.
template_name (String) - Nom du modèle à ajouter. Il doit s’agir de lettres minuscules, de chiffres, d’espaces ou de traits de soulignement. Les noms des modèles d’activation doivent commencer par « activation ».
template_definition (String) - Le modèle JinjaSQL. Apprenez la syntaxe du modèle.
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.consumer.create_template_request(
$cleanroom_name,
$template_name,
$$
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 %};
$$);
get_sql_jinja¶
- Schéma:
CONSUMER
Description : évalue un modèle JinjaSQL vers une instruction SQL. Cette procédure est utilisée lors du développement de modèles personnalisés, pour voir comment le modèle est rendu après le traitement avec un ensemble donné de paramètres.
Cette procédure ne peut traiter que des instructions JinjaSQL standards ; elle ne peut pas traiter les extensions de salle blanche vers JinjaSQL comme join_policy
ou column_policy
.
Arguments :
template_string (String) - Le code JinjaSQL à traiter. Seul le JinjaSQL standard est pris en charge.
arguments (Object) - Un objet dont les noms de champs correspondent à des variables utilisées dans le modèle.
Retourne : (String) L’instruction SQL générée par le modèle soumis avec les valeurs des variables fournies.
Exemple :
CALL samooha_by_snowflake_local_db.consumer.get_sql_jinja(
$$
SELECT COUNT(*), IDENTIFIER({{ group_by_col }})
FROM IDENTIFIER({{ my_table | sqlsafe }})
INNER JOIN IDENTIFIER({{ source_table | sqlsafe }})
ON IDENTIFIER({{ consumer_join_col }}) = IDENTIFIER({{ provider_join_col }})
GROUP BY IDENTIFIER({{ group_by_col }});
$$,
object_construct(
'group_by_col', 'city',
'consumer_join_col', 'hashed_email',
'provider_join_col', 'hashed_email',
'my_table', 'mydb.mysch.t1',
'source_table', 'mydb.mysch.t2'));
Réponse :
SELECT COUNT(*), IDENTIFIER('city')
FROM IDENTIFIER(mydb.mysch.t1)
INNER JOIN IDENTIFIER(mydb.mysch.t2)
ON IDENTIFIER('hashed_email') = IDENTIFIER('hashed_email')
GROUP BY IDENTIFIER('city');
generate_python_request_template¶
- Schéma:
CONSUMER
Description: Génère un modèle de salle blanche consommateur qui inclut du code Python personnalisé. Le modèle généré comprend votre code Python et un espace réservé pour votre modèle JinjaSQL. Transmettez votre modèle final à consumer.create_template_request
.
Pour plus d’informations sur les modèles définis par le consommateur, voir Modèles personnalisés rédigés par le consommateur.
Arguments :
function_name (String) - Le nom de la fonction utilisé par un modèle pour appeler votre fonction.
arguments (Array of strings pairs) - Un tableau d’arguments requis par la fonction
function_name
. Chaque élément est une paire délimitée par l’espace qui donne le nom de l’argument et son type de données SQL Snowflake. Par exemple :['size INT', 'start_date DATE']
.packages (Array of strings) - Tableau des noms de paquets nécessaires à votre code Python. S’il n’y en a pas, spécifiez un tableau vide. Voir la liste complète des paquets pris en charge. Exemple :
['pandas','numpy']
.imports - [Non pris en charge : Ne les utilisez pas]
rettype (String) - Le type de retour SQL Snowflake de votre fonction. Exemples : INTEGER, VARCHAR.
handler (String) - Le nom de la fonction gestionnaire principale dans votre code Python. Il s’agit généralement de
'main'
.code (String) - Votre implémentation du code Python. Si vous incluez une importation et que votre gestionnaire désigné est défini dans une importation, il peut s’agir d’une chaîne vide.
Returns: (String) Renvoie votre UDF Python avec un caractère de remplacement pour votre modèle JinjaSQL. Vous devez échapper correctement tous les caractères $$ ou guillemets simples (”) imbriqués avant de transmettre votre chaîne de modèle à consumer.create_template_request
. Lisez Code soumis par le consommateur.
Exemple :
Appelez la fonction d’aide avec un exemple Python trivial.
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.CONSUMER.GENERATE_PYTHON_REQUEST_TEMPLATE(
'my_func', -- SQL should use this name to call your function.
['data VARIANT', 'index INTEGER'], -- Arguments and types for the function.
['pandas', 'numpy'], -- Standard libraries used.
[], -- Reserved.
'INTEGER', -- SQL return type.
'main', -- Standard 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)
$$
);
L’exemple suivant montre le code généré. Remplacer <INSERT SQL TEMPLATE HERE>
avec votre code JinjaSQL modèle.
BEGIN
-- First define the Python UDF
CREATE OR REPLACE FUNCTION CLEANROOM.my_func(data VARIANT, index INTEGER)
RETURNS INTEGER
LANGUAGE PYTHON
RUNTIME_VERSION = 3.10
PACKAGES = ('pandas', 'numpy')
HANDLER = 'main'
AS $$
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)
$$;
-- Then define and run the SQL query
LET SQL_TEXT varchar := $$<INSERT SQL TEMPLATE HERE>$$;
-- Run the query and return the result
LET RES resultset := (EXECUTE IMMEDIATE :SQL_TEXT);
RETURN TABLE(RES);
END;
list_template_requests¶
- Schéma:
CONSUMER
Description : Affiche toutes les requêtes effectuées par le consommateur pour ajouter un modèle à une salle blanche.
Arguments :
cleanroom_name (String) - La salle blanche pour laquelle les requêtes de modèles doivent être répertoriées.
Renvoie : Un tableau avec les colonnes suivantes :
request_id
- ID de la requête, générée par le système de salles blanches.provider_identifier
- Localisateur du compte du fournisseur.template_name
- Nom du modèle que le consommateur a fourni dans la requête.template_definition
- Code source du modèle que le consommateur a demandé d’ajouter à la salle blanche.request_status
- Statut de la requête : PENDING, APPROVED, ou REJECTED.reason
- Si le statut de la requête est REJECTED, le fournisseur doit donner une raison du rejet ici.
Exemple :
CALL samooha_by_snowflake_local_db.consumer.list_template_requests($cleanroom_name);
Méthodes d’obtention des métadonnées de la salle blanche¶
Les méthodes suivantes montrent les propriétés pertinentes de la salle blanche :
describe_cleanroom¶
- Schéma:
CONSUMER
Description : fournit un résumé des informations clés sur la salle blanche spécifiée, y compris les modèles, les ensembles de données et les politiques. Si un modèle a été masqué en appliquant l’argument is_obfuscated
, vous devez utiliser Snowflake Enterprise Edition ou une édition supérieure pour pouvoir voir le nom du modèle.
Arguments :
cleanroom_name (String) - Nom de la salle blanche à décrire.
Renvoie : (String) Description de la salle blanche.
Exemple :
CALL samooha_by_snowflake_local_db.consumer.describe_cleanroom($cleanroom_name);
view_provider_datasets¶
- Schéma:
CONSUMER
Description : répertorie tous les ensembles de données que le fournisseur a ajoutés à la salle blanche.
Arguments :
cleanroom_name (String) - Nom de la salle blanche.
Renvoie : (Table) Une table d’ensembles de données ajoutés par le fournisseur. Utilisez le nom de table renvoyé ici dans vos requêtes.
Exemple :
CALL samooha_by_snowflake_local_db.consumer.view_provider_datasets($cleanroom_name);
view_added_templates¶
- Schéma:
CONSUMER
Description : répertorie tous les modèles de la salle blanche. Si un modèle a été masqué en appliquant l’argument is_obfuscated
, vous devez utiliser Snowflake Enterprise Edition ou une édition supérieure pour pouvoir voir le modèle.
Arguments :
cleanroom_name (String) - Nom de la salle blanche.
Renvoie : Une liste de modèles dans cette salle blanche, et le code source de chacun (à moins que le modèle ait été masqué par le fournisseur).
Exemple :
CALL samooha_by_snowflake_local_db.consumer.view_added_templates($cleanroom_name);
is_consumer_run_enabled¶
- Schéma:
LIBRARY
Description : vérifie si l’analyse effectuée par le consommateur est activée pour la salle blanche spécifiée. Cette fonction est activée par défaut, mais un fournisseur de salle blanche peut la désactiver.
Arguments :
cleanroom_name (String) - Nom de la salle blanche.
Renvoie : (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);
view_cleanrooms¶
- Schéma:
CONSUMER
Description : répertorie toutes les salles blanches qui sont jointes (installées) ou qui peuvent être jointes par ce compte. Pour voir uniquement les salles blanches installées, exécutez consumer.view_installed_cleanrooms
. Pour voir les salles blanches créées par ce compte, appelez provider.view_cleanrooms
.
Arguments : Aucun
Retourne : (Table) Toutes les clean rooms installées ou invitées pour ce compte.
Exemple :
CALL samooha_by_snowflake_local_db.consumer.view_cleanrooms();
view_installed_cleanrooms¶
- Schéma:
CONSUMER
Description : répertorie toutes les salles blanches qui sont installées (jointes) dans ce compte. Pour voir les salles blanches jointes et non jointes, appelez consumer.view_cleanrooms
. Pour voir toutes les salles blanches créées par ce compte, appelez provider.view_cleanrooms
.
Arguments : Aucun
Retourne : (Table) Les clean rooms installées dans ce compte.
Exemple :
CALL samooha_by_snowflake_local_db.consumer.view_installed_cleanrooms();
Confidentialité différentielle¶
Ces procédures contrôlent la confidentialité différentielle dans la salle blanche. Vous pouvez également spécifier la confidentialité différentielle au niveau du modèle lorsque vous appelez consumer.enable_templates_for_provider_run
.
is_dp_enabled¶
- Schéma:
CONSUMER
Description : vérifie si la confidentialité différentielle est activée dans la salle blanche. La salle blanche doit être installée pour vérifier cette valeur.
Arguments :
cleanroom_name (String)
Renvoie : (Boolean) Indique si la confidentialité différentielle est activée ou non dans la salle blanche.
Exemple :
CALL samooha_by_snowflake_local_db.consumer.is_dp_enabled($cleanroom_name);
view_remaining_privacy_budget¶
- Schéma:
CONSUMER
Description : visualise le budget de confidentialité restant qui peut être utilisé pour effectuer des requêtes à partir de la salle blanche. Une fois le budget épuisé, d’autres appels à run_analysis
ne sont pas autorisés tant que le budget n’a pas été réinitialisé. Le budget est réinitialisé quotidiennement.
Arguments :
cleanroom_name (String) Nom de la salle blanche. La salle blanche doit être installée pour que cette procédure réussisse.
Renvoie : (Float) Le budget restant pour la protection de la confidentialité.
Exemple :
CALL samooha_by_snowflake_local_db.consumer.view_remaining_privacy_budget($cleanroom_name);
set_privacy_settings¶
- Schéma:
CONSUMER
Description : définit les paramètres de confidentialité pour les analyses effectuées par le fournisseur (y compris l’activation) qui utilisent des modèles personnalisés. Écrase toutes les valeurs précédemment définies. Chaque fois que vous appelez cette méthode, elle efface tous les paramètres de configuration précédents.
Arguments :
cleanroom_name (String) - Nom de la salle blanche à laquelle ces paramètres doivent être appliqués.
privacy_settings (String) - Objet de type string JSON qui spécifie les paramètres de confidentialité lorsque des modèles personnalisés sont exécutés par un fournisseur. Voici la syntaxe de l’objet :
'{ "null" : <template_config> }'
template_config
est un objet dont les paramètres de confidentialité et d’agrégation sont différents. Voir Paramètres de confidentialité disponibles pour connaître les champs que vous pouvez fournir dans cet objet.
Exemple :
-- Apply differential privacy for provider-run analysis using all custom templates.
CALL samooha_by_snowflake_local_db.consumer.set_privacy_settings(
$cleanroom_name,
PARSE_JSON('{
"null":{ "differential": 1, "epsilon": 0.1, "privacy_budget": 3 }
}')
);
Retourne : (String) message de réussite.
Procédures Snowpark Container Services¶
En savoir plus sur l’utilisation de Snowpark Container Services dans vos salles blanches.
start_or_update_service¶
- Schéma:
CONSUMER
Description : crée et démarre la dernière version de Snowpark Container Services définie par le fournisseur dans cette salle blanche. Chaque fois que le fournisseur appelle provider.load_service_into_cleanroom
pour créer ou mettre à jour un conteneur, le consommateur doit appeler consumer.start_or_update_service
pour mettre à jour le service.
Le consommateur doit définir et démarrer le pool avant d’appeler cette procédure.
Arguments :
cleanroom_name (String) - Nom de la salle blanche dans laquelle le conteneur doit être chargé.
compute_pool_name (String) - Le nom d’un pool de calcul défini par le consommateur dans cette salle blanche. Le pool doit déjà être créé et la salle blanche doit disposer des privilèges nécessaires pour accéder au pool.
service_options (Object, facultatif) - Objet spécifiant les paramètres de ce service. Les propriétés suivantes sont prises en charge :
query_warehouse
- (String, facultatif) Nom de l’entrepôt à utiliser pour ce service. Ne doit pas nécessairement être le même entrepôt que celui qui gère la salle blanche.min_instances
- (Integer, facultatif) Nombre minimal d’instances à utiliser pour ce service.max_instances
- (Integer, facultatif) Nombre minimal d’instances à utiliser pour ce service.
Retourne : (Table) Résultats du chargement, en cas de succès. Lance une erreur en cas d’échec.
Exemple :
CALL samooha_by_snowflake_local_db.consumer.start_or_update_service(
$cleanroom_name,
'dcr_lal_pool',
object_construct(
'query_warehouse', 'app_wh',
'min_instances', '1',
'max_instances', '1'
));
Gestion de l’environnement¶
Utilisez les méthodes suivantes pour faciliter la fonctionnalité générale de la salle blanche.
set_cleanroom_ui_accessibility¶
- Schéma:
CONSUMER
Description: Affiche ou cache les salles blanches dans l’UI des salles blanches pour les consommateurs du compte courant.
Arguments :
cleanroom_name (String) - Nom de la salle blanche.
visibility_status(String) - Une des valeurs suivantes sensibles à la casse :
HIDDEN - Cache la salle blanche spécifiée dans l’UI des salles blanches à tous les utilisateurs du compte consommateur actuel. La salle blanche restera accessible via des appels API.
EDITABLE - Rend la salle blanche visible dans l’UI des salles blanches.
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.consumer.set_cleanroom_ui_accessibility(
$cleanroom_name,
'HIDDEN');
manage_datastats_task_on_account¶
- Schéma:
CONSUMER
Description : active ou désactive la tâche d’arrière-plan qui calcule les statistiques de la salle blanche. La tâche s’exécute par défaut, mais vous pouvez la désactiver pour réduire vos coûts.
Important
Pour gérer cette tâche, tous les collaborateurs doivent appeler la version fournisseur
ou consommateur
appropriée de cette procédure avec la même valeur.
Arguments :
active (Boolean) - TRUE pour activer la tâche, FALSE pour désactiver la tâche.
Retourne : (String) message de réussite.
Exemple :
-- Disable the task in this account.
CALL samooha_by_snowflake_local_db.consumer.manage_datastats_task_on_account(FALSE);
enable_local_db_auto_upgrades¶
- Schéma:
LIBRARY
Description : active la tâche qui met automatiquement à niveau l’environnement Snowflake Data Clean Rooms lorsque de nouvelles procédures ou fonctionnalités sont publiées (la tâche est samooha_by_snowflake_local_db.admin.expected_version_task
.) Appelez cette procédure pour automatiser les mises à niveau, plutôt que d’appeler library.apply_patch
avec chaque nouvelle version.
Bien que vous puissiez réduire les coûts en désactivant cette tâche, nous vous recommandons de la laisser en cours d’exécution pour vous assurer que vous disposez de la dernière version de l’environnement des salles blanches sur votre système.
Arguments : Aucun
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
CALL samooha_by_snowflake_local_db.library.enable_local_db_auto_upgrades();
disable_local_db_auto_upgrades¶
- Schéma:
LIBRARY
Description : désactive la tâche qui met automatiquement à niveau l’environnement Snowflake Data Clean Rooms lorsque de nouvelles versions sont publiées. Si vous désactivez les mises à niveau automatiques, vous devez appeler library.apply_patch
avec chaque nouvelle version.
Arguments : Aucun
Renvoie : (string) Message de réussite ou d’échec.
Exemple :
CALL samooha_by_snowflake_local_db.library.disable_local_db_auto_upgrades();
apply_patch¶
- Schéma:
LIBRARY
Description : met à jour l’environnement de vos salles blanches, en activant de nouvelles fonctionnalités et des corrections dans votre environnement. Appelez cette opération lorsqu’une nouvelle version de l’environnement des salles blanches a été publiée. (Cela se produit généralement chaque semaine ; voir les entrées des salles blanches dans Mises à jour récentes des fonctionnalités.) Cette procédure met à jour SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.
Vous pouvez automatiser les mises à jour des correctifs en appelant library.enable_local_db_auto_upgrades
. Nous vous recommandons d’activer les mises à jour automatiques.
Arguments : Aucun
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.library.apply_patch();
patch_cleanroom¶
- Schéma:
CONSUMER
Description : met à jour la salle blanche spécifiée avec la dernière version, en activant de nouvelles fonctionnalités et des correctifs pour cette salle blanche. En règle générale, vous n’appelez cette fonction que lorsque l’assistance de Snowflake vous demande de l’appeler.
Le fournisseur doit appeler library.patch_cleanroom
avant que le consommateur n’appelle library.patch_cleanroom
. Sinon, il n’y a pas de correctif à appliquer.
Arguments :
cleanroom_name (String) : Nom de la salle blanche à vérifier.
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.consumer.patch_cleanroom($cleanroom_name);
dcr_health.dcr_tasks_health_check¶
Description : affiche des informations sur les tâches de salle blanche en cours d’exécution ou récemment arrêtées.
Arguments : Aucun
Renvoie : (Table) Informations sur les tâches de salle blanche, y compris la planification, le nom de l’entrepôt et la taille de l’entrepôt.
Exemple :
CALL samooha_by_snowflake_local_db.dcr_health.dcr_tasks_health_check();
Procédures obsolètes¶
Les procédures suivantes sont obsolètes et ne sont listées ici que par souci d’exhaustivité. Si une procédure de remplacement est indiquée, utilisez la procédure la plus récente.
register_table_or_view – Obsolète¶
- Schéma:
LIBRARY
Attention
Cette procédure est désormais obsolète. Veuillez utiliser 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)
Retourne : (String) message de réussite.
Exemples
Pour enregistrer une table :
CALL samooha_by_snowflake_local_db.library.register_table_or_view(
['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS'],
false,
false,
false,
false);
Pour enregistrer une table Iceberg :
CALL samooha_by_snowflake_local_db.library.register_table_or_view(
['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS'],
false,
true,
false,
false);
register_table – Obsolète¶
- Schéma:
LIBRARY
Attention
Cette procédure est désormais obsolète. Veuillez utiliser library.register_objects.
Description: Similaire à register_db
, mais opère au niveau de la table. 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.
Si vous souhaitez enregistrer des tables dans un schéma d’accès géré (c’est-à-dire un schéma créé avec le paramètre WITH MANAGED ACCESS), utilisez library.register_managed_access_table
plutôt.
Arguments : table_name (array)
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.library.register_table(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
register_managed_access_table – Obsolète¶
- Schéma:
LIBRARY
Attention
Cette procédure est désormais obsolète. Veuillez utiliser library.register_objects.
Description : Semblable à register_table
, mais enregistre les tables dans un schéma qui a été créé avec le paramètre WITH MANAGED ACCESS. Une table ou une chaîne représentant le nom pleinement qualifié de la table peut être transmis, et des sélections d’attributions au rôle SAMOOHA_APP_ROLE sont effectuées, permettant à l’utilisateur de lier la table à la salle blanche.
Arguments : table_name (array)
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.library.register_managed_access_table(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
register_view – Obsolète¶
- Schéma:
LIBRARY
Attention
Cette procédure est désormais obsolète. Veuillez utiliser 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éé avec le paramètre WITH MANAGED ACCESS), utilisez library.register_managed_access_view
plutôt.
Arguments : view_name (array)
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.library.register_view(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
register_managed_access_view – Obsolète¶
- Schéma:
LIBRARY
Attention
Cette procédure est désormais obsolète. Veuillez utiliser library.register_objects.
Description : Semblable à register_view
, mais enregistre les vues dans un schéma qui a été créé avec le paramètre WITH MANAGED ACCESS. Un tableau ou une chaîne représentant le nom pleinement qualifié de la vue peut être transmis, et des sélections d’attributions au rôle SAMOOHA_APP_ROLE sont effectuées, permettant à l’utilisateur de lier la vue à la salle blanche.
Arguments : view_name (array)
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.library.register_managed_access_view(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
unregister_table_or_view – Obsolète¶
- Schéma:
LIBRARY
Attention
Cette procédure est désormais obsolète. Veuillez utiliser 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)
Sortie : (String) Message de réussite.
Exemples
Pour annuler l’enregistrement d’une table :
CALL samooha_by_snowflake_local_db.library.unregister_table_or_view(
['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS'],
false,
false,
false,
false);
unregister_table – Obsolète¶
- Schéma:
LIBRARY
Attention
Cette procédure est désormais obsolète. Veuillez utiliser 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éé avec le paramètre WITH MANAGED ACCESS), utilisez library.unregister_managed_access_table
plutôt.
Arguments : table_name (array)
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.library.unregister_table(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
unregister_managed_access_table – Obsolète¶
- Schéma:
LIBRARY
Attention
Cette procédure est désormais obsolète. Veuillez utiliser library.unregister_objects
Description : Semblable à unregister_table
, mais annule l’enregistrement des tables dans un schéma d’accès géré (c’est-à-dire un schéma créé avec le paramètre WITH MANAGED ACCESS).
Arguments : table_name (array)
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.library.unregister_managed_access_table(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
unregister_view – Obsolète¶
- Schéma:
LIBRARY
Attention
Cette procédure est désormais obsolète. Veuillez utiliser 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éé avec le paramètre WITH MANAGED ACCESS), utilisez library.unregister_managed_access_view
plutôt.
Arguments : view_name (array)
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.library.unregister_view(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
unregister_managed_access_view – Obsolète¶
- Schéma:
LIBRARY
Attention
Cette procédure est désormais obsolète. Veuillez utiliser library.unregister_objects
Description : Semblable à unregister_view
, mais annule l’enregistrement des vues dans un schéma d’accès géré (c’est-à-dire un schéma créé avec le paramètre WITH MANAGED ACCESS).
Arguments : view_name (array)
Retourne : (String) message de réussite.
Exemple :
CALL samooha_by_snowflake_local_db.library.unregister_managed_access_view(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);