<service_name>!SPCS_GET_LOGS

Retorna os logs que o Snowflake coletou de contêineres do serviço especificado. Para obter mais informações, consulte Acessar logs de contêiner.

Nota

A função é compatível apenas com serviços e trabalhos criados na versão 9.20 ou posterior.

Consulte também:

Serviços de monitoramento

Sintaxe

<service_name>!SPCS_GET_LOGS(
  [ START_TIME => <constant_expr> ],
  [ END_TIME => <constant_expr> ] )
Copy

Argumentos

START_TIME => constant_expr

Hora de início (no formato TIMESTAMP_LTZ) para o intervalo de tempo a partir do qual os logs devem ser recuperados. Para as funções disponíveis para construção de dados, hora e carimbo de data/hora, consulte Funções de data e hora.

Se START_TIME não for especificado, o padrão será 1 dia atrás.

END_TIME => constant_expr

Hora de término (no formato TIMESTAMP_LTZ) para o intervalo de tempo a partir do qual os logs devem ser recuperados.

Se END_TIME não for especificado, o padrão será o carimbo de data/hora atual.

Saída

Cada linha na saída corresponde a um evento registrado na tabela de eventos. Cada linha que seu serviço envia para stdout ou stderr resulta em uma linha na saída.

A função retorna as seguintes colunas:

Coluna

Tipo de dados

Descrição

TIMESTAMP

TIMESTAMP_NTZ

Carimbo de data/hora no horário universal coordenado (UTC) em que Snowflake coletou o log do contêiner. Esse valor é mapeado para a coluna TIMESTAMP na tabela de eventos.

INSTANCE_ID

NUMBER

ID da instância do serviço de trabalho. Esse valor é mapeado para o campo snow.service.instance na coluna RESOURCE_ATTRIBUTES na tabela de eventos.

CONTAINER_NAME

VARCHAR

Nome do contêiner. Esse valor é mapeado para o campo RESOURCE_ATTRIBUTES na coluna na tabela de eventos.

LOG

VARCHAR

Log que o Snowflake coletou do contêiner do aplicativo. Esse valor é mapeado para a coluna VALUE na tabela de eventos.

RECORD_ATTRIBUTES

OBJECT

Adição de informações sobre o log. Por exemplo, o fluxo de logs (stderr ou stdout) de onde o log foi coletado. Esse valor é mapeado para a coluna RECORD_ATTRIBUTES na tabela de eventos.

Requisitos de controle de acesso

A função usada para executar essa operação deve ter, no mínimo, os seguintes privilégios:

Privilégio

Objeto

Notas

OWNERSHIP

Serviço

O privilégio USAGE no banco de dados e no esquema pai é necessário para executar operações em qualquer objeto de um esquema.

Para instruções sobre como criar uma função personalizada com um conjunto específico de privilégios, consulte Criação de funções personalizadas.

Para informações gerais sobre concessões de funções e privilégios para executar ações de SQL em objetos protegíveis, consulte Visão geral do controle de acesso.

Notas de uso

  • Pode levar alguns minutos até que os logs do contêiner sejam exibidos na saída.

Exemplos

Recuperar os logs que o Snowflake coletou de contêineres do trabalho my_test_job no último dia.

SELECT * FROM TABLE(my_test_job!SPCS_GET_LOGS());
Copy

Exemplo de saída:

+-------------------------+-------------+----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------+
| TIMESTAMP               | INSTANCE_ID | CONTAINER_NAME | LOG                                                                                                                                                                 | RECORD_ATTRIBUTES          |
|-------------------------+-------------+----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------|
| 2025-06-26 00:23:40.281 |           0 | main           | job-tutorial - INFO - Job finished                                                                                                                                  | {                          |
|                         |             |                |                                                                                                                                                                     |   "log.iostream": "stdout" |
|                         |             |                |                                                                                                                                                                     | }                          |
| 2025-06-26 00:23:38.787 |           0 | main           | job-tutorial - INFO - Executing query [select current_time() as time,'hello'] and writing result to table [results]                                                 | {                          |
|                         |             |                |                                                                                                                                                                     |   "log.iostream": "stdout" |
|                         |             |                |                                                                                                                                                                     | }                          |
| 2025-06-26 00:23:38.787 |           0 | main           | job-tutorial - INFO - Connection succeeded. Current session context: database="TUTORIAL_DB", schema="DATA_SCHEMA", warehouse="TUTORIAL_WAREHOUSE", role="TEST_ROLE" | {                          |
|                         |             |                |                                                                                                                                                                     |   "log.iostream": "stdout" |
|                         |             |                |                                                                                                                                                                     | }                          |
| 2025-06-26 00:23:36.852 |           0 | main           | job-tutorial - INFO - Job started                                                                                                                                   | {                          |
|                         |             |                |                                                                                                                                                                     |   "log.iostream": "stdout" |
|                         |             |                |                                                                                                                                                                     | }                          |
+-------------------------+-------------+----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------+

Recuperar os logs que o Snowflake coletou de contêineres do trabalho my_test_job nos últimos três dias.

SELECT * FROM TABLE(my_test_job!SPCS_GET_LOGS(START_TIME => DATEADD('day', -3, CURRENT_TIMESTAMP())));
Copy

Recuperação dos logs da instância 0 do trabalho my_test_job no contêiner chamado main. Como mostrado no exemplo a seguir, se você omitir os argumentos START_TIME e END_TIME, a função recupera os logs do último dia:

SELECT * FROM TABLE(my_test_job!SPCS_GET_LOGS())
WHERE instance_id = 0 AND container_name = 'main';
Copy