Configuração do preenchimento automático entre nuvens¶
Se você quiser preencher automaticamente o produto de dados associado à sua listagem para outras regiões do Snowflake, configure o Preenchimento automático entre nuvens.
Neste tópico:
Quando o preenchimento automático está ativado para uma listagem, o Snowflake preenche automaticamente seu produto de dados para as regiões do consumidor, conforme necessário. Um produto de dados é o compartilhamento ou pacote de aplicativo anexado à sua listagem.
Ao utilizar o preenchimento automático, você pode evitar replicar manualmente seus produtos de dados e aprovar pedidos para suas listagens, ajudando os consumidores a acessar suas listagens mais rapidamente.
Nota
O uso do Preenchimento automático entre nuvens em um Snowflake Native App with Snowpark Container Services só é compatível com o Amazon Web Services (AWS) e o Microsoft Azure. Consulte Limitações conhecidas com aplicativos com contêineres para obter mais informações.
Sobre o preenchimento automático entre nuvens¶
O preenchimento automático entre nuvens permite que você ofereça um produto de dados em qualquer região compatível do Snowflake, com base nas opções de disponibilidade e acesso selecionadas para sua listagem, sem precisar replicar os dados manualmente.
Você pode configurar e ativar o preenchimento automático quando uma listagem está em estado de rascunho ou publicada. Quando o preenchimento automático é ativado para uma listagem, o Snowflake preenche automaticamente seu produto da listagem para as regiões, conforme a necessidade.
A forma como você disponibiliza seu produto de dados em outras regiões depende de seu produto de dados e de como os consumidores acessam sua listagem:
Se seu produto de dados for um pacote de aplicativo, use o preenchimento automático para disponibilizar seu produto de dados em outras regiões.
Se seu produto de dados for um compartilhamento, use o preenchimento automático na maioria dos casos:
Para listagens gratuitas ou de avaliação limitada no Snowflake Marketplace, você pode usar o preenchimento automático entre nuvens ou replicar manualmente os dados.
Para listagens pagas, você usa o preenchimento automático.
Para todas as listagens compartilhadas com contas de consumidor específicas, a Snowsight detecta automaticamente se a conta de destino está ou não em uma região diferente e habilita o preenchimento automático. Você não pode replicar manualmente as listagens privadas para outras regiões.
Quando você disponibiliza um produto de dados em outras regiões, incorre em custos adicionais. Consulte Gerenciamento de custos do preenchimento automático entre nuvens.
Como funciona o preenchimento automático entre nuvens¶
Quando você configura o Preenchimento automático entre nuvens para a sua listagem, o Snowflake gerencia o provisionamento para uma área de compartilhamento segura (SSA) e o preenchimento automático do seu produto de dados para regiões remotas. A SSA é gerenciada pelo Snowflake. Se o seu produto de dados já existir na região remota, os consumidores dessa região poderão obtê-lo instantaneamente.
Sua listagem tem um produto de dados associado a ela, seja um compartilhamento ou um pacote de aplicativos. O produto de dados contém objetos de um ou mais bancos de dados, bem como a lógica do aplicativo para um pacote de aplicativos.
O momento exato em que seu produto de dados é preenchido automaticamente em uma região remota depende de como você disponibiliza sua listagem:
As listagens privadas são preenchidas automaticamente depois que os consumidores especificados recebem sua listagem.
As listagens públicas compartilhadas em Snowflake Marketplace são preenchidas automaticamente depois que um consumidor na região específica recebe a listagem.
Quando seu produto de dados é preenchido automaticamente em uma nova região pela primeira vez, ele é transferido para uma SSA nessa região. Ao contrário da replicação, o preenchimento automático não mantém uma réplica sincronizada continuamente. O preenchimento automático pode ser configurado com FULL_DATABASE ou SUBDB. FULL_DATABASE disponibiliza todos os objetos em um banco de dados, mas sem sincronização contínua. SUBDB permite que objetos selecionados estejam disponíveis sob demanda. Na replicação, FULL_DATABASE garante uma cópia sincronizada periodicamente, enquanto SUB_DATABASE sincroniza componentes específicos.
Várias listagens podem usar o mesmo banco de dados, mas o banco de dados só é preenchido automaticamente uma vez para uma nova região.
Nota
Para o Business Critical Edition (BCE), o tratamento de dados compartilhados é diferente de implantações de alta segurança como VPS. Embora o BCE não exija a criação de uma SSA separada por região, ele impõe segurança e conformidade rigorosas dos dados com recursos como a criptografia Tri-Secret Secure.
Para implantações como o Virtual Private Snowflake (VPS) e ambientes Snowflake específicos do governo, há uma área de compartilhamento seguro separada (SSA) para cada implantação. Isso garante que o preenchimento automático permaneça em conformidade com os rigorosos requisitos de segurança e isolamento de dados exclusivos desses ambientes.
Após o preenchimento automático inicial de seu produto de dados para a SSA em uma região, as alterações em seu produto de dados são sincronizadas a partir de sua conta com base na frequência de atualização configurada:
Se seu produto de dados é um compartilhamento, e você definirá uma frequência de atualização ao configurar o preenchimento automático entre nuvens para uma listagem. A frequência de atualização se aplica ao banco de dados associado à listagem. Se várias listagens compartilharem objetos do banco de dados, elas compartilharão a mesma frequência de atualização. A data e a hora da atualização dependem de quando o primeiro consumidor solicitou o produto de dados em uma região.
Se o seu produto de dados for um pacote de aplicativo, você definirá uma frequência de atualização no nível da conta que se aplica a cada pacote de aplicativo oferecido em sua conta.
Considerações do preenchimento automático¶
Ao usar o preenchimento automático para suas listagens, considere o seguinte:
Se você se inscreveu no Snowflake usando o AWS Marketplace, GCP Marketplace ou Azure Marketplace, você só poderá criar contas e SSAs nessas nuvens. O preenchimento de listagens para regiões fora de sua região atual de serviço de nuvem falhará.
Dependendo do tamanho do seu produto de dados, pode levar algum tempo para que o produto de dados esteja disponível para o consumidor. O tamanho do seu produto de dados também pode afetar o custo do preenchimento automático. Consulte Gerenciamento de custos do preenchimento automático entre nuvens para obter detalhes sobre o custo.
Modo de nível de objeto (SUBDB) é usado por padrão.
Se uma listagem usar objetos localizados em um banco de dados que já esteja no modo de banco de dados completo (FULL_DATABASE), um aviso será exibido no Snowsight e o banco de dados permanecerá no modo de banco de dados completo.
Se usar o Tri-Secret Secure, você deve entrar em contato com o suporte Snowflake para habilitar o Tri-Secret Secure para as áreas de compartilhamento seguras usadas para preenchimento automático.
Com o Tri-Secret Secure, os resultados da consulta são criptografados usando uma chave do provedor, uma do Snowflake e uma do consumidor. Cada chave controla o acesso de forma independente. Se uma chave for revogada, somente o respectivo proprietário perderá o acesso. Por exemplo, a revogação da chave do provedor não impede que o consumidor acesse os dados que já foram obtidos.
Nota
O preenchimento automático impõe um limite de 10TB no tamanho do produto de dados. Se você encontrar um erro de dimensionamento, consulte Solução de problemas de preenchimento automático entre nuvens.
Após avaliar as implicações de custo, é possível entrar em contato com o suporte Snowflake para aumentar o limite de tamanho.
Objetos suportados para preenchimento automático¶
Os objetos de banco de dados inclusos em ou referenciados por sua listagem devem conter somente objetos aceitos para preenchimento automático.
Dependendo do seu produto de dados, diferentes objetos são suportados:
Objeto |
Compartilhamento (banco de dados) |
Pacote de aplicativo |
---|---|---|
Tabela |
✔ |
✔ |
Exibição (regular, também conhecida como não segura) |
✔ |
✔ |
Exibição (materializada) |
✔ |
✔ |
Exibição (segura) |
✔ |
✔ |
Exibição segura que faz referência a dados armazenados em outros bancos de dados usando o privilégio REFERENCE_USAGE. |
✔ |
|
Tabela dinâmica |
✔ |
✔ (somente do pacote de aplicativo) |
Funções de banco de dados |
✔ |
✔ |
SQL UDF |
✔ |
✔ (quando chamado de exibições compartilhadas em bancos de dados referenciados) |
Procedimento armazenado (não utilizado pelo compartilhamento) |
✔ |
✔ |
Políticas de mascaramento e acesso a linhas |
✔ |
✔ |
Tags |
✔ |
✔ |
Tarefas (não usadas por compartilhamento) |
✔ |
✔ |
Alertas (não usados por compartilhamento) |
✔ |
✔ |
Segredos (não usados por compartilhamento) |
✔ |
✔ |
Se um objeto nesta lista for designado como parte de um grupo de failover, ele não terá suporte para preenchimento automático. Consulte Introdução à replicação e failover.
Se o seu produto de dados contiver ou fizer referência a objetos diferentes dos objetos aceitos listados, você deverá atualizar o produto de dados.
Preenchimento automático para objetos que dependem de funções de conta¶
O preenchimento automático não replica funções de conta. Em vez disso, os objetos em SSAs são de propriedade da função ACCOUNTADMIN.
Se seu compartilhamento ou pacote de aplicativo contiver objetos que dependem de uma função de conta, o objeto poderá funcionar de forma diferente do esperado quando estiver compartilhado com consumidores. Por exemplo:
Se você compartilhar uma exibição segura que inclua dados protegidos por uma política usando a função de contexto INVOKER_ROLE, a política pode ser avaliada como um valor diferente do que na região da conta do provedor visto que a função do proprietário da exibição é diferente.
Se você compartilhar uma exibição segura em que os objetos referenciados pela exibição são restritos a uma função de conta, como uma tabela onde apenas a função SECURITYADMIN tem privilégios SELECT, a expansão da exibição pode falhar quando ela for consultada por um usuário sem a função SECURITYADMIN na conta do provedor, mas retorna resultados quando for consultada por um usuário sem a função SECURITYADMIN na conta do consumidor.
Em vez de usar funções de conta, use funções de banco de dados. Para obter mais informações, consulte Compartilhamento de dados protegidos por uma política e IS_DATABASE_ROLE_IN_SESSION.
Objetos Snowflake internos criados para preenchimento automático¶
O Snowflake cria os seguintes objetos internos para oferecer suporte ao preenchimento automático entre nuvens:
Tipo de objeto |
Nome |
---|---|
Funções |
SNOWFLAKE$GDS_RL AUTO_FULFILLMENT_EXECUTOR |
Banco de dados |
SNOWFLAKE$GDS |
Grupos de replicação |
Prefixado com |
Esses objetos internos são usados para executar tarefas de preenchimento automático, como criar uma área de compartilhamento segura em outra região, e criar um banco de dados para armazenar objetos usados para preenchimento automático, como tarefas de preenchimento.
Esses objetos internos aparecem quando você executa SHOW DATABASES, SHOW ROLES ou SHOW REPLICATION GROUPS respectivamente. Não modifique esses objetos nem os conceda a outros usuários ou funções.
Configuração do preenchimento automático¶
Quando você configura uma listagem e a disponibiliza em uma região diferente de sua região local, ou quando você compartilha uma listagem privada com contas de consumidores em outra região, você pode habilitar o preenchimento automático. Consulte Region availability (somente listagens do Marketplace).
Você deve adicionar um produto de dados à sua listagem antes de configurar o preenchimento automático. As etapas para configurar o preenchimento automático são diferentes dependendo do produto de dados que você oferece e de como você disponibiliza sua listagem.
Privilégios obrigatórios¶
Para executar as tarefas de preenchimento automático, você precisa usar uma das seguintes funções:
A função ORGADMIN.
A função ACCOUNTADMIN à qual foram delegados privilégios para configurar o preenchimento automático.
Uma função personalizada que recebeu o privilégio MANAGE LISTING AUTO FULFILLMENT de um usuário com a função ACCOUNTADMIN com privilégios delegados.
Qualquer função que você usar também deverá ter privilégios OWNERSHIP ou MODIFY na listagem.
Configuração do preenchimento automático em nível de objeto¶
Se você quiser transferir automaticamente o produto de dados associado à sua listagem para outras regiões do Snowflake, configure o Preenchimento automático entre nuvens. Quando o preenchimento automático é ativado para uma listagem, o Snowflake transfere automaticamente seu produto de dados para as regiões remotas, conforme necessário.
Para ajudar a reduzir custos e aliviar a carga de gerenciamento, é possível usar o preenchimento automático SUBDB, para poder escolher preencher apenas as tabelas e exibições em um produto de dados para uma região remota usando o preenchimento automático.
Sobre o preenchimeneto automático em nível de objeto¶
Quando você configura o preenchimento automático em nível de objeto, SUBDB é usado para objetos compatíveis. Os objetos referenciados por esses objetos também devem ser compatíveis. Para obter uma lista dos objetos compatíveis, consulte Objetos suportados para preenchimento automático.

O primeiro consumidor de uma região recebe a listagem.
O preenchimento automático transfere os objetos do compartilhamento para a área de compartilhamento segura.
Qualquer consumidor que obtiver a listagem receberá o produto de dados da área de compartilhamento segura em sua região Snowflake.
O que é preenchido pelo preenchimento automático em nível de objeto¶
Quando você usa o preenchimento automático SUBDB (nível de objeto) para seu produto de dados, somente os objetos concedidos diretamente ao compartilhamento ou aplicativo, ou referenciados por um objeto em seu compartilhamento ou aplicativo, são preenchidos automaticamente.
Por exemplo:
Objeto em produto de dados |
O que é transferido |
---|---|
Tabela em um banco de dados e esquema |
Tabela |
Exibição segura criada a partir de uma tabela no mesmo banco de dados |
Exibição segura e tabela |
Tabela em um banco de dados usando preenchimento automático FULL_DATABASE |
Banco de dados inteiro |
Tabela em um banco de dados usando preenchimento automático SUBDB |
Tabela |
Configuração de preenchimento automático em nível de objeto usando o Snowsight¶
Você configura o preenchimento automático em nível de objeto ao configurar a disponibilidade da região (para uma listagem publicada no Snowflake Marketplace) ou quando você adiciona um consumidor localizado em outra região (para uma listagem compartilhada de forma privada).
Criar uma listagem. Consulte Criação e gerenciamento de uma listagem.
Ative um produto de dados que contenha apenas objetos compatíveis.
Configure regiões ou contas para compartilhar e começar a configurar o preenchimento automático:
Para uma listagem publicada no Snowflake Marketplace:
Localize a seção Region Availability e selecione Add.
Para Region availability, mantenha o padrão de All regions ou selecione Custom regions para sua listagem.
Para uma listagem compartilhada de forma privada, adicione uma conta de consumidor em uma região remota.
Selecione sua frequência de atualização preferida para atualizar o produto de dados em regiões remotas.
Publique sua listagem ou salve-a como um rascunho.
Monitoramento e gerenciamento de configurações de preenchimento automático¶
Gerencie sua listagem para monitorar as regiões onde os consumidores estão usando sua listagem, monitorar o custo do preenchimento automático e fazer mudanças na frequência de atualização de sua listagem.
Nota
Você deve usar uma função com o Privilégios obrigatórios para configurar o preenchimento automático.
Gerenciamento de outras configurações de preenchimento automático¶
Para gerenciar ou monitorar as configurações de preenchimento automático de sua listagem, faça o seguinte:
Faça login na Snowsight.
No menu de navegação, selecione Data Products » Provider Studio » Listings.
Selecione a linha da listagem que você deseja gerenciar.
Na página de detalhes da listagem, acesse as configurações de preenchimento automático:
Para uma listagem oferecida no Snowflake Marketplace, na seção Region Availability, selecione Manage.
Para uma listagem oferecida a consumidores específicos, na seção Consumer Accounts, selecione ….
Selecione a opção que deseja gerenciar para sua listagem:
Selecione Manage Regions & Replication para ver as regiões onde a listagem é atendida e o status de preenchimento automático. Você pode adicionar ou remover a disponibilidade de uma determinada região ou verificar o status.
Selecione uma região para ver um carimbo de data/hora da última sincronização e o número de consumidores acessando os dados.
Se nenhum consumidor tiver acessado o produto da sua listagem em uma região, você pode selecionar Remove Region.
Se um consumidor tiver acessado o produto de sua listagem em uma região, você não poderá remover a região. Em vez disso, se você quiser remover seu produto de dados dessa região, todos os consumidores que usam o produto deverão descartar o banco de dados ou o aplicativo primeiro, ou você deverá excluir a listagem.
Selecione Update Refresh Frequency para atualizar o intervalo de atualização e a frequência do seu produto de dados.
A frequência de atualização de um pacote de aplicativo deve ser definida no nível da conta. Consulte Definição da frequência de atualização no nível da conta.
A frequência de atualização de um compartilhamento é definida no nível da listagem, mas você só pode especificar um cronograma para cada banco de dados. Se você tiver vários compartilhamentos anexados a diversas listagens que contêm objetos do mesmo banco de dados, atualizar a frequência de atualização de uma das listagens atualizará a frequência de atualização de todas as outras listagens que usam o mesmo banco de dados.
Você não pode gerenciar quando ocorre uma atualização. Em vez disso, a programação de atualização de um produto de dados em uma região é baseada na data e hora em que um consumidor dessa região solicita seu produto de dados pela primeira vez.
Selecione Monitor Replication Cost para monitorar os custos relacionados ao envio do produto de dados para outras regiões. Consulte Gerenciamento de custos do preenchimento automático entre nuvens.
Para obter mais detalhes sobre a modificação de listagens, consulte Modificação de listagens publicadas.
Definição da frequência de atualização no nível da conta¶
Se seu produto de dados for um pacote de aplicativo preenchido automaticamente em regiões remotas, as atualizações do seu produto ocorrerão seguindo uma frequência de atualização definida no nível da conta.
Se você tiver a função ACCOUNTADMIN, poderá alterar a frequência de atualização da conta usando um comando SQL ou Snowsight. Ao fazer isso, você atualiza a frequência de atualização do preenchimento automático para cada pacote de aplicativo publicado pela sua conta. Esta frequência de atualização não afeta listagens com compartilhamentos anexados.
Definição da frequência de atualização usando Snowsight¶
Para definir a frequência de atualização do seu aplicativo usando Snowsight, você deve usar a função ACCOUNTADMIN e concluir as etapas a seguir:
Faça login na Snowsight.
No menu de navegação, selecione Data Products » Provider Studio » Listings.
Selecione a linha da listagem que você deseja gerenciar.
Na página de detalhes da listagem, acesse as configurações de preenchimento automático:
Para uma listagem oferecida no Snowflake Marketplace, na seção Region Availability, selecione Manage.
Para uma listagem oferecida a consumidores específicos, na seção Consumer Accounts, selecione ….
Selecione Update Refresh Frequency para atualizar o intervalo de atualização e a frequência do seu produto de dados.
Selecione uma frequência para atualizar seu produto de dados, como a cada minuto ou até uma vez a cada 8 dias.
A frequência de atualização selecionada afeta todos os pacotes de aplicativos publicados pela sua conta. Você pode mostrar todas as listagens afetadas pela alteração na frequência de atualização antes de fazer a alteração.
Você pode especificar a frequência de atualização, mas o horário agendado quando a atualização ocorre em uma região é baseado na data e hora em que um consumidor nessa região solicita pela primeira vez seu produto de dados.
Selecione Update para salvar a frequência de atualização atualizada.
Definição da frequência de atualização usando SQL¶
Para definir a frequência de atualização do seu aplicativo usando SQL, você deve usar a função ACCOUNTADMIN e executar o seguinte comando:
ALTER ACCOUNT SET LISTING_AUTO_FULFILLMENT_REPLICATION_REFRESH_SCHEDULE = '<schedule>'
Onde:
schedule
:O intervalo de tempo no qual o produto de dados deve ser atualizado para outras regiões. Especifique um período em minutos, incluindo a unidade:
MINUTES
.
Por exemplo, para definir a frequência de atualização do preenchimento automático para cada pacote de aplicativo publicado pela sua conta para cada hora, execute o seguinte:
ALTER ACCOUNT SET LISTING_AUTO_FULFILLMENT_REPLICATION_REFRESH_SCHEDULE = '60 MINUTES'
Nota
O cronograma de atualização de um produto de dados em uma região é baseado na data e hora em que um consumidor dessa região solicita seu produto de dados pela primeira vez. Você também pode usar expressões cron para definir cronogramas de listagem. Para obter mais informações, consulte LISTING_AUTO_FULFILLMENT_REPLICATION_REFRESH_SCHEDULE.
Como permitir que as contas configurem o preenchimento automático entre nuvens¶
Se você for o administrador da organização (ou seja, se estiver usando a função ORGADMIN) para uma conta, você pode delegar os privilégios necessários para configurar o preenchimento automático entre nuvens para a função ACCOUNTADMIN nas contas em sua organização.
Depois de delegar privilégios à função ACCOUNTADMIN, a função ACCOUNTADMIN pode conceder o privilégio MANAGE LISTING AUTO FULFILLMENT a outras funções na conta. Consulte Sobre provedores de listagem.
Você pode delegar os privilégios, revogar os privilégios e determinar se os privilégios foram delegados a uma conta específica. Você só pode delegar privilégios a outras contas em sua organização.
Como delegar privilégios para configurar preenchimento automático entre nuvens¶
Para permitir que usuários com a função ACCOUNTADMIN configurem preenchimento o automático entre nuvens, chame a função do sistema chamada SYSTEM$ENABLE_GLOBAL_DATA_SHARING_FOR_ACCOUNT. Os argumentos para esta função do sistema estão descritos abaixo.
Para chamar esta função do sistema é preciso ter a função ORGADMIN.
SELECT SYSTEM$ENABLE_GLOBAL_DATA_SHARING_FOR_ACCOUNT(
'<account_name>'
);
Onde:
account_name
Especifica o nome da conta na qual os usuários com a função ACCOUNTADMIN podem gerenciar o preenchimento automático entre nuvens. Consulte Identificadores de conta.
Como revogar os privilégios para configurar o preenchimento automático entre nuvens¶
Para evitar que usuários com a função ACCOUNTADMIN configurem o preenchimento automático entre nuvens, chame a função do sistema chamada SYSTEM$DISABLE_GLOBAL_DATA_SHARING_FOR_ACCOUNT. Os argumentos para esta função do sistema estão descritos abaixo.
Para chamar esta função do sistema é preciso ter a função ORGADMIN.
SELECT SYSTEM$DISABLE_GLOBAL_DATA_SHARING_FOR_ACCOUNT(
'<account_name>'
);
Onde:
account_name
Especifica o nome da conta na qual os usuários com a função ACCOUNTADMIN não podem gerenciar o preenchimento automático entre nuvens. Consulte Identificadores de conta.
Como verificar se uma conta pode configurar o preenchimento automático entre nuvens¶
Para determinar se os usuários com a função ACCOUNTADMIN em uma conta específica têm permissão para configurar o preenchimento automático entre nuvens, chame a função do sistema chamada SYSTEM$IS_GLOBAL_DATA_SHARING_ENABLED_FOR_ACCOUNT. Os argumentos para esta função do sistema estão descritos abaixo.
Para chamar esta função do sistema é preciso ter a função ORGADMIN.
SELECT SYSTEM$IS_GLOBAL_DATA_SHARING_ENABLED_FOR_ACCOUNT(
'<account_name>'
);
Onde:
account_name
Especifica o nome da conta para a qual você deseja verificar se os usuários com a função ACCOUNTADMIN podem gerenciar o preenchimento automático entre nuvens. Consulte Identificadores de conta.