Análise executada pelo provedor

A configuração padrão da clean room permite que apenas o consumidor execute uma análise na clean room. No entanto, o provedor pode solicitar a permissão do consumidor para executar modelos usando dados do consumidor em uma clean room específica. A análise executada pelo provedor pode ser ativada e executada usando a UI ou o código de clean rooms.

Modelos compatíveis

A análise de execução do provedor é ativada no nível do modelo em uma determinada clean room. Os modelos a seguir oferecem suporte a análises executadas pelo provedor:

  • Sobreposição e análise de segmentação

  • Consulta SQL (somente na UI)

  • Modelos personalizados (somente na API)

Detalhes de faturamento

Os consumidores são cobrados por qualquer análise realizada pelo provedor em uma clean room. Para não incorrer em custos adicionais com as análises do provedor, o consumidor deve desinstalar a clean room.

Um consumidor pode estimar o número de créditos consumidos pelo provedor nos últimos N dias executando a seguinte consulta, especificando o número de dias anteriores como um número negativo:

-- 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

Escolha do tamanho de um warehouse

As clean rooms usam a lógica de dimensionamento automático com base no tamanho do conjunto de dados para escolher um warehouse para sua análise. No entanto, o provedor pode escolher explicitamente um tamanho de warehouse de uma lista de tamanhos e tipos permitidos pelo consumidor. O provedor escolhe o tamanho do warehouse da seguinte forma:

  1. O consumidor chama consumer.enable_templates_for_provider_run, especificando quais tamanhos e tipos de warehouse podem ser usados com quais modelos.

  2. O provedor chama provider.view_warehouse_sizes_for_template para ver quais tamanhos e tipos de warehouse são permitidos para análises executadas pelo provedor.

  3. O provedor especifica a combinação de tamanho e tipo a ser usada em sua solicitação de análise (provider.submit_analysis_request).

Um provedor pode solicitar apenas os tamanhos e tipos de warehouse listados explicitamente pelo consumidor.

Consumidor

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

Provedor

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

Implementação de análises administradas pelo provedor

Dica

Se o consumidor e provedor estiverem em regiões de nuvem diferentes, você precisará ativar o preenchimento automático entre nuvens em ambas as contas e para ambas as clean rooms.

A permissão para executar consultas em uma clean room é gerenciada na UI de clean rooms usando a opção Enable run analysis & query no painel Share clean room no fluxo de configuração da clean room. Para ativar ou desativar as análises executadas pelo provedor, o provedor da clean room ativa o botão de alternância ao lado de sua própria conta nesse painel. Essa alternância não pode ser alterada depois que uma clean room é criada; se você quiser alterar a permissão de uma conta específica para executar consultas em uma clean room publicada, deverá excluir a clean room e criar uma nova.

Aqui estão as etapas para permitir a análise executada pelo provedor em uma nova clean room:

  1. O provedor cria e configura uma clean room, usando um dos modelos compatíveis.

  2. Na etapa Share Clean Room da configuração da clean room, ative Enable run analysis & query ao lado de sua conta para permitir que você execute modelos que ofereçam suporte à análise do provedor nessa clean room.

  3. Quando o consumidor entrar na clean room, ele será avisado antes de entrar que a análise executada pelo provedor está ativada para essa clean room.

  4. O consumidor configura a clean room normalmente para todos os modelos na clean room, incluindo quaisquer modelos que suportem a análise do provedor. Se o consumidor não quiser permitir que um provedor execute um modelo específico, ele poderá omitir os detalhes necessários para esse modelo. Observe que os modelos que oferecem suporte à análise do provedor também oferecem suporte à análise do consumidor.

  5. Depois que o consumidor tiver ingressado na clean room e realizado sua configuração, tanto o provedor quanto o consumidor poderão executar modelos na clean room por meio do fluxo de análise normal.

  6. As permissões de análise executadas pelo provedor não podem ser revogadas após serem concedidas. A única maneira de interromper as análises executadas pelo provedor é o provedor ou o consumidor excluir a clean room.