Tipos de objetos compatíveis com DCM Projects¶
A instrução DEFINE é um comando especial usado exclusivamente em arquivos de definição de DCM project. A sintaxe dela é semelhante à do comando CREATE OR ALTER, mas com as seguintes diferenças importantes:
A ordem e o local das instruções DEFINE não importam. O Snowflake coleta e classifica todas as instruções de todos os arquivos de definição durante a execução do projeto.
Se você remover uma instrução DEFINE que já foi implantada, o Snowflake descartará o objeto correspondente na próxima vez que você implantar o projeto. O mesmo acontece com as instruções GRANT e ATTACH, que são removidas depois que já foram implantadas.
Apenas um subconjunto de tipos de objetos Snowflake é permitido.
Todos os objetos devem ser definidos com um nome totalmente qualificado (
database.schema.object_name).As referências a outros objetos devem ser feitas com nomes totalmente qualificados.
Os seguintes tipos de objeto são nativamente compatíveis com as instruções DEFINE, GRANT ou ATTACH nos arquivos de definição de DCM Projects.
Política de autenticação
Banco de dados¶
🚫 Alterações não permitidas:
Qualquer limitação CREATE OR ALTER, incluindo renomear o banco de dados
Esquema¶
🚫 Alterações não permitidas:
Qualquer limitação CREATE OR ALTER, incluindo renomear o esquema
Tabela¶
🚫 Alterações não permitidas:
Qualquer limitação CREATE OR ALTER, incluindo as seguintes operações:
Renomear tabelas
Como renomear colunas
Reordenar colunas
Alterar tipos de colunas para tipos incompatíveis
Adicionar otimização de pesquisa a uma tabela ou colunas
Adicionar tags e políticas a uma tabela ou colunas
Tabela dinâmica¶
✅ Alterações permitidas:
Sem uma atualização completa:
Warehouse
Meta de atraso
Com reinicialização ou uma atualização completa:
Modo de atualização
Alterações no corpo, incluindo:
Descarte de colunas
Adicionar colunas ao final
⚠️ Argumentos imutáveis:
INITIALIZE
🚫 Alterações não permitidas:
Qualquer limitação CREATE OR ALTER, incluindo as seguintes operações:
Reordenar colunas
Renomear tabelas dinâmicas
Exibição¶
🚫 Alterações não permitidas:
Qualquer limitação CREATE OR ALTER, incluindo as seguintes operações:
Renomear exibições
Reordenar colunas
Estágio interno¶
✅ Alterações permitidas:
Tabela de diretório
Comentário
⚠️ Atributos imutáveis:
Tipo de criptografia
Warehouse¶
⚠️ Atributos imutáveis:
INITIALLY_SUSPENDED
Função e função de banco de dados¶
🚫 Tipos incompatíveis:
Função do aplicativo
Grant¶
🚫 Tipos GRANT incompatíveis:
Concessões de APPLICATION ROLE
Concessões de CALLER
Nota
Ao remover uma instrução GRANT OWNERSHIP que já foi implantada, os DCM Projects tentam usar a função de proprietário atual para conceder a propriedade de volta ao proprietário do DCM project. Se a função de proprietário do projeto não tiver a função de proprietário do objeto, a propriedade precisará ser transferida de volta manualmente fora dos DCM Projects.
Os DCM Projects só têm conhecimento das concessões que foram definidas e implantadas usando os DCM Projects. As concessões que foram adicionadas fora dos DCM Projects coexistem, e os DCM Projects não as removem.
Função de métrica de dados¶
As funções de métrica de dados (Data Metric Functions, DMFs) permitem definir as expectativas de qualidade dos dados e anexar essas expectativas a tabelas. Você pode selecionar entre as DMFs de sistema existentes ou escrever as próprias funções de métrica de dados definidas pelo usuário (User-defined Data Metric Functions, UDMFs). Depois disso, você pode anexá-las a tabelas, exibições e tabelas dinâmicas com um relacionamento muitos para muitos. Para obter mais informações, consulte Usar SQL para configurar funções de métricas de dados.
Para anexar funções de métrica de dados, primeiro você precisa adicionar DATA_METRIC_SCHEDULE a cada definição de tabela, tabela dinâmica ou exibição. Por exemplo: DATA_METRIC_SCHEDULE = TRIGGER_ON_CHANGES. O cronograma TRIGGER_ON_CHANGES não está disponível para exibições.
Os nomes das expectativas definidos pelo usuário devem ser exclusivos por projeto e anexo.
A definição de expectativas é opcional, mas recomendada, ao anexar DMFs a colunas de tabela. As DMFs anexadas sem expectativas definidas não são consideradas ao executar EXECUTE DCM PROJECT <my_project> TEST ALL.
✅ Alterações permitidas:
Definindo UDMFs (funções de métrica de dados definidas pelo usuário)
Anexando DMFs de sistema e UDMFs a tabelas, exibições ou tabelas dinâmicas dentro e fora de um DCM project
Definindo expectativas de dados para colunas de tabela
Exemplo:
Um exemplo de definição de UDMF:
Um exemplo de anexação de DMF de sistema com expectativa:
Um exemplo de anexação de UDMF com expectativa:
Para ver todas as DMFs de sistema disponíveis, consulte SHOW DATA METRIC FUNCTIONS IN DATABASE SNOWFLAKE.
Tarefa¶
Quando alterações de definição são implementadas para uma tarefa que já foi iniciada, o Snowflake suspende automaticamente a tarefa (ou a respectiva tarefa raiz) de modo temporário, aplica a alteração e depois a retoma.
As tarefas recém-implantadas são suspensas por padrão.
🚫 Alterações não permitidas:
Limitações nas instruções CREATE OR ALTER TASK. Consulte CREATE TASK para obter mais informações.
Função SQL¶
🚫 Alterações não permitidas:
Limitações nas instruções CREATE OR ALTER. Consulte CREATE FUNCTION para obter mais informações.
Tag¶
🚫 Atributos incompatíveis:
Propagar