Google 使用 europe-west1 时云功能部署错误
Google Cloud Function Deploy Error when using europe-west1
我正在使用云函数部署一个 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。
有什么想法吗?
感谢您的帮助!
编辑 :
谢谢雷诺和巴勃罗
我的消息中有拼写错误,但我认为我得到了正确的命令。在这里:
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
工作正常。
希望有人有想法:) 谢谢!
根据您的更新进行了更新(以及 Pablo Almécija Rodríguez 的回答):
您必须遵循此 doc(即 "complete reference for the deploy command")并在需要时添加 =
,如文档中所述:
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
您有几个拼写错误(如果您是第一次部署 Cloud Function,还缺少两个参数)。您的命令应如下所示:
gcloud functions deploy ... --region=europe-west1 [--trigger-http --runtime=python37]
^ ^
最后一个参数是触发器和运行时的示例(在这种情况下,您使用的是完全相同的),因为如果这是您第一次部署该函数,您需要指定所需的触发器,最好还指定运行时。
正如 Renaud 提到的,这里是 documentation 用于部署 Cloud Functions 的参数。
我正在使用云函数部署一个 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。
有什么想法吗?
感谢您的帮助!
编辑 :
谢谢雷诺和巴勃罗
我的消息中有拼写错误,但我认为我得到了正确的命令。在这里:
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
工作正常。
希望有人有想法:) 谢谢!
根据您的更新进行了更新(以及 Pablo Almécija Rodríguez 的回答):
您必须遵循此 doc(即 "complete reference for the deploy command")并在需要时添加 =
,如文档中所述:
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
您有几个拼写错误(如果您是第一次部署 Cloud Function,还缺少两个参数)。您的命令应如下所示:
gcloud functions deploy ... --region=europe-west1 [--trigger-http --runtime=python37]
^ ^
最后一个参数是触发器和运行时的示例(在这种情况下,您使用的是完全相同的),因为如果这是您第一次部署该函数,您需要指定所需的触发器,最好还指定运行时。
正如 Renaud 提到的,这里是 documentation 用于部署 Cloud Functions 的参数。