Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform Google Cloud Composer变量不会传播到气流_Google Cloud Platform_Airflow_Google Cloud Composer - Fatal编程技术网

Google cloud platform Google Cloud Composer变量不会传播到气流

Google cloud platform Google Cloud Composer变量不会传播到气流,google-cloud-platform,airflow,google-cloud-composer,Google Cloud Platform,Airflow,Google Cloud Composer,我尝试在上运行该示例,发现问题主要有两个: 当通过gcloud命令行或web界面创建环境变量时,环境变量不会传播到气流层,从而导致DAG因“变量gcs_bucket不存在”而失败。如果我从Airflow UI添加变量,那么它就工作了 DAG执行正确,但在任何阶段我都看不到在气流中会看到的链接组(树、图形等)。即使在执行成功完成之后 我已检查服务帐户(默认情况下与环境一起创建)是否具有编辑和更新变量(编辑器角色)的权限,也可以通过API进行访问 我发现文档不是最新的,例如,要创建我需要使用的变

我尝试在上运行该示例,发现问题主要有两个:

  • 当通过gcloud命令行或web界面创建环境变量时,环境变量不会传播到气流层,从而导致DAG因“变量gcs_bucket不存在”而失败。如果我从Airflow UI添加变量,那么它就工作了

  • DAG执行正确,但在任何阶段我都看不到在气流中会看到的链接组(树、图形等)。即使在执行成功完成之后

我已检查服务帐户(默认情况下与环境一起创建)是否具有编辑和更新变量(编辑器角色)的权限,也可以通过API进行访问

我发现文档不是最新的,例如,要创建我需要使用的变量:

gcloud composer environments update test-environment \ 
--location=us-central1 \
--update-env-variables=gcs_bucket=gs://airflow2
而不是文章所说的

我还要查什么? 自编写文档以来,还发生了哪些变化

编辑:描述了一个相关问题,它似乎解决了第二个问题

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


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

您的服务帐户是否分配了“composer.worker”角色?与我一起,DAG将显示在UI中


一个非常重要的注意事项是“环境变量”与气流中的变量不同。因此,更新环境变量将不起作用,尽管可以使用环境变量而不是气流变量。气流变量确实可以通过用户界面分配。

遵循教程一步一步失败,这让我尝试了其他方法。在这个测试中,我犯了一个错误,把Composer变量和Airflow变量混淆了,这就是我如何表述这个问题的。但潜在的问题是,教程步骤可能由于环境设置过程中的一些小故障而失败。显然,这个工具有一些局限性,特别是如果你在澳大利亚,就像我的情况一样,比如那些张贴的或是其他的

自(自2020年9月17日起在Composer中提供)起,采用
AIRFLOW\u VAR\u
格式的所有大写环境变量将作为名为
的气流变量以小写形式提供给AIRFLOW

例如:

aiffair\u VAR\u GCS\u BUCKET=“示例BUCKET name”
…将导致

models.Variable.get(“gcs#u bucket”)#-->示例bucket名称

现在还可以使用“机密管理器”存储气流连接、机密和变量。是的,这似乎是我遇到的问题之一。问题是,当我按照指令进行操作时,我得到了错误,说“变量”不是一个可识别的子命令(或类似的东西)。今天早上我又试了一次,效果很好。我把它放进去作为答案。请接受我的回答,这样这个问题就解决了。1.10.10现在是2020年9月17日。谢谢你的提示!非常感谢你!它解决了我的问题。