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 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ée cleanroom.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 est cleanroom.activation_data_analysis_results, alors la chaîne analysis_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;
Copy

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.

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

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

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

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

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

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

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

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

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.