Catégories :

Fonctions système (Informations système)

SYSTEM$LOCATE_DBT_ARCHIVE

Renvoie l’URL à partir de laquelle vous pouvez récupérer des artefacts d’exécution dbt zippés pour un projet dbt spécifié.

Utilisez cette fonction avec la fonction DBT_PROJECT_EXECUTION_HISTORY pour accéder aux artefacts et aux journaux dbt par programmation.

Syntaxe

SYSTEM$LOCATE_DBT_ARCHIVE ( '<query_id>' )
Copy

Arguments

query_id

L’ID de requête de l’exécution du projet dbt dont vous souhaitez localiser les fichiers.

Renvoie

Cette fonction renvoie l’URL à partir de laquelle vous pouvez récupérer le contenu zippé des résultats d’un projet dbt spécifié.

Pour plus d’informations et d’exemples, voir Accéder aux artefacts et aux journaux dbt de manière programmatique.

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

Cette fonction comprend uniquement les exécutions à partir d’espaces de travail et de projets dbt pour lesquels vous disposez des privilèges suivants :

  • OWNERSHIP ou USAGE pour les espaces de travail

  • OWNERSHIP, USAGE ou MONITOR pour les projets dbt

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. Notez qu’un rôle doté d’un privilège quelconque sur un schéma permet à ce rôle de résoudre le schéma. Par exemple, un rôle doté du privilège CREATE sur un schéma peut créer des objets sur ce schéma sans également avoir le privilège USAGE attribué sur ce 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

  • Cette fonction système fonctionne uniquement sur les objets de projet dbt ; elle n’est pas disponible pour les espaces de travail.

  • Les IDs de requête générés depuis CREATE DBT PROJECT ou ALTER DBT PROJECT … ADD VERSION ne sont pas pris en charge pour cette fonction système.

  • L’interrogation directe du contenu de fichiers (par exemple, Exemples de requête) n’est pas prise en charge.

  • Si query_id est NULL ou n’est pas une exécution dbt, vous obtiendrez une erreur.

  • Les résultats du projet dbt sont disponibles pour un maximum de 14 jours.

  • Les fichiers peuvent être indisponibles si une exécution expire, est annulée ou échoue avant leur téléchargement. Dans ce cas, les exécutions apparaissent en tant que UNHANDLED ERROR dans l’historique dbt.

  • Vous ne pouvez pas utiliser cette fonction pour obtenir des journaux sur les exécutions en cours, car le fichier des journaux n’est disponible qu’une fois l’exécution terminée.

Exemples

L’exemple suivant renvoie l’URL snow:// des artefacts compressés (par exemple, dbt_artifacts.zip) pour l’exécution spécifiée.

Vous pouvez utiliser cette URL avec GET pour télécharger le fichier ZIP (ou COPY FILES pour le déplacer vers votre propre zone de préparation). Pour le chemin du dossier au lieu du ZIP, utilisez SYSTEM$LOCATE_DBT_ARTIFACTS.

SELECT SYSTEM$LOCATE_DBT_ARCHIVE($latest_query_id);
Copy

Pour plus d’informations, voir Accéder aux artefacts et aux journaux dbt de manière programmatique.