mcpField
S
setting-up-astro-project

setting-up-astro-project

github.com/astronomer数据与数据库4571.1k 次安装3 周前更新
代码仓库

关于 setting-up-astro-project

使用 Astro CLI 初始化和配置 Airflow 项目的技能,面向搭建 Astro 项目的开发者,涵盖项目结构、依赖、设置和 DAG 解析。

主要功能

  1. 01使用 Astro CLI 初始化项目
  2. 02添加 Python 和操作系统软件包
  3. 03配置连接和变量
  4. 04导出和导入 Airflow 对象
  5. 05运行前解析 DAG

适用场景

  1. 01启动新的 Astro Airflow 项目
  2. 02添加项目依赖
  3. 03在本地加载连接设置
  4. 04执行前检查 DAG 语法

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/astronomer/agents --skill setting-up-astro-project

安装后在 Claude Code 中输入/setting-up-astro-project确认已加载。

详细介绍

Astro 项目设置

此技能可帮助你使用 Astro CLI 初始化和配置 Airflow 项目。

要运行本地环境,请参阅 managing-astro-local-env 技能。 要编写 DAG,请参阅 authoring-dags 技能。 **开源替代方案:**如果用户不使用 Astro,请引导他们使用 Apache Airflow 的 Docker Compose 快速入门进行本地开发,并使用 Helm chart 部署到生产环境。有关部署策略,请使用 deploying-airflow 技能。


初始化新项目

astro dev init

**除非用户明确要求固定到特定版本,否则不要传递 --airflow-version 或 --runtime-version。**直接运行 astro dev init 会解析到最新的 Astro Runtime,这是正确的默认选项。指定版本可能会固定到训练数据中的过时版本。如果用户想知道安装了什么版本,请在之后读取生成的 Dockerfile,不要猜测。

创建以下结构:

project/
├── dags/                # DAG files
├── include/             # SQL, configs, supporting files
├── plugins/             # Custom Airflow plugins
├── tests/               # Unit tests
├── Dockerfile           # Image customization
├── packages.txt         # OS-level packages
├── requirements.txt     # Python packages
└── airflow_settings.yaml # Connections, variables, pools

添加依赖项

Python 包(requirements.txt)
apache-airflow-providers-snowflake==5.3.0
pandas==2.1.0
requests>=2.28.0
OS 包(packages.txt)
gcc
libpq-dev
自定义 Dockerfile

对于复杂设置(私有 PyPI、自定义脚本):

FROM quay.io/astronomer/astro-runtime:12.4.0

RUN pip install --extra-index-url https://pypi.example.com/simple my-package

**修改依赖项后:**运行 astro dev restart


配置连接和变量

airflow_settings.yaml

环境启动时会自动加载:

airflow:
  connections:
    - conn_id: my_postgres
      conn_type: postgres
      host: host.docker.internal
      port: 5432
      login: user
      password: pass
      schema: mydb

  variables:
    - variable_name: env
      variable_value: dev

  pools:
    - pool_name: limited_pool
      pool_slot: 5
导出/导入
# Export from running environment
astro dev object export --connections --file connections.yaml

# Import to environment
astro dev object import --connections --file connections.yaml

运行前验证

无需启动完整环境即可解析 DAG 并捕获错误:

astro dev parse

相关技能

  • managing-astro-local-env:启动、停止和排查本地环境问题
  • authoring-dags:编写和验证 DAG(使用 MCP 工具)
  • testing-dags:测试 DAG(使用 MCP 工具)
  • deploying-airflow:将 DAG 部署到生产环境(Astro、Docker Compose、Kubernetes)

评论

支持 Markdown