GCP gcloud部署-转义环境变量

时间:2020-02-12 21:23:18

标签: google-cloud-platform syntax environment-variables gcloud

我们有一个正在运行的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实现这种想法?

1 个答案:

答案 0 :(得分: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