前端开发
用 Astro CLI 初始化与配置 Airflow…
当需要用 Astro CLI 创建新的 Airflow/Astro 项目、配置依赖或连接变量时使用。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
用 Astro CLI 初始化与配置 A特定
解决思路
- 运行 `astro dev init` 初始化新项目;除非用户明确要求固定版本,否则不要传 `--airflow-version` 或 `--runtime-version`,默认会解析到最新的 Astro Runtime。若需知道实际安装的版本,事后读取生成的 `Dockerfile`,不要凭猜测。
- 了解生成的项目结构:`dags/`(DAG 文件)、`include/`(SQL、配置及支撑文件)、`plugins/`(自定义 Airflow 插件)、`tests/`(单元测试)、`Dockerfile`(镜像定制)、`packages.txt`(系统级包)、`requirements.txt`(Python 包)、`airflow_settings.yaml`(连接、变量、池)。
- 在 `requirements.txt` 中添加 Python 包依赖,例如 `apache-airflow-providers-snowflake==5.3.0`、`pandas==2.1.0`、`requests>=2.28.0`。
- 在 `packages.txt` 中添加系统级 OS 包,例如 `gcc`、`libpq-dev`。
- 对于复杂场景(私有 PyPI、自定义脚本),修改 `Dockerfile`,例如 `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` 中配置连接、变量和池,环境启动时会自动加载:connections 需填 `conn_id`、`conn_type`、`host`、`port`、`login`、`password`、`schema`;variables 填 `variable_name`、`variable_value`;pools 填 `pool_name`、`pool_slot`。
- 用 `astro dev object export --connections --file connections.yaml` 从运行中的环境导出连接,用 `astro dev object import --connections --file connections.yaml` 导入到环境。
- 在启动完整环境前,用 `astro dev parse` 解析 DAG 以捕获错误。
- 若用户不在 Astro 上,引导其使用 Apache Airflow 的 Docker Compose 快速入门做本地开发、Helm chart 做生产部署;部署策略参考 `deploying-airflow` 技能。
- 相关技能:本地环境的启动/停止/排障见 `managing-astro-local-env`;编写与校验 DAG 见 `authoring-dags`;测试 DAG 见 `testing-dags`;部署到生产见 `deploying-airflow`。
适用边界 · 注意事项
- 用户不在 Astro 平台上时,应改用 Apache Airflow 的 Docker Compose 快速入门与 Helm chart,而非本技能。
- 仅需运行本地环境时,应使用 managing-astro-local-env 技能。
- 仅需编写或测试 DAG 时,应使用 authoring-dags 或 testing-dags 技能。