SYSTEM$AUTO_REFRESH_STATUS

Renvoie le statut d’actualisation automatique pour une table Iceberg gérée en externe.

Syntaxe

SYSTEM$AUTO_REFRESH_STATUS('<table_name>')
Copy

Arguments

'table_name'

Nom de la table Iceberg dont vous souhaitez récupérer le statut d’actualisation automatisée actuel.

Le nom complet doit être placé entre guillemets simples, y compris la base de données et le schéma en cas d’utilisation du nom entièrement qualifié. Si le nom de la table est sensible à la casse ou inclut des caractères spéciaux ou des espaces, vous devez utiliser des guillemets doubles. Placez les guillemets doubles entre les guillemets simples, par exemple, '"Table_Name"'.

Renvoie

La fonction renvoie un objet JSON contenant les paires nom/valeur suivantes :

{
  “executionState”:”<value>”,
  ”invalidExecutionStateReason”:”<value>”
  ”pendingSnapshotCount”:<value>,
  ”oldestSnapshotTime”:<value>,
  ”currentSnapshotId”:”<value>”,
  ”lastSnapshotTime”:”<value>”,
  ”lastUpdatedTime”:<value>
}
Copy

Où :

“executionState”

État d’exécution actuel du canal que Snowflake utilise pour automatiser les actualisations des métadonnées de la table.

Valeurs :

  • RUNNING : L’actualisation automatisée s’exécute comme prévu. Ce statut n’indique pas si Snowflake traite activement les messages d’événement pour le canal.

  • STALLED : L’actualisation automatisée a rencontré une erreur et tente de la réparer.

  • STOPPED : L’actualisation automatisée a rencontré une erreur irrécupérable ; elle restera arrêtée jusqu’à ce que vous interveniez. Pour plus d’informations, voir Reprise en cas d’erreur.

”invalidExecutionStateReason”

Message d’erreur associé à un état d’exécution STALLED ou STOPPED.

”pendingSnapshotCount”

Nombre d’instantanés mis en file d’attente pour une actualisation automatique.

”oldestSnapshotTime”

Horodatage le plus ancien parmi les instantanés en file d’attente. Snowflake définit l’horodatage d’un instantané lorsque l’instantané est ajouté à la file d’attente.

”currentSnapshotId”

ID de l’instantané actuel suivi par Snowflake. Cette valeur représente l’instantané auquel correspondent les données de la table actuelle.

”lastSnapshotTime”

Horodatage de création de l’instantané actuel selon les métadonnées Iceberg. Cet horodatage correspond au moment où l’instantané actuel a été généré dans le catalogue externe.

”lastUpdatedTime”

Horodatage indiquant quand Snowflake a traité correctement l’instantané actuel. La différence entre cette valeur et lastSnapshotTime indique la latence entre le moment où les instantanés sont créés dans le catalogue externe et le moment où Snowflake parvient à actualiser les métadonnées de la table.

Pour diminuer la latence, ajustez le paramètre REFRESH_INTERVAL_SECONDS pour l’intégration du catalogue associé à la table.

Notes sur l’utilisation

L’appel de cette fonction nécessite un rôle disposant du privilège OWNERSHIP sur la table Iceberg.

Exemples

Récupérer le statut d’actualisation automatisée de la table my_iceberg_table dans le schéma db1.schema1 :

SELECT SYSTEM$AUTO_REFRESH_STATUS('db1.schema1.my_iceberg_table');
Copy