如何使用命令行将json文件导入Google Cloud Composer?
我尝试了以下命令
gcloud composer environments run comp-env --location=us-central1 variables -- --import composer_variables.json
我遇到以下错误
[2019-01-17 13:34:54,003] {configuration.py:389} INFO - Reading the config from /etc/airflow/airflow.cfg
[2019-01-17 13:34:54,117] {app.py:44} WARNING - Using default Composer Environment Variables. Overrides have not been applied.
Missing variables file.
但是当我使用以下命令设置单个变量时,它可以正常工作。
gcloud composer environments run comp-env --location=us-central1 variables -- --set variable_name variable_value
由于我要导入的变量超过75个,因此我们需要使用json文件导入它。请帮助我解决此问题
答案 0 :(得分:3)
跟随命令gcloud composer environments run {environment-name} variables -- --i {path-to-json-file}
在Airflow容器内远程执行airflow variables
。因此,需要在Airflow worker / scheduler窗格中访问json文件。因此,您需要先将var.json
复制到GCS,然后再运行命令。例如:
gcloud composer environments storage data import --source=your-var.json --environment={environment-name} --location={location}
gcloud composer environments run {environment-name} --location={location} variables -- --i /home/airflow/gcs/data/your-var.json
。