Gerenciando o preenchimento automático entre nuvens em Snowflake Data Clean Rooms¶
Sobre o preenchimento automático entre nuvens¶
No ambiente de clean room padrão, uma clean room pode ser compartilhada apenas com contas na mesma região de nuvem. Ou seja, o provedor e o consumidor devem estar na mesma região de nuvem.
Se quiser auxiliar um colaborador com uma conta em uma região diferente da sua, habilite o preenchimento automático entre nuvens para o seu ambiente de sala limpa e sua sala limpa, conforme mostrado nesta página.
Você pode determinar sua própria região de nuvem executando SELECT CURRENT_REGION();
Nota
O preenchimento automático entre nuvens às vezes é chamado de LAF, que é o acrônimo em inglês para preenchimento automático de listagens.
Como habilitar o preenchimento automático entre nuvens¶
Você pode habilitar o preenchimento automático entre nuvens usando a API ou a UI. Entretanto, observe as limitações para colaboração entre regiões.
Pré-requisitos¶
Para habilitar o preenchimento automático entre nuvens em uma conta, o administrador da organização de todos os colaboradores deve primeiro habilitá-lo na conta chamando SYSTEM$ENABLE_GLOBAL_DATA_SHARING_FOR_ACCOUNT.
Saiba mais sobre preenchimento automático e gerenciamento dos privilégios de preenchimento automático.
Habilitação do preenchimento automático entre nuvens na UI¶
Um administrador de salas limpas habilita o preenchimento automático entre nuvens no nível da conta para todas as salas limpas novas e existentes seguindo estas etapas:
Faça login na UI de salas limpas com sua conta de administrador.
Navegue até Admin > Snowflake Admin.
Ative Cross-Cloud Auto-Fulfillment.
Nenhuma etapa adicional é exigida do provedor ou do consumidor para criar ou ingressar em uma sala limpa na UI. Entretanto, se mais tarde você criar ou ingressar em uma sala limpa na API, deverá seguir as instruções da API para provedores e consumidores.
Habilitação do preenchimento automático entre nuvens na API¶
Siga estas instruções para criar ou instalar uma sala limpa na API, mesmo que você já tenha habilitado o preenchimento automático entre nuvens na UI.
Ações do administrador de conta¶
Para habilitar o preenchimento automático entre nuvens em uma conta usando a API, os administradores das contas do provedor e do consumidor devem executar o código SQL a seguir usando a função ACCOUNTADMIN. Você precisa executá-lo apenas uma vez por conta.
USE ROLE ACCOUNTADMIN;
-- Optionally check first to see if LAF is enabled on the account.
CALL samooha_by_snowflake_local_db.library.is_laf_enabled_on_account();
-- If LAF is not enabled, enable it.
CALL samooha_by_snowflake_local_db.library.enable_laf_on_account();
Ações do provedor e consumidor¶
Depois que o preenchimento automático entre nuvens for habilitado em uma conta, veja como habilitá-lo ao criar ou instalar uma sala limpa:
O provedor publica a sala limpa como de costume chamando
provider.create_or_update_cleanroom_listing.O consumidor instala a sala limpa chamando
consumer.install_cleanroom. Se o consumidor estiver em uma região de nuvem diferente do provedor, haverá falha emconsumer.install_cleanroomcom uma mensagem informando que a replicação do preenchimento automático entre nuvens está sendo instalada.O consumidor continua chamando
consumer.install_cleanroomaté que seja bem-sucedido. A instalação leva vários minutos.Neste ponto, o consumidor tem a funcionalidade básica de sala limpa. Para oferecer suporte a solicitações de modelo personalizadas do cliente, análises executadas pelo provedor e ativação do provedor, siga esta etapa adicional:
O provedor chama
provider.mount_request_logs_for_all_consumersaté que o procedimento relate sucesso. Isso significa que a comunicação do consumidor para o provedor está habilitada.
Exemplo de código da configuração completa:
Provedor: o provedor cria, compartilha e publica uma clean room da maneira padrão.
USE WAREHOUSE APP_WH; USE ROLE SAMOOHA_APP_ROLE; SET cleanroom_name = 'LAF example'; SET consumer_locator = '<CONSUMER_LOCATOR>'; SET consumer_account_name = '<CONSUMER_DATA_SHARING_ACCOUNT_ID>'; CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.provider.cleanroom_init($cleanroom_name); CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.provider.set_default_release_directive( $cleanroom_name, 'V1_0', '0'); CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.provider.add_consumers( $cleanroom_name, $consumer_locator, $consumer_account_name); CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.provider.create_or_update_cleanroom_listing($cleanroom_name);
Consumidor: o consumidor instala a sala limpa.
USE WAREHOUSE APP_WH; USE ROLE SAMOOHA_APP_ROLE; SET cleanroom_name = 'LAF example'; SET provider_locator = '<PROVIDER_LOCATOR>'; -- Initial call starts the process and returns a cross-cloud/region replication failure. -- Continue to call this procedure until it returns a success message. CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.consumer.install_cleanroom( $cleanroom_name, $provider_locator); -- Continue with standard clean room configuration and use. -- The consumer can run analyses, but client custom templates, provider run, and provider analysis -- aren't supported until the provider takes the action shown in the next step. ...
Provedor: depois que o consumidor instalar a sala limpa, o provedor deverá montar o compartilhamento de solicitações para habilitar ações baseadas em solicitações entre o provedor e o consumidor. As ações baseadas em solicitações incluem as solicitações do provedor, para executar uma análise, e as solicitações do consumidor, para adicionar um modelo à sala limpa.
-- Call mount_request_logs_for_all_consumers until it reports success. provider.mount_request_logs_for_all_consumers($cleanroom_name);
A funcionalidade completa do provedor/consumidor agora está disponível.
Frequência de atualização para contas entre regiões¶
As solicitações e os dados entre o provedor e o consumidor, quando estão em regiões de nuvem diferentes, estão sujeitos a configurações de frequência de replicação.
Solicitações e dados do provedor ao consumidor¶
Isso inclui todos os dados e solicitações do provedor para o consumidor, como criação ou atualização de uma sala limpa, alteração de dados do provedor, solicitações de permissão (como análises executadas pelo provedor) e aprovações de solicitações (como modelos de consumidores).
Você pode alterar a taxa de atualização do provedor para consumidor chamando set_laf_dcr_refresh_schedule.
Dados |
Taxa de atualização padrão |
|---|---|
Dados da sala limpa do provedor, como estes:
|
|
Solicitações e dados do consumidor ao provedor¶
A tabela a seguir mostra a frequência de atualização padrão de dados e solicitações do consumidor ao provedor.
É possível controlar a taxa de atualização do consumidor para o provedor para cada sala limpa.
Dados |
Taxa de atualização padrão |
|---|---|
Solicitações, aprovações e alterações, como estas:
|
|
Dados de ativação do provedor: |
|
Custos associados à colaboração entre regiões¶
Há custos adicionais associados a colaboradores em uma região diferente. Para obter mais informações sobre como esses custos são incorridos, consulte Custos de autoatendimento.
Limitações na colaboração entre regiões¶
Existem as seguintes limitações na colaboração entre regiões:
Ao usar a UI de salas limpas, você pode ativar a colaboração entre regiões com outros usuários da UI na mesma região de gateway da UI. Por exemplo, as contas na AWS US East (Ohio) podem compartilhar com as contas na AWS US West (Oregon) porque elas têm a mesma região de gateway da UI (AwS US East (N. Virginia)). Contas na AWS US East (Ohio) não pode colaborar com contas na AWS Canadá, porque não compartilham uma região de gateway. Entretanto, qualquer conta pode ser configurada para colaboração entre regiões ao usar a API.
Um provedor não pode usar privacidade diferencial na sala limpa.
Os colaboradores não podem vincular tabelas externas e tabelas iceberg em salas limpas.
Um consumidor não pode executar uma análise de vários provedores.
Uma conta não pode atuar como provedor e consumidor em cenários de colaboração entre nuvens devido aos conflitos de tipo de replicação que podem ocorrer.
Consulte Considerações adicionais ao ativar a colaboração entre regiões.