我正在使用云函数来部署python函数(版本= 3.7,内存= 1go,超时= 1s)。
到目前为止,它完全可以正常工作。
但是,我注意到默认情况下,云功能的区域设置为us-central1
。
我需要将函数放在europe-west1
中,所以我已使用
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
工作正常。
希望有人有一个主意:)谢谢!
答案 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。