使用europe-west1时,Google Cloud Function Deploy错误

时间:2019-03-15 11:00:32

标签: python deployment google-cloud-functions region

我正在使用云函数来部署python函数(版本= 3.7,内存= 1go,超时= 1s)。

到目前为止,它完全可以正常工作。

但是,我注意到默认情况下,云功能的区域设置为us-central1。 我需要将函数放在europe-west1中,所以我已使用

更改了区域(https://cloud.google.com/functions/docs/locations)。

gcloud function deploy .... --region europe-west1

ERROR: (gcloud.functions.deploy) OperationError: code=3, message=Function failed on loading user code. Error message: Error: function load attempt timed out

我不明白为什么它适用于us-central1而不适用于europe-west1。

有什么想法吗?

谢谢您的帮助!

编辑

雷诺(Thx Renaud)和帕勃罗(Pablo)

输入错误,但我认为我得到了正确的命令。这是:

gcloud functions deploy my_test --entry-point my_test_1 --runtime python37 --memory 1024MB --region=europe-west1 --trigger-http

我仍然收到相同的错误消息。

但是这个

gcloud functions deploy my_test --entry-point my_test_1 --runtime python37 --memory 1024MB --trigger-http

工作正常。

希望有人有一个主意:)谢谢!

2 个答案:

答案 0 :(得分:0)

已在您更新后更新(以及PabloAlmécijaRodríguez的回答):

您必须遵循此doc(即“ deploy命令的完整参考”)并在需要时添加=,如文档中所述:

gcloud functions deploy (NAME : --region=REGION) [--entry- point=ENTRY_POINT] [--memory=MEMORY] [--retry]
[--runtime=RUNTIME] [--service-account=SERVICE_ACCOUNT]
[--source=SOURCE] [--stage-bucket=STAGE_BUCKET] [--timeout=TIMEOUT]
[--update-labels=[KEY=VALUE,…]] [--clear-env-vars     |
--env-vars-file=FILE_PATH     | --set-env-vars=[KEY=VALUE,…]     | --remove-env-vars=[KEY,…] --update-env-vars=[KEY=VALUE,…]] [--clear-labels     | --remove-labels=[KEY,…]]
[--trigger-bucket=TRIGGER_BUCKET     | --trigger-http     |
--trigger-topic=TRIGGER_TOPIC     | --trigger-event=EVENT_TYPE --trigger-resource=RESOURCE] [GCLOUD_WIDE_FLAG …]

所以您应该这样做:

gcloud functions deploy my_test --entry-point=my_test_1 --runtime=python37 --memory=1024MB --timeout=1s --region=europe-west1 --trigger-http

答案 1 :(得分:0)

您有几个错别字(如果是第一次部署Cloud Function,则还有两个遗漏的参数)。您的命令应如下所示:

gcloud functions deploy ... --region=europe-west1 [--trigger-http --runtime=python37]
               ^                    ^

最后一个参数是触发器和运行时的一个示例(在本例中,您将使用相同的参数),因为如果这是您第一次部署该函数,则需要指定所需的触发器,理想情况下还需要指定运行时。

如Renaud所述,这是用于部署Cloud Functions的参数上的documentation