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 chamadoactivation_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 chamadacleanroom.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 forcleanroom.activation_data_analysis_results
, a cadeia de caracteresanalysis_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;
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.
Vinculação da tabela necessária¶
Para habilitar a ativação do provedor, o provedor deve vincular a tabela samooha_by_snowflake_local_db.library.temp_public_key
à sala limpa antes de compartilhá-la com o consumidor. Por exemplo, para vincular a tabela necessária a uma sala limpa my_activation_cleanroom
, execute:
CALL samooha_by_snowflake_local_db.provider.link_datasets(
'my_activation_cleanroom',
['samooha_by_snowflake_local_db.library.temp_public_key']);
Você também pode usar uma única chamada para vincular a tabela necessária ao vincular suas outras tabelas e exibições.
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'
));
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.