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 você quiser colaborar com um colaborador cuja conta esteja 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 deve primeiro habilitá-lo na conta chamando SYSTEM$ENABLE_GLOBAL_DATA_SHARING_FOR_ACCOUNT. Isso é válido para provedores e consumidores.
Saiba mais sobre preenchimento automático e gerenciamento dos privilégios de preenchimento automático.
Enabling Cross-Cloud Auto-Fulfillment in the 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.
Enabling Cross-Cloud Auto-Fulfillment in the 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.
Account administrator actions¶
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 de exemplo 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 cross-cloud is enabled on the account.
CALL samooha_by_snowflake_local_db.library.is_laf_enabled_on_account();
-- If not, enable it.
CALL samooha_by_snowflake_local_db.library.enable_laf_on_account();
Provider and consumer actions¶
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.At this point, the consumer has basic clean room functionality. To support client custom template requests, provider-run analyses, and provider activation, follow this additional step:
The provider calls
provider.mount_request_logs_for_all_consumersuntil the procedure reports success to enable communication from the consumer to the provider.
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. ...
Provider: After the consumer installs the clean room, the provider must mount the requests share to enable request-based actions between the provider and consumer. Request-based actions include provider requests to run an analysis and consumer requests to add a template to the clean room.
-- 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.
You can control the consumer to provider refresh rate for each clean room.
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, os colaboradores devem compartilhar a mesma região de hospedagem da UI. Por exemplo, se a região de hospedagem da UI de uma conta é «Amazon Web Services: US East (N. Virginia)», e a região de hospedagem da UI da outra conta é «Amazon Web Services: Asia Pacific (Mumbai)», as duas contas não podem colaborar na UI. No entanto, elas podem colaborar usando a API, se ambas as contas e a sala limpa estiverem configuradas para preenchimento automático entre nuvens, conforme descrito nesta página.
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.