Utiliser les APIs de développement pour envoyer les résultats à un compte Snowflake pour activation¶
Les fournisseurs peuvent ajouter des modèles d’activation (modèles Jinja SQL) à une salle blanche afin que les résultats d’analyse puissent être transmis à un compte Snowflake pour activation.
Pour les analyses gérées par le fournisseur, ce dernier peut envoyer les résultats vers son propre compte Snowflake (activation du fournisseur). Pour les analyses gérées par les consommateurs, le consommateur peut envoyer les résultats sur le compte Snowflake du fournisseur (activation du fournisseur) ou sur son propre compte (activation du consommateur), en fonction de la façon dont le fournisseur a configuré le modèle d’activation.
Le fournisseur peut ajouter une interface utilisateur au modèle d’activation afin que les utilisateurs puissent utiliser l’application Web pour pousser les résultats vers le compte Snowflake. Dans ce cas, l’option de pousser les résultats apparaît dans le hub d’activation comme les autres options d’activation. Le fournisseur et le consommateur peuvent également utiliser les APIs de développement pour utiliser le modèle d’activation afin de pousser les résultats.
Fournisseur¶
En tant que fournisseur, agissez de la façon suivante :
Définissez le modèle d’activation afin qu’il puisse être utilisé par le fournisseur et/ou le consommateur pour renvoyer les résultats vers un compte Snowflake.
Activez le renvoi des résultats vers le compte Snowflake du fournisseur.
Voir les résultats dans le compte Snowflake
Configuration du fournisseur¶
Cette section présente les étapes qu’un fournisseur peut suivre pour créer, ajouter et configurer un modèle d’activation dans une salle blanche. Elle contient les sections suivantes :
Créer un lien vers la table requise (activation du fournisseur uniquement)
Activer le consommateur (uniquement pour les analyses gérées par le consommateur)
Demander l’autorisation au consommateur (activation du fournisseur uniquement)
Créer un modèle pour l’activation du fournisseur¶
Un modèle utilisé pour activer les résultats est similaire à un modèle utilisé pour exécuter une analyse. Par exemple, il est ajouté à la salle blanche avec la commande provider.add_custom_sql_template
comme modèle d’analyse. Cependant, un modèle d’activation présente les différences importantes suivantes :
Le nom du modèle d’activation doit commencer par la chaîne
activation
. Par exemple, un modèle d’activation nomméactivation_my_template
répond à l’exigence.Le modèle d’activation doit créer une table avec un nom conforme aux conventions spécifiques et renvoyer explicitement le nom de la table.
Définir la table dans un modèle d’activation¶
Pour conserver les résultats d’activation dans la salle blanche, chaque modèle d’activation doit créer une table. Il y a deux exigences pour ce tableau :
Le nom de la table doit commencer par la chaîne
cleanroom.activation_data_
. Par exemple, une table nomméecleanroom.activation_data_analysis_results
répond à l’exigence.La partie de la définition du modèle qui crée la table doit renvoyer la chaîne qui a été ajoutée à
cleanroom.activation_data_
pour former le nom de la table. Par exemple, si le nom de la table estcleanroom.activation_data_analysis_results
, alors la chaîneanalysis_results
doit être retournée.
Voici un exemple de ce qui doit être inclus dans la définition du modèle pour définir une table et l’exporter :
BEGIN
CREATE OR REPLACE TABLE cleanroom.activation_data_analysis_results AS
SELECT * FROM identifier({{ my_table[0] }})
RETURN 'analysis_results';
END;
Pour plus d’informations sur l’appel de la commande provider.add_custom_sql_template
pour ajouter un modèle d’activation à une salle blanche, voir Snowflake Data Clean Rooms : guide de référence pour l’API fournisseurs.
Créer un lien vers la table requise (activation du fournisseur uniquement)¶
Si le fournisseur ou le consommateur veut pousser des résultats vers le compte Snowflake du fournisseur, ce dernier doit établir un lien entre la table samooha_by_snowflake_local_db.library.temp_public_key
et la salle blanche. Par exemple, pour relier la table requise à une salle blanche my_activation_cleanroom
, exécutez :
CALL samooha_by_snowflake_local_db.provider.link_datasets(
'my_activation_cleanroom',
['samooha_by_snowflake_local_db.library.temp_public_key']);
Le fournisseur pourrait également utiliser un seul appel pour lier la table requise lors de la liaison de ses autres tables et vues.
Définir une politique d’activation¶
Une politique d’activation définit les colonnes qui peuvent être utilisées dans les modèles d’activation. Cette option peut être utilisée avec les modèles d’activation pour garantir que seules les colonnes approuvées par le fournisseur peuvent être utilisées avec le modèle d’activation.
Un fournisseur utilise l’API provider.set_activation_policy
pour définir la politique d’activation. Par 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:STATUS',
'prod_overlap_analysis:SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:AGE_BAND',
'prod_overlap_analysis:SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:DAYS_ACTIVE',
'prod_overlap_analysis:SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:REGION_CODE' ]);
Activer le consommateur (uniquement pour les analyses gérées par le consommateur)¶
Si le consommateur doit envoyer les résultats sur son propre compte, le fournisseur doit exécuter l’API provider.enable_template_for_consumer_activation
. Par exemple :
CALL samooha_by_snowflake_local_db.provider.enable_template_for_consumer_activation(
'my_cleanroom', 'activation_my_template');
Demander l’autorisation au consommateur (activation du fournisseur uniquement)¶
Si le fournisseur configure le modèle d’activation pour s’autoriser ou autoriser le consommateur à envoyer des résultats au compte Snowflake du fournisseur, ce dernier doit exécuter l’API provider.request_provider_activation_consent
. Cette API demande au consommateur d’approuver le modèle à cette fin. Par exemple,
CALL samooha_by_snowflake_local_db.provider.request_provider_activation_consent('my_cleanroom', 'activation_my_template');
Le consommateur doit approuver la requête avant que le fournisseur puisse activer les résultats d’une analyse effectuée par le fournisseur.
Définir l’activation dans l’application Web (Facultatif)¶
Si le fournisseur crée une interface utilisateur pour la salle blanche afin que les utilisateurs puissent exécuter des analyses dans l’application Web, il peut également configurer la salle blanche pour que les utilisateurs puissent activer les résultats à l’aide du hub d’activation dans l’application Web. Lorsque le fournisseur exécute l’API provider.add_ui_form_customizations
pour créer l’interface utilisateur, il spécifie le nom du modèle d’activation et précise si le modèle est utilisé pour l’activation du fournisseur, l’activation du consommateur ou les deux.
Par exemple, l’exemple suivant permet aux utilisateurs d’utiliser le hub d’activation à la fois pour l’activation du fournisseur et pour l’activation du consommateur.
CALL samooha_by_snowflake_local_db.provider.add_ui_form_customizations(
$cleanroom_name,
'prod_test_references_1',
{
'display_name': 'PROD TEST REFERENCE FIRST',
'description': 'Use our customized ML techniques to find lookalike audiences.',
'methodology': 'Specify your own seed audience, while matching against our users. Then customize the lookalike model across number of boosting rounds and removing outliers.',
'render_table_dropdowns': {
'render_consumer_table_dropdown': TRUE,
'render_provider_table_dropdown': TRUE
},
'activation_template_name': 'activation_my_template',
'enabled_activations': ['consumer', 'provider']
},
{
'reference_provider_join': {
'display_name': 'Provider join column',
'order': 4,
'description': 'Which provider col do you want to join on',
'size': 'S',
'group': 'Seed Audience Selection',
'references': ['PROVIDER_JOIN_POLICY'],
'provider_parent_table_field': 'source_table',
'type': 'dropdown'
},
'reference_consumer_join': {
'display_name': 'Consumer join column',
'order': 4,
'description': 'Which consumer col do you want to join on',
'size': 'S',
'group': 'Seed Audience Selection',
'references': ['CONSUMER_COLUMNS'],
'consumer_parent_table_field': 'my_table',
'type': 'dropdown'
}
},
{
'measure_columns': ['count'],
'default_output_type': 'BAR'
});
Activation après les analyses effectuées par le fournisseur¶
Si le fournisseur a configuré la salle blanche pour que ses utilisateurs puissent utiliser l’application Web pour exécuter des analyses et activer des résultats, les utilisateurs peuvent sélectionner le bouton Activate après avoir exécuté une analyse pour ouvrir le hub d’activation, où ils peuvent sélectionner le compte du fournisseur pour pousser les résultats.
Si le fournisseur utilise le développeur APIs plutôt que l’application Web pour exécuter des analyses, il peut exécuter l’API submit_analysis_request
pour activer les résultats. Par exemple :
CALL samooha_by_snowflake_local_db.submit_analysis_request(
'my_clean_room',
'CONSUMER_1_LOCATOR',
'activation_custom_template',
['provider_source_table'],
['consumer_source_table'],
object_construct(
'dimensions', ['p.CAMPAIGN'],
'where_clause', 'p.EMAIL=c.EMAIL'
));
Voir les résultats activés en tant que fournisseur¶
Une fois que le consommateur ou le fournisseur a transmis les résultats au fournisseur, ce dernier peut les voir dans son compte Snowflake (et non dans l’environnement de la salle blanche).
Note
Si le consommateur a activé les résultats, le fournisseur doit se connecter à son environnement de salle blanche avant de se connecter à son compte Snowflake pour voir les résultats.
Pour plus d’informations, voir Afficher les résultats de l’analyse dans le compte Snowflake du fournisseur.
Consommateur¶
En tant que consommateur, agissez de la façon suivante :
Définissez la salle blanche de manière à ce que le modèle d’activation puisse être utilisé par le fournisseur et/ou le consommateur pour renvoyer les résultats vers un compte Snowflake.
Activez le renvoi des résultats vers un compte Snowflake.
Voir les résultats dans le compte Snowflake
Configuration du consommateur¶
Un consommateur doit définir une politique d’activation avant d’activer les résultats. Pour l’activation du fournisseur, ils doivent également approuver la requête du fournisseur.
Définir la politique d’activation¶
Une politique d’activation définit les colonnes qui peuvent être utilisées dans les modèles d’activation. Cette politique peut être utilisée avec les modèles d’activation pour garantir que seules les colonnes approuvées par le consommateur peuvent être utilisées avec le modèle d’activation.
Un consommateur utilise l’API consumer.set_activation_policy
pour définir la politique d’activation. Par exemple :
CALL samooha_by_snowflake_local_db.consumer.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' ]);
Approuver la requête du fournisseur (activation du fournisseur uniquement)¶
Si le fournisseur a exécuté l’API provider.request_provider_activation_consent
pour un modèle d’activation destiné à être utilisé pour envoyer des résultats au compte Snowflake du fournisseur, le consommateur doit approuver la requête. Cette approbation s’applique indépendamment du fait que ce soit le fournisseur ou le consommateur qui envoie les résultats sur le compte du fournisseur.
Si le consommateur utilise l’application Web, l’installation de la salle blanche fournit le consentement dont le fournisseur a besoin.
Si le consommateur utilise les APIs de développement, il exécute l’API consumer.approve_provider_activation_consent
. Par exemple :
CALL samooha_by_snowflake_local.consumer.approve_provider_activation_consent('my_cleanroom', 'activation_my_template');
Activation après une analyse exécutée par le consommateur¶
Si le fournisseur a configuré la salle blanche de sorte que les utilisateurs puissent utiliser l’application Web pour exécuter des analyses et activer des résultats, les utilisateurs peuvent sélectionner le bouton Activate après avoir exécuté une analyse pour ouvrir le hub d’activation, où ils peuvent sélectionner le compte du fournisseur (si l’activation du fournisseur a été configurée) ou le compte du consommateur (si l’activation du consommateur a été configurée) pour pousser les résultats.
Si le consommateur utilise les APIs de développement au lieu de l’application Web, il envoie les résultats à un compte Snowflake en appelant la commande consumer.run_activation
pour exécuter le modèle d’activation, ce qui est similaire à l’exécution de la commande consumer.run_analysis
. La différence réside dans le deuxième argument, qui spécifie une chaîne permettant d’identifier le contenu de l’activation.
Par exemple, le consommateur peut appeler :
CALL samooha_by_snowflake_local_db.consumer.run_activation(
'activation_clean_room',
'my_activation_segment',
'activation_custom_template',
['consumer_source_table'],
['provider_source_table'],
object_construct(
'dimensions', ['p.CAMPAIGN'],
'where_clause', 'p.EMAIL=c.EMAIL'
));
Pour plus d’informations sur la syntaxe de la commande consumer.run_activation
, consultez Snowflake Data Clean Rooms : guide de référence pour l’API de consommateur.
Voir les résultats activés en tant que consommateur¶
Si le consommateur a transmis les résultats à son propre compte Snowflake, il peut voir les résultats dans l”Snowsight.