Snowflake Data Clean Rooms: Visão geral das APIs de desenvolvedor¶
Uma Snowflake Data Clean Room fornece aos desenvolvedores as melhores APIs de desenvolvedor, permitindo desenvolver aplicativos utilizando uma sala limpa. Você pode aproveitar essas poderosas APIs para gerenciar o ciclo de vida de uma sala limpa, criar e executar várias análises seguras e, em seguida, compartilhá-las
Uma sala limpa é um ambiente criptograficamente seguro que protege os dados contidos nela. Salas limpas executam apenas análises e algoritmos específicos habilitados pelo criador da sala limpa. Além disso, uma camada de proteção é adicionada por meio de técnicas de privacidade diferencial que expõem apenas resultados agregados externamente. Salas limpas garantem que nenhum usuário ou processo possa ler ou gravar dados, exceto algoritmos fornecidos pelo criador da sala limpa.
Colaboradores¶
Geralmente, há duas partes envolvidas no ciclo de vida de uma sala limpa que colaboram entre si:
Um provedor cria uma sala limpa, adiciona os dados necessários, define as políticas, adiciona as análises relevantes e, em seguida, compartilha tudo com o consumidor.
Um consumidor recebe uma sala limpa compartilhada de um provedor. Os consumidores podem instalar uma sala limpa, adicionar seus dados e executar qualquer análise compatível com argumentos apropriados passados aos modelos de análise contidos na sala limpa.
Análises¶
Análises são algoritmos executados dentro de uma sala limpa. O provedor escolhe algumas análises e as habilita para uma sala limpa específica, e então o consumidor pode escolher executar uma ou mais dessas análises.
Pré-requisitos¶
Para que você possa usar as APIs de desenvolvedor de uma Snowflake Data Clean Room, um administrador deve configurar o ambiente de sala limpa e adicioná-lo como usuário. Para obter mais detalhes, consulte Introdução a uma Snowflake Data Clean Room.
Você deve usar a função SAMOOHA_APP_ROLE para executar as APIs de desenvolvedor. Adicione o seguinte à sua planilha Snowflake antes de executar a API:
USE ROLE samooha_app_role;
Vinculação de dados¶
Provedores e consumidores podem vincular dados a uma sala limpa para que não seja necessário ter uma cópia física no ambiente de sala limpa. Como as Snowflake Data Clean Rooms depende do Snowflake Native App Framework, você pode vincular qualquer objeto compatível pelo Snowflake Native App Framework.
Antes que os usuários da sala limpa possam vincular dados a uma sala limpa, o administrador de conta deve registrar os dados no banco de dados, no esquema ou no nível do objeto. Se o administrador registrar um banco de dados ou esquema, todos os objetos naquele banco de dados ou esquema também serão registrados. Para obter informações sobre como um administrador registra dados, consulte Registro de dados para Snowflake Data Clean Rooms.
Após o administrador de conta registrar os dados, os usuários da sala limpa podem vincular um objeto à sala limpa executando o comando link_datasets
. Por exemplo, um provedor pode executar o seguinte comando para vincular uma tabela MY_TABLE
à sala limpa dcr_cleanroom
:
CALL samooha_by_snowflake_local_db.provider.link_datasets('dcr_cleanroom',
['MY_DB.MY_SCHEMA.MY_TABLE']);
Nota
Tabelas externas e tabelas Iceberg exigem etapas adicionais antes de poderem ser conectadas em uma sala limpa. Para obter mais informações, consulte Snowflake Data Clean Rooms: tabelas externas e Iceberg.
Recuperação de resultados anteriores de uma análise¶
Quando você usa as APIs do desenvolvedor para executar uma análise, o Snowflake Data Cleans Rooms executa uma consulta na sua conta. Você pode recuperar resultados de uma análise mais antiga usando o ID da consulta da consulta associada à análise.
Nota
Se o warehouse for suspenso entre a execução da análise da API e o uso desta consulta para recuperar resultados, talvez você não consiga obter os resultados.
Para recuperar resultados de uma análise anterior:
Entre no Snowsight.
Selecione Monitoramento >> Histórico de consultas.
Use os filtros para encontrar a consulta associada à análise e, em seguida, copie o ID da consulta.
Abra uma planilha e execute uma consulta que recupere os resultados com base no ID de consulta da consulta. Por exemplo, se o ID da consulta for
ABC123
, então execute:SELECT * FROM TABLE(result_scan(ABC123));
Documentação de referência da API¶
Para obter as descrições e assinaturas das APIs de desenvolvedor, consulte o seguinte:
Se você for um provedor, consulte o Guia de referência da API do provedor.
Se você for um consumidor, consulte Guia de referência da API do consumidor.
Exemplos estendidos¶
Para ajudar você a entender como usar vários recursos de APIs do desenvolvedor, você pode consultar os exemplos a seguir.
Análise de dados do provedor de ponta a ponta
Um provedor pode definir políticas de junção e outras políticas de coluna em conjuntos de dados vinculados à sala limpa e, em seguida, adicionar um modelo de análise de dados seguro e predefinido à sala limpa.
Um consumidor pode usar a sala limpa compartilhada pelo provedor e executar análises exploratórias dentro dela. O consumidor deve respeitar as políticas de junção e coluna definidas pelo provedor.
Para obter mais informações, consulte Análise de dados do provedor de ponta a ponta.
Análise de sobreposição de ponta a ponta
Um provedor pode vincular vários conjuntos de dados e adicionar um modelo de análise predefinido que realiza uma análise de sobreposição nos conjuntos de dados para a sala limpa.
O consumidor pode vincular mais conjuntos de dados e realizar a análise de sobreposição em conjunto em todos os conjuntos de dados de provedores e consumidores disponíveis na sala limpa.
Para obter mais informações, consulte Análise de sobreposição de ponta a ponta.
Modelos de análise personalizados
Um provedor pode definir e adicionar um modelo de análise personalizado a uma sala limpa, o que permite que os consumidores executem análises personalizadas.
Esses modelos de análise personalizados podem se tornar genéricos aproveitando os poderosos modelos SQL Jinja e também podem oferecer suporte a tecnologias de aprimoramento de privacidade, como privacidade diferencial.
Para obter mais informações, consulte Modelos de análise personalizados.
Modelos baseados em Python seguro
Os provedores podem carregar código Python personalizado para ser executado dentro de modelos de análise personalizados.
Todo o código Python carregado na sala limpa permanece completamente confidencial e não pode ser visto pelos consumidores que o utilizam.
Para obter mais informações, consulte Modelos baseados em Python seguro.
Aprendizado de máquina
Os provedores podem definir modelos avançados de aprendizado de máquina que os usuários podem executar com segurança dentro de salas limpas.
O código Python seguro, que não é visível aos consumidores, pode ser usado para definir modelos de ML que podem ser executados em um ambiente totalmente seguro dentro da sala limpa.
Para obter mais informações, consulte Aprendizado de máquina.
Modelos baseados em UDTF Python seguro
Os provedores podem criar UDTFs em Python seguro usando uma simples API e compartilhá-las com os consumidores.
Os consumidores podem usar UDTF Python usando um modelo simples fornecido pelo provedor.
Para obter mais informações, consulte Modelos baseados em UDTF em Python seguro.
Registrando salas limpas da API de desenvolvedor no aplicativo da Web
Os provedores podem registrar salas limpas carregadas com análises e modelos personalizados no aplicativo da Web de uma Snowflake Data Clean Room, o que permite que seus colaboradores trabalhem com a sala limpa em uma interface de usuário.
Os colaboradores podem interagir com essas salas limpas complexas e personalizadas inteiramente por meio do aplicativo da Web.
Para obter mais informações, consulte Registro de salas limpas da API de desenvolvedor no aplicativo da Web.
Procedimentos Snowpark seguros
Os provedores podem definir seus próprios procedimentos Snowpark e compartilhá-los com segurança com um consumidor.
Os consumidores podem chamar esses procedimentos Snowpark usando o fluxo de trabalho usual run_analysis.
Para obter mais informações, consulte Procedimentos Snowpark seguros.