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> ] )
Copy

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> ] )
Copy

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_expr

Intervalo 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 => integer

O número máximo de linhas retornadas por função.

Intervalo: 1 a 1000

Padrã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, Table.

STATE

VARCHAR

O estado de execução da política: QUEUED, EXECUTING, SUCCEEDED ou FAILED.

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: SUCCEEDED ou FAILED.

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'
    )
  );
Copy

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
    )
  );
Copy

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
  )
);
Copy

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')
  )
);
Copy