Analyse exécutée par le fournisseur

La configuration par défaut de la clean room permet uniquement au consommateur d’effectuer une analyse dans la clean room. Toutefois, le fournisseur peut demander l’autorisation au consommateur d’exécuter des modèles utilisant les données du consommateur dans une clean room spécifique. L’analyse effectuée par le fournisseur peut être activée et exécutée à l’aide de l’UI clean room ou d’un code.

Modèles pris en charge

L’analyse effectuée par le fournisseur est activée au niveau du modèle dans une clean room donnée. Les modèles suivants permettent d’effectuer des analyses dirigées par le fournisseur :

  • Chevauchement et analyse de la segmentation

  • Requête SQL (UI uniquement)

  • Modèles personnalisés (API uniquement)

Détails de la facturation

Les consommateurs sont facturés pour toutes les analyses effectuées par le fournisseur dans une clean room. Pour ne plus avoir à supporter les coûts supplémentaires liés aux analyses du fournisseur, le consommateur doit désinstaller la clean room.

Un consommateur peut estimer le nombre de crédits consommés par le fournisseur au cours des derniers N jours en exécutant la requête suivante, en spécifiant le nombre de jours précédents comme un nombre négatif :

-- Estimate the number of credits consumed in the past 5 days.
SELECT * FROM TABLE(SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.LIBRARY.PRA_CONSUMPTION_UDTF(-5));
Copy

Sélection d’une taille d’entrepôt

Clean rooms utilise une logique de mise à l’échelle automatique basée sur la taille des ensembles de données pour choisir un entrepôt pour votre analyse. Toutefois, le fournisseur peut explicitement choisir une taille d’entrepôt dans une liste de tailles et de types autorisés par le consommateur. Le fournisseur choisit la taille de l’entrepôt comme suit :

  1. Le consommateur appelle consumer.enable_templates_for_provider_run, en précisant quels types et tailles d’entrepôts peuvent être utilisés avec quels modèles.

  2. Le fournisseur appelle provider.view_warehouse_sizes_for_template pour connaître les tailles et les types d’entrepôts autorisés pour les analyses gérées par le fournisseur.

  3. Le fournisseur précise la combinaison de taille et de type à utiliser dans sa requête d’analyse (provider.submit_analysis_request).

Un fournisseur ne peut requérir que les tailles et types d’entrepôts explicitement listés par le consommateur.

Consommateur

CALL samooha_by_snowflake_local_db.CONSUMER.enable_templates_for_provider_run(
  $cleanroom_name,
  [$template1, $template2],
  TRUE,
  {
    $template1: {'warehouse_type': 'STANDARD', 'warehouse_size': ['MEDIUM', 'LARGE']},
    $template1: {'warehouse_type': 'SNOWPARK-OPTIMIZED', 'warehouse_size': ['MEDIUM', 'XLARGE']},
    $template2: {'warehouse_type': 'STANDARD', 'warehouse_size': ['MEDIUM', 'XLARGE']}
  });
Copy

Fournisseur

CALL samooha_by_snowflake_local_db.PROVIDER.VIEW_WAREHOUSE_SIZES_FOR_TEMPLATE($cleanroom_name, $template_name, $consumer_account_loc);
CALL samooha_by_snowflake_local_db.provider.submit_analysis_request(
  $cleanroom_name,
  $consumer_locator_id,
  $template1,
  ['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS'],
  ['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS'],
  object_construct(
    'dimensions', ['c.REGION_CODE'],
    'measure_type', ['AVG'],
    'measure_column', ['c.DAYS_ACTIVE'],
    'warehouse_type', 'STANDARD',        -- If this type and size pair were not listed by view_warehouse_sizes_for_template,
    'warehouse_size', 'LARGE'            -- the request will automatically fail.
  ));
Copy

Mise en œuvre des analyses gérées par les fournisseurs

Astuce

Si le consommateur et le fournisseur se trouvent dans des régions Cloud différentes, vous devez activer exécution automatique inter-Cloud dans les deux comptes et pour les deux clean rooms.

Les autorisations d’exécuter des requêtes dans une clean room sont gérées dans l’UI de la clean room à l’aide de la bascule Enable run analysis & query dans le panneau Share clean room du flux de configuration de la clean room. Pour activer ou désactiver les analyses gérées par les fournisseurs, le fournisseur de la clean room active la case à cocher située à côté de son propre compte dans ce panneau. Cette option ne peut pas être modifiée après la création d’une clean room ; si vous souhaitez modifier l’autorisation pour un compte spécifique d’exécuter des requêtes dans une clean room publiée, vous devez supprimer la clean room et en créer une nouvelle.

Voici les étapes à suivre pour permettre l’exécution d’une analyse par le fournisseur dans une nouvelle clean room :

  1. Le fournisseur crée et configure une clean room en utilisant l’un des modèles pris en charge.

  2. Dans l’étape Share Clean Room de la configuration de la clean room, activez Enable run analysis & query en regard de votre compte pour vous permettre d’exécuter des modèles qui prennent en charge l’analyse du fournisseur dans cette clean room.

  3. Lorsque le consommateur rejoint la clean room, il est averti que l’analyse par le fournisseur est activée pour cette clean room.

  4. Le consommateur configure la clean room comme d’habitude pour tous les modèles de la clean room, y compris les modèles qui prennent en charge l’analyse du fournisseur. Si le consommateur ne souhaite pas permettre à un fournisseur d’exécuter un modèle spécifique, il peut omettre les exigences relatives à ce modèle. Notez que les modèles qui prennent en charge l’analyse du fournisseur prennent également en charge l’analyse du consommateur.

  5. Une fois que le consommateur a rejoint et configuré la clean room, le fournisseur et le consommateur peuvent exécuter des modèles dans la clean room par le biais du flux d’analyse normal.

  6. Les autorisations d’analyse par le fournisseur ne peuvent pas être révoquées après avoir été accordées. Le seul moyen d’arrêter les analyses d’exécution effectuées par le fournisseur est que le fournisseur ou le consommateur supprime la clean room.