gpt4 book ai didi

google-cloud-platform - Google Cloud Composer 变量不会传播到 Airflow

转载 作者:行者123 更新时间:2023-12-03 23:36:39 25 4
gpt4 key购买 nike

我正在尝试在 Google Cloud Composer documentation 中运行示例我发现问题,主要有两个:

  • 通过 gcloud 命令行或 Web 界面创建的环境变量不会传播到 Airflow 层,从而导致 DAG 无法提示“变量 gcs_bucket 不存在”。如果我从 Airflow UI 添加变量,那么它就可以工作。
  • DAG 正确执行,但在任何阶段我都看不到在 Airflow 中看到的一组链接(树、图、...)。即使在执行成功完成之后。

  • 我已经检查了服务帐户(在环境中默认创建)是否有权编辑和更新变量(编辑者角色)也可以通过 API 访问。

    我发现文档不是最新的,例如创建我需要使用的变量:
    gcloud composer environments update test-environment \ 
    --location=us-central1 \
    --update-env-variables=gcs_bucket=gs://airflow2

    而不是文章所说的。

    我还要检查什么?
    自文档编写以来还有哪些变化?

    编辑:描述了一个相关问题 here这似乎解决了第二个问题。

    编辑:有趣的是,如果我免费运行 lab ,第二个问题不会发生。第一个还在。我正在比较一个和另一个中的角色,从与自动创建的 Composer 项目无关的角色开始。并且没有以替代解决方案的格式创建的服务帐户。

    我将感谢任何人可以提供的任何帮助。

    最佳答案

    截至 Airflow v1.10.10 (截至 2020 年 9 月 17 日在 Composer 中可用),遵循格式 AIRFLOW_VAR_<VARIABLE_NAME> 的全大写环境变量将作为名为 <variable_name> 的 Airflow 变量提供给 Airflow , 小写。
    例如:

    AIRFLOW_VAR_GCS_BUCKET="example-bucket-name"
    ...会导致
    models.Variable.get("gcs_bucket") # --> example-bucket-name
    您现在还可以使用 Secret Manager 来存储 Airflow 连接、 secret 和变量。 ( Documentation )

    关于google-cloud-platform - Google Cloud Composer 变量不会传播到 Airflow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52809474/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com