Objetos de preenchimento automático

Antes de continuar, certifique-se de que você entendeu os objetos que são compatíveis com o Preenchimento automático entre nuvens (preenchimento automático), como os objetos podem depender das funções da conta, os objetos internos que o Snowflake cria para o preenchimento automático e o que exatamente é realizado pelo preenchimento automático no nível do objeto.

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)

Tabelas Iceberg

Funções de banco de dados

SQL UDF/UDTF (Regular, também conhecido como não seguro)

✔ (quando chamado de exibições compartilhadas em bancos de dados referenciados)

SQL UDF/UDTF (Seguro)

✔ (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 dessa lista for designado como parte de um grupo de replicação ou failover, ele não terá suporte para o preenchimento automático. Consulte Introdução à replicação e failover em várias contas para obter mais detalhes. Se um banco de dados primário contiver uma tabela híbrida, a operação de atualização falhará. Para obter detalhes, consulte o fórum da Comunidade Snowflake.

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 SNOWFLAKE$GDS

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.

Preenchimento 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 o tópico Objetos suportados para preenchimento automático nesta página.

Diagrama mostrando o preenchimento automático de uma listagem para regiões e nuvens adicionais.
  1. O primeiro consumidor de uma região recebe a listagem.

  2. O preenchimento automático transfere os objetos do compartilhamento para a área de compartilhamento segura.

  3. 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