<service_name>!SPCS_GET_LOGS

Renvoie les journaux que Snowflake a collectés depuis les conteneurs du service spécifié. Pour plus d’informations, voir Accéder aux journaux des conteneurs.

Note

La fonction n’est prise en charge que pour les services et les tâches créés dans la version 9.20 ou ultérieure.

Voir aussi :

Surveiller les services

Syntaxe

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

Arguments

START_TIME => constant_expr

Heure de début (au format TIMESTAMP_LTZ) pour la plage de temps à partir de laquelle récupérer les journaux. Pour les fonctions disponibles pour créer des données, des heures et des horodatages, voir Fonctions de date et d’heure.

Si START_TIME n’est pas spécifiée, la valeur par défaut est 1 jour auparavant.

END_TIME => constant_expr

Heure de fin (au format TIMESTAMP_LTZ) pour la plage de temps à partir de laquelle récupérer les journaux.

Si END_TIME n’est pas spécifié, la valeur par défaut est l’horodatage actuel.

Sortie

Chaque ligne de la sortie correspond à un événement enregistré dans la table des événements. Chaque ligne que votre service renvoie à stdout ou stderr donne lieu à une ligne dans la sortie.

La fonction renvoie les colonnes suivantes :

Colonne

Type de données

Description

TIMESTAMP

TIMESTAMP_NTZ

Horodatage temps universel coordonné (UTC) du moment où Snowflake a collecté le journal du conteneur. Cette valeur correspond à la colonne TIMESTAMP dans la table des événements.

INSTANCE_ID

NUMBER

ID de l’instance de service associé aux tâches. Cette valeur correspond au champ de la colonne RESOURCE_ATTRIBUTES dans la table des événements.

CONTAINER_NAME

VARCHAR

Nom du conteneur. Cette valeur correspond au champ snow.service.container.name de la colonne RESOURCE_ATTRIBUTES dans la table des événements.

LOG

VARCHAR

Journal Snowflake collecté à partir du conteneur de votre application. Cette valeur correspond à la colonne VALUE dans la table des événements.

RECORD_ATTRIBUTES

OBJECT

Ajout d’informations sur le journal. Par exemple, le flux de journal (stderr ou stdout) à partir duquel le journal a été collecté. Cette valeur correspond à la colonne RECORD_ATTRIBUTES dans la table des événements.

Exigences en matière de contrôle d’accès

Un rôle utilisé pour exécuter cette opération doit au minimum disposer des privilèges suivants :

Privilège

Objet

Remarques

OWNERSHIP

Service

Le privilège USAGE relatif à la base de données et au schéma parents est exigé pour effectuer des opérations sur tout objet d’un schéma.

Pour obtenir des instructions sur la création d’un rôle personnalisé avec un ensemble spécifique de privilèges, voir Création de rôles personnalisés.

Pour des informations générales sur les rôles et les privilèges accordés pour effectuer des actions SQL sur des objets sécurisables, voir Aperçu du contrôle d’accès.

Notes sur l’utilisation

  • Il peut s’écouler quelques minutes avant que les journaux de vos conteneurs n’apparaissent dans la sortie.

Exemples

Récupérer les journaux que Snowflake a collectés depuis les conteneurs de la tâche my_test_job au cours de la journée écoulée.

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

Exemple de sortie :

+-------------------------+-------------+----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------+
| 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" |
|                         |             |                |                                                                                                                                                                     | }                          |
+-------------------------+-------------+----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------+

Récupérer les journaux que Snowflake a collectés depuis les conteneurs de la tâche my_test_job au cours des trois derniers jours.

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

Récupérer les journaux pour l’instance 0 de la tâche my_test_job dans le conteneur nommé main. Comme l’illustre l’exemple suivant, si vous omettez les arguments START_TIME et END_TIME, la fonction récupère les journaux de la journée passée :

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