dagster-expert

Par dagster-io · skills

npx skills add https://github.com/dagster-io/skills --skill dagster-expert

Concepts fondamentaux de Dagster

Brèves définitions uniquement (voir les fichiers de référence pour des exemples détaillés) :

  • Asset : Objet persistant (table, fichier, modèle) produit par votre pipeline
  • Component : Bloc de construction réutilisable qui génère des définitions (assets, schedules, sensors, jobs, etc.) pertinentes pour un domaine particulier.

Workflow d'intégration

Lors de l'intégration avec N'IMPORTE QUEL outil ou service externe, consultez l'index des bibliothèques d'intégration. Il contient des informations sur les bibliothèques d'intégration existantes et des références sur la façon de créer de nouvelles intégrations personnalisées pour les outils qui n'ont pas de bibliothèque publiée.

CLI dg

La CLI dg est la méthode recommandée pour interagir programmatiquement avec Dagster (ajouter des définitions, lancer des runs, explorer la structure du projet, etc.). Elle est installée dans le cadre du package dagster-dg-cli. Si une commande CLI pertinente existe pour une tâche donnée, tentez toujours de l'utiliser.

EXPLOREZ la structure du projet existant UNIQUEMENT si c'est strictement nécessaire pour atteindre l'objectif de l'utilisateur. Dans de nombreux cas, les outils CLI existants comprendront suffisamment la structure du projet, ce qui signifie que lister et lire les fichiers existants est du gaspillage et inutile.

Presque toutes les commandes dg qui retournent des informations ont un flag --json qui peut être utilisé pour obtenir l'information dans un format lisible par machine. Ceci doit être préféré à la sortie table par défaut sauf si vous affichez l'information directement à l'utilisateur.

Compatibilité UV

Les projets utilisent généralement uv pour la gestion des dépendances, et il est recommandé de l'utiliser pour les commandes dg si possible :

uv run dg list defs
uv run dg launch --assets my_asset

CRITIQUE : Toujours lire les fichiers de référence avant de répondre

NE répondez JAMAIS de mémoire ou en devinant les commandes CLI, les APIs ou la syntaxe. LISEZ TOUJOURS le(s) fichier(s) de référence pertinent(s) de l'index de référence ci-dessous avant de répondre.

Pour chaque question, identifiez quel(s) fichier(s) de référence sont pertinents en utilisant les descriptions de l'index, lisez-les, puis répondez en fonction de ce que vous avez lu.

Index de référence

<!-- BEGIN GENERATED INDEX -->

  • Syntaxe de sélection d'assets — filtrer les assets par tag, groupe, kind, upstream ou downstream ; AssetSelection en Python, barre de recherche UI ou CLI
  • Variables d'environnement — configurer les variables d'environnement dans différents environnements
  • Motifs d'assets — définir des assets, dépendances, métadonnées, partitions ou définitions multi-assets
  • Choisir une approche d'automatisation — décider entre schedules, sensors et automatisation déclarative
  • Schedules — automatisation basée sur le temps avec expressions cron
  • Automatisation déclarative — automatisation déclarative centrée sur les assets utilisant AutomationCondition
  • Asset Sensors — déclencher sur des événements de matérialisation d'assets
  • Sensors basiques — automatisation événementielle avec surveillance de fichiers ou polling personnalisé
  • Run Status Sensors — réagir aux changements de statut de run (succès, échec, etc.)
  • dg check — valider la configuration du projet ou les définitions
  • create-dagster — créer un nouveau projet Dagster à partir de zéro
  • dg dev — démarrer une instance Dagster locale de développement
  • dg launch — matérialiser les assets ou exécuter les jobs localement
  • dg list components — voir les types de components disponibles pour le scaffolding
  • dg list defs — lister ou filtrer les définitions enregistrées
  • API Dagster Plus — dg api, interroger ou gérer programmatiquement les ressources Dagster Plus (assets, runs, deployments, code locations, schedules, sensors, secrets, issues, etc.)
  • dg list — explorer la structure du projet (arborescence des components, variables d'environnement, projets workspace)
  • CLI Dagster Plus — dg plus, authentification Dagster Plus, configuration et déploiement ; se connecter, configurer, créer des tokens API, déployer du code, récupérer les variables env, gérer les manifestes dbt
  • dg scaffold component — créer un type de component réutilisable personnalisé
  • dg scaffold defs — ajouter de nouvelles définitions (assets, schedules, sensors, components) à un projet
  • dg utilities — dg utils, inspecter les types de components, afficher les intégrations, actualiser le cache des components state-backed
  • Créer des Components — construire un nouveau component personnalisé à partir de zéro
  • Concevoir des intégrations de Components — concevoir un component qui encapsule un service ou outil externe ; intégrations personnalisées
  • Framework Resolved — définir des types de schéma YAML personnalisés en utilisant Resolver, Model ou Resolvable
  • Subclasser les Components — étendre un component existant via subclassing ; personnaliser le component d'intégration dagster
  • Variables de template — utiliser les variables de template Jinja2 dans le YAML des components (portées env, dg, context ou personnalisées)
  • Créer des Components state-backed — construire un component qui récupère et met en cache l'état externe
  • Utiliser des Components state-backed — gérer les components state-backed en production, CI/CD ou actualiser l'état
  • Fichiers de configuration de déploiement — build.yaml, container_context.yaml, dagster_cloud.yaml ; configuration de déploiement Dagster Plus ; configurer le registre Docker, le contexte container, la queue d'agent ; fichiers de déploiement hybride
  • Index des bibliothèques d'intégration pour plus de 40 outils et technologies (dbt, Fivetran, Snowflake, AWS, etc.). — intégration, outil externe, dagster-* ; dbt, fivetran, airbyte, snowflake, bigquery, sling, aws, gcp
  • Guides de migration — migration de sensor vers automatisation déclarative, migration de sensor vers automation condition

<!-- END GENERATED INDEX -->

Skills similaires