如何解决通过gcloud设置具有特殊字符的Cloud Composer环境变量
我正在尝试弄清楚如何通过gcloud
创建Google Cloud Composer环境并设置带有一些特殊字符的环境变量。
示例环境变量: API_URL = https://stuff.api.thing.com
我正在使用的gcloud
cmd示例:
gcloud composer environments create new-env-1 --location=us-central1 --airflow_configs=[core-dags_are_paused_at_creation=True] --env-variables=[API_URL=https://stuff.api.thing.com,env_type=dev] --node_count=3 --python-version=3 --image-version=composer-1.10.0-airflow-1.10.6 --network=projects/backcountry-data-team/global/networks/default
运行上面的示例时,出现以下错误:
ERROR: (gcloud.composer.environments.create) argument --env-variables: Bad value [[API_URL]: Only upper and lowercase letters,digits,and underscores are allowed. Environment variable names may not start with a digit.
预计会出现此错误based on the docs。
但是,如果我通过GCP控制台,则可以像示例一样设置环境变量。难道没有办法通过gcloud
来做到这一点吗?
解决方法
为了让社区更好地了解我,我在发表@DazWilkin的评论以作答。
gcloud
命令期望键值对以逗号分隔的“ list” ;但是,这不同于编程语言上的list
对象。例如,在Python中,该list
对象将是这样的:
[1,2,3]
相反,gcloud
工具的预期格式为:
... the-flag=key1=value1,key2=value2
在documentation(在gcloud
标签下)中也可以看到以下内容:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--update-env-variables=KEY=VALUE,KEY=VALUE...
正如@DazWilkin所说,这意味着您不需要在键值对周围包括[
和]
。
将您的命令留在下一步:
gcloud composer environments create new-env-1 --location=us-central1 \
--airflow_configs=core-dags_are_paused_at_creation=True \
--env-variables=API_URL=https://stuff.api.thing.com,env_type=dev \
--node_count=3 --python-version=3 --image-version=composer-1.10.0-airflow-1.10.6 \
--network=projects/backcountry-data-team/global/networks/default
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。