Google cloud platform 如何从命令行设置/获取json格式的气流变量

Google cloud platform 如何从命令行设置/获取json格式的气流变量,google-cloud-platform,google-cloud-composer,Google Cloud Platform,Google Cloud Composer,我无法通过cloud shell以json格式编辑气流变量的值 我正在使用cloud shell访问json格式的气流变量params,当我使用以下命令时,它会提供完整的json: gcloud composer environments run composer001 --location us-east1 variables --get params 但是,我想编辑json中的一个值,如何访问它 我参考了google上的文档和各种其他链接,但是我只能找到如何设置不是json格式的变量,

我无法通过cloud shell以json格式编辑气流变量的值

我正在使用cloud shell访问json格式的气流变量params,当我使用以下命令时,它会提供完整的json:

gcloud composer environments run composer001 
--location us-east1 variables 
--get params
但是,我想编辑json中的一个值,如何访问它


我参考了google上的文档和各种其他链接,但是我只能找到如何设置不是json格式的变量,而是单值变量。

Cloud Composer CLI和Airflow CLI仅对顶级变量运行,而不是对其json内容运行

您可以使用Airflow UI编辑JSON变量,因为UI加载整个变量,您可以就地编辑它。或者,如果需要通过命令行更新JSON变量中的特定值,可以首先将变量导出到JSON文件:

gcloud composer environments run \
    [ENVIRONMENT] --location [LOCATION] \
    variables -- --export /home/airflow/gcs/data/your-vars.json

gcloud composer environments storage data export \
    --environment [ENVIRONMENT] --location [LOCATION] \
    --source your-vars.json --destination .
使用类似jq的命令编辑JSON中的值:

并将更新后的文件导入回Cloud Composer:

gcloud composer environments storage data import \
    --environment [ENVIRONMENT] --location [LOCATION] \
    --source your-updated-vars.json

gcloud composer environments run \
    [ENVIRONMENT] --location [LOCATION] \
    variables -- --import /home/airflow/gcs/data/your-updated-vars.json

Cloud Composer CLI和Airflow CLI仅对顶级变量进行操作,而不是对其JSON内容进行操作

您可以使用Airflow UI编辑JSON变量,因为UI加载整个变量,您可以就地编辑它。或者,如果需要通过命令行更新JSON变量中的特定值,可以首先将变量导出到JSON文件:

gcloud composer environments run \
    [ENVIRONMENT] --location [LOCATION] \
    variables -- --export /home/airflow/gcs/data/your-vars.json

gcloud composer environments storage data export \
    --environment [ENVIRONMENT] --location [LOCATION] \
    --source your-vars.json --destination .
使用类似jq的命令编辑JSON中的值:

并将更新后的文件导入回Cloud Composer:

gcloud composer environments storage data import \
    --environment [ENVIRONMENT] --location [LOCATION] \
    --source your-updated-vars.json

gcloud composer environments run \
    [ENVIRONMENT] --location [LOCATION] \
    variables -- --import /home/airflow/gcs/data/your-updated-vars.json

谢谢我是否可以每次上载params.json,无论其是否使用以下命令编辑或创建气流变量内的新键:gcloud composer environments run\[ENVIRONMENT]-location[location]\variables--重要性、变量创建和更新将以这种方式工作,只要您的params.json文件表示顶级气流变量,并且您已将此文件导入Cloud Composer数据存储。运行环境和存储环境数据导出步骤之间的区别是什么?同样,在环境间存储数据导入和环境运行?谢谢。我是否可以每次上载params.json,无论其是否使用以下命令编辑或创建气流变量内的新键:gcloud composer environments run\[ENVIRONMENT]-location[location]\variables--重要性、变量创建和更新将以这种方式工作,只要您的params.json文件表示顶级气流变量,并且您已将此文件导入Cloud Composer数据存储。运行环境和存储环境数据导出步骤之间的区别是什么?类似地,在环境之间存储数据导入和环境运行?