Como usar APIs do desenvolvedor para enviar resultados ao provedor para ativação

Às vezes, os colaboradores querem que o consumidor execute uma análise e depois envie os resultados de volta ao provedor para ativação. Este tópico descreve como usar APIs do desenvolvedor para enviar resultados do consumidor para o provedor.

O fluxo básico para ativação do provedor é:

Provedor:
  • Cria um modelo que o consumidor pode executar para enviar resultados ao provedor para ativação.

  • Vincula a tabela samooha_by_snowflake_local_db.library.temp_public_key à sala limpa.

Consumidor:

Executa o modelo do provedor para enviar os resultados de volta para a conta Snowflake do provedor.

Provedor:

Exibe os resultados em uma tabela na conta Snowflake.

Criação de um modelo para ativação do provedor

Um modelo usado para ativar resultados é semelhante a um modelo usado para executar uma análise. Por exemplo, ele é adicionado à sala limpa com o comando provider.add_custom_sql_template como um modelo de análise. No entanto, um modelo de ativação tem as seguintes diferenças importantes:

  • O nome do modelo de ativação deve começar com a cadeia de caracteres activation. Por exemplo, um modelo de ativação chamado activation_my_template atende ao requisito.

  • O modelo de ativação deve criar uma tabela com um nome que esteja em conformidade com convenções específicas e retorne explicitamente o nome da tabela.

Definição da tabela em um modelo de ativação

Para armazenar os resultados da ativação na sala limpa, cada modelo de ativação deve criar uma tabela. Existem dois requisitos para esta tabela:

  • O nome da tabela deve começar com a cadeia de caracteres cleanroom.activation_data_. Por exemplo, uma tabela chamada cleanroom.activation_data_analysis_results atende ao requisito.

  • A parte da definição do modelo que cria a tabela deve retornar a cadeia de caracteres que foi anexada em cleanroom.activation_data_ para formar o nome da tabela. Por exemplo, se o nome da tabela for cleanroom.activation_data_analysis_results, a cadeia de caracteres analysis_results deverá ser retornada.

A seguir está um exemplo do que deve ser incluído na definição do modelo para definir uma tabela e exportá-la:

BEGIN
  CREATE OR REPLACE TABLE cleanroom.activation_data_analysis_results AS
    SELECT * FROM identifier({{ my_table[0] }})
  RETURN 'analysis_results';
END;
Copy

Para obter mais informações sobre como chamar o comando provider.add_custom_sql_template para adicionar um modelo de ativação a uma sala limpa, consulte Snowflake Data Clean Rooms: Guia de referência da API do provedor.

Envio de resultados de volta ao provedor

O consumidor envia os resultados de volta ao provedor chamando o comando consumer.run_activation para executar o modelo de ativação, o que é semelhante à execução do comando consumer.run_analysis. A diferença é o segundo argumento, que especifica uma cadeia de caracteres que ajuda o provedor a identificar o conteúdo da ativação.

Por exemplo, o consumidor pode chamar:

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

Para obter mais informações sobre a sintaxe do comando consumer.run_activation, consulte Snowflake Data Clean Rooms: Guia de referência da API do consumidor.

Exibição de resultados ativados como um provedor

Depois que o consumidor ativa os resultados para o provedor, o provedor pode exibi-los em sua conta Snowflake (não no ambiente da sala limpa). Observe que o provedor deve entrar no ambiente da sala limpa antes de entrar na conta Snowflake para exibição os resultados.

Para obter mais informações, consulte Exibição de resultados ativados.