- Categorias:
Funções de tabela (Information Schema)
STORAGE_LIFECYCLE_POLICY_HISTORY¶
Retorna o histórico de execução das políticas de ciclo de vida de armazenamento em sua conta nos últimos 14 dias.
Use esta função de tabela para consultar as execuções mais recentes da política (concluídas ou ainda em andamento), em ordem decrescente por horário de término da execução. Para obter mais informações sobre o monitoramento de políticas de ciclo de vida de armazenamento, consulte Monitoramento de políticas de ciclo de vida de armazenamento.
- Consulte também:
CREATE STORAGE LIFECYCLE POLICY, ALTER STORAGE LIFECYCLE POLICY, DROP STORAGE LIFECYCLE POLICY
Sintaxe¶
Por objeto
STORAGE_LIFECYCLE_POLICY_HISTORY(
REF_ENTITY_NAME => '<string>',
REF_ENTITY_DOMAIN => '<string>'
[, TIME_RANGE_START => <constant_expr> ]
[, TIME_RANGE_END => <constant_expr> ]
[, RESULT_LIMIT => <integer> ] )
Por política de ciclo de vida de armazenamento
STORAGE_LIFECYCLE_POLICY_HISTORY(
POLICY_NAME => '<string>'
[, TIME_RANGE_START => <constant_expr> ]
[, TIME_RANGE_END => <constant_expr> ]
[, RESULT_LIMIT => <integer> ] )
Argumentos¶
Nota
Especifique uma das seguintes opções ao chamar a função:
REF_ENTITY_NAME e REF_ENTITY_DOMAIN: recupera o histórico de execução de todas as políticas de ciclo de vida de armazenamento anexadas a um objeto (tabela).
POLICY_NAME: recupera o histórico de execução de uma determinada política de ciclo de vida de armazenamento especificada por nome.
Obrigatório:
REF_ENTITY_NAME => 'string'O identificador do objeto (tabela) em que a execução ocorreu; por exemplo, o nome da tabela à qual a política de ciclo de vida de armazenamento está anexada.
Se o identificador contiver espaços ou caracteres especiais, toda a cadeia de caracteres deverá ser delimitada por aspas duplas. Os identificadores delimitados por aspas duplas também diferenciam letras maiúsculas de minúsculas. Para obter mais informações, consulte Requisitos para identificadores.
REF_ENTITY_DOMAIN => 'string'O tipo de objeto ao qual a política de ciclo de vida de armazenamento está anexada:
'Table': especifica que a política de ciclo de vida de armazenamento está anexada a uma tabela.
POLICY_NAME => 'string'O identificador de uma política de ciclo de vida de armazenamento da qual recuperar o histórico de execução. Se você não especificar o nome da política, deverá especificar valores para REF_ENTITY_NAME e REF_ENTITY_DOMAIN.
Se o identificador contiver espaços ou caracteres especiais, toda a cadeia de caracteres deverá ser delimitada por aspas duplas. Os identificadores delimitados por aspas duplas também diferenciam letras maiúsculas de minúsculas.
Para obter mais informações, consulte Requisitos para identificadores.
Opcional:
TIME_RANGE_START => constant_expr, .TIME_RANGE_END => constant_exprIntervalo de tempo, nos últimos 14 dias, em que ocorreu a execução da política.
Se nenhum parâmetro for especificado, a função retornará linhas (até o RESULT_LIMIT) para as últimas execuções da política em ordem decrescente por END_TIME.
RESULT_LIMIT => integerO número máximo de linhas retornadas por função.
Intervalo:
1a1000Padrão:
1000.
Retornos¶
A função retorna os registros do histórico de execução para as políticas de ciclo de vida de armazenamento. Cada registro contém informações sobre a execução da política, incluindo o nome da política, a tabela associada, o estado de execução, as horas de início e término e os resultados da execução.
Para obter descrições detalhadas das colunas, consulte Saída.
Saída¶
A função retorna as seguintes colunas:
Nome da coluna |
Tipo de dados |
Descrição |
|---|---|---|
POLICY_DB |
VARCHAR |
O nome do banco de dados que contém a política. |
POLICY_SCHEMA |
VARCHAR |
O nome do esquema que contém a política. |
POLICY_NAME |
VARCHAR |
O nome da política. |
REF_ENTITY_DB |
VARCHAR |
O nome do banco de dados que contém o objeto à qual a política está anexada. |
REF_ENTITY_SCHEMA |
VARCHAR |
O nome do esquema que contém o objeto ao qual a política está anexada. |
REF_ENTITY_NAME |
VARCHAR |
O nome do objeto ao qual a política está anexada. |
REF_ENTITY_DOMAIN |
VARCHAR |
O domínio (tipo) do objeto ao qual a política está anexada; por exemplo, |
STATE |
VARCHAR |
O estado de execução da política: |
START_TIME |
TIMESTAMP_LTZ |
O carimbo de data/hora mais antigo de quando uma tarefa na execução da política foi iniciada. |
END_TIME |
TIMESTAMP_LTZ |
O carimbo de data/hora mais recente de quando uma tarefa na execução da política foi concluída. |
EXECUTION_RESULT |
VARIANT |
Objeto JSON que contém os resultados dos trabalhos executados durante a execução da política. Para obter mais informações, consulte Campos EXECUTION_RESULT. |
POLICY_BODY |
VARCHAR |
O corpo da política de ciclo de vida de armazenamento. |
Campos EXECUTION_RESULT¶
A coluna EXECUTION_RESULT é um objeto JSON que inclui objetos aninhados para cada tipo de tarefa na execução da política:
EXPIRE: contém resultados das operações de expiração (excluir linhas permanentemente).ARCHIVE: contém resultados das operações de arquivamento (mover linhas para armazenamento de arquivos).EXPIRE_ARCHIVE: contém resultados para operações de expiração (excluir linhas permanentemente do armazenamento de arquivos).
Cada objeto aninhado pode conter os seguintes campos, em que são aplicados campos específicos a determinados tipos de tarefas:
Nome do campo |
Descrição |
|---|---|
START_TIME |
Carimbo de data/hora de início da tarefa individual. |
END_TIME |
Carimbo de data/hora de término da tarefa individual. |
STATE |
Status da tarefa individual: |
ROWS_EXPIRED |
(Somente a tarefa EXPIRE) O número de linhas excluídas permanentemente do armazenamento ativo. |
ROWS_ARCHIVED |
(Somente a tarefa ARCHIVE) O número de linhas arquivadas no armazenamento. |
ROWS_EXPIRED_FROM_ARCHIVE |
(Somente a tarefa EXPIRE_ARCHIVE) O número de linhas excluídas permanentemente do armazenamento de arquivos. |
ERROR_MESSAGE_CODE |
O código que identifica o tipo de erro encontrado durante a execução da tarefa. |
ERROR_MESSAGE |
Uma mensagem de erro detalhada. |
Exemplo de corpo de EXECUTION_RESULT:
EXECUTION_RESULT =
{
“EXPIRE”: {
“start_time”: "Thu, 27 Jun 2024 02:57:57 -0700",
“end_time”: "Thu, 27 Jun 2024 02:58:01 -0700",
“state”: "SUCCEEDED",
“rows_expired”: 100,
“error_message_code”: null,
“error_message”: null
}
}
Requisitos de controle de acesso¶
Uma função usada para executar esse comando SQL deve ter pelo menos um dos seguintes privilégios, no mínimo:
Privilégio |
Objeto |
Notas |
|---|---|---|
APPLY STORAGE LIFECYCLE POLICY |
Global |
Se a função que chama a função tiver esse privilégio, o Snowflake retornará todas as execuções de política relacionadas a todas as políticas e as tabelas associadas na conta Snowflake. |
APPLY |
Política de ciclo de vida de armazenamento |
Para exibir as execuções de uma política, uma função também deve ter o privilégio OWNERSHIP na(s) tabela(s) associada(s) à política. Esse privilégio não será necessário se a função tiver o privilégio global APPLY STORAGE LIFECYCLE POLICY. |
OWNERSHIP |
Tabela |
Para exibir as execuções de uma política, uma função também deve ter o privilégio APPLY na política associada à tabela. Esse privilégio não será necessário se a função tiver o privilégio global APPLY STORAGE LIFECYCLE POLICY. |
Notas de uso¶
Os resultados são retornados com base nos privilégios concedidos à função que executa a consulta:
Se a função tiver o privilégio global APPLY STORAGE LIFECYCLE POLICY, o Snowflake retornará todas as execuções da política relacionadas às associações de política e tabela na conta.
Se a função tiver o privilégio APPLY em uma política de ciclo de vida de armazenamento específica, o Snowflake retornará as execuções dessa política somente para objetos que são de propriedade da função que chama a função.
Se a função tiver ou o privilégio APPLY ou OWNERSHIP na política, mas não tiver o privilégio OWNERSHIP na tabela à qual a política está anexada, o Snowflake não mostrará as execuções da política nos resultados.
Se a função não tiver privilégios de política, mas tiver o privilégio OWNERSHIP na tabela à qual uma política está anexada, o Snowflake retornará uma mensagem de erro e não retornará as execuções da política.
Exemplos¶
Especifique os argumentos REF_ENTITY_NAME e REF_ENTITY_DOMAIN para recuperar o histórico da política de ciclo de vida de armazenamento para uma tabela chamada t1:
SELECT * FROM
TABLE (
INFORMATION_SCHEMA.STORAGE_LIFECYCLE_POLICY_HISTORY(
REF_ENTITY_NAME => 'my_db.my_schema.t1',
REF_ENTITY_DOMAIN => 'Table'
)
);
Recupere o histórico da política de ciclo de vida de armazenamento para cada tabela que tenha a política chamada slp associada a ela e limite os resultados a 100 linhas:
SELECT * FROM
TABLE(
INFORMATION_SCHEMA.STORAGE_LIFECYCLE_POLICY_HISTORY(
POLICY_NAME => 'my_db.my_schema.slp',
RESULT_LIMIT => 100
)
);
Recupere as 100 execuções mais recentes de uma política especificada, programadas na última hora:
SELECT * FROM
TABLE(
INFORMATION_SCHEMA.STORAGE_LIFECYCLE_POLICY_HISTORY(
POLICY_NAME => 'my_db.my_schema.slp',
TIME_RANGE_START => DATEADD('HOUR', -1, CURRENT_TIMESTAMP()),
RESULT_LIMIT => 100
)
);
Recupere o histórico de execução da política para uma determinada tabela em um intervalo de 30 minutos:
SELECT * FROM
TABLE (
INFORMATION_SCHEMA.STORAGE_LIFECYCLE_POLICY_HISTORY(
REF_ENTITY_NAME => 'my_db.my_schema.t1',
REF_ENTITY_DOMAIN => 'Table',
TIME_RANGE_START => TO_TIMESTAMP_LTZ('2024-07-08 12:00:00.000 -0700'),
TIME_RANGE_END => TO_TIMESTAMP_LTZ('2024-07-08 12:30:00.000 -0700')
)
);