GCP gcloud部署-转义环境变量

问题描述 投票:1回答:1

我们有一个正在运行的gcloud deploy命令,我们正在尝试向其中添加新的环境变量。当前工作示例如下:

gcloud functions deploy ftn_handler --set-env-vars APP_PROJECT_ID=my-project-id,CLOUD_STORAGE_BUCKET=my_bucket_name,ENVIRONMENT=development --runtime python37 --memory=1024MB  --trigger-resource my_project.appspot.com --trigger-event google.storage.object.finalize

现在,我们要添加的env变量是一个简单的列表,例如:MY_LIST = ['val1','val2'],因此首先我们尝试了显而易见的方法:

gcloud functions deploy ftn_handler --set-env-vars APP_PROJECT_ID=my-project-id,CLOUD_STORAGE_BUCKET=my_bucket_name,ENVIRONMENT=development,MY_LIST=['val1', 'val2'] --runtime python37 --memory=1024MB  --trigger-resource my_project.appspot.com --trigger-event google.storage.object.finalize

但立即返回错误:

((gcloud.functions.deploy)无法识别的参数:val2]

所以我们开始考虑转义this article中指示的值

基于这篇文章,我们认为以下方法可能有效

gcloud functions deploy ftn_handler --set-env-vars APP_PROJECT_ID=my-project-id,CLOUD_STORAGE_BUCKET=my_bucket_name,ENVIRONMENT=development,MY_LIST=^,^val1,val2 --runtime python37 --memory=1024MB  --trigger-resource my_project.appspot.com --trigger-event google.storage.object.finalize

但是我们仍然收到错误:

[(gcloud.functions.deploy)参数--set-env-vars:字典arg的语法错误:[^ val1]

我们已经尝试了使用转义句法的多种变体,但都以某种错误结束。关于适当语法的任何想法,或者甚至可以通过--set-env-vars实现?

google-cloud-platform syntax environment-variables gcloud
1个回答
0
投票

由于您使用的是python,并且希望将列出的值作为环境变量,所以我发现了一个有用的answer,其中创建了LIST_ITEMS变量,然后通过python代码进行了拆分。

我已经复制了这个,可以确认可以使用gcloud命令添加变量:

gcloud functions deploy Your_Function --runtime python37 --set-env-vars LIST="a.1 b.2 c.3" --trigger-http
© www.soinside.com 2019 - 2024. All rights reserved.