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.
If you want to collaborate with a collaborator whose account is in a different region than you, you must enable Cross-Cloud Auto-Fulfillment for your clean room environment and your clean room as shown on this page.
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¶
In order to enable Cross-Cloud Auto-Fulfillment for an account, an org admin for all collaborators must first enable it on the account by calling SYSTEM$ENABLE_GLOBAL_DATA_SHARING_FOR_ACCOUNT.
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¶
To enable Cross-Cloud Auto-Fulfillment for an account using the API, administrators in both the provider and consumer accounts must run the following SQL code using the ACCOUNTADMIN role. You need to run this only once per account.
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();
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. This means that communication from the consumer to the provider is enabled.
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.
Requests and data from provider to consumer¶
This includes all data and requests from the provider to the consumer, such as creating or updating a clean room, changing provider data, requests for permission (such as provider-run analyses), and approvals for requests (such as consumer templates).
Você pode alterar a taxa de atualização do provedor para consumidor chamando set_laf_dcr_refresh_schedule.
Dados |
Default refresh rate |
|---|---|
Dados da sala limpa do provedor, como estes:
|
|
Requests and data from consumer to provider¶
The following table shows the default refresh frequency for data and requests from the consumer to the provider.
You can control the consumer to provider refresh rate for each clean room.
Dados |
Default refresh rate |
|---|---|
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:
When using the clean rooms UI, you can enable cross-region collaboration with other UI users in the same UI gateway region. For example, accounts in AWS US East (Ohio) can share with accounts in AWS US West (Oregon) because they have the same UI gateway region (AwS US East (N. Virginia). Accounts in AWS US East (Ohio) can’t collaborate with accounts on AWS Canada, because they don’t share a gateway region. However, any account can be configured for cross-region collaboration when using the 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.