从今天开始,我无法使用gCloud cli部署云功能。
下面是我部署云功能的gloud命令:
gcloud functions deploy chatbot_api_gateway_002_test --runtime python37 --trigger-http --entry-point process --set-env-vars VERIFICATION_TOKEN=sometokenhere,PUBSUB_TOPIC=entrypointfunction001,GOOGLE_CLOUD_PROJECT=cs-be-dev,DEST_URL=__undefined_yet__,DEST_URLS_TIMEOUT=2 --memory=2GB --region=asia-northeast1
我有个错误:
部署功能(可能需要一段时间-最多2分钟)...失败。
错误:(gcloud.functions.deploy)操作错误:代码=3,消息=生成失败:生成已超时
我曾经在一个小时前编写过相同的脚本,但现在,团队中没有人能够部署云功能,并得到相同的错误。
在stackDrive日志中,我只看到以下内容:
{
insertId: "rr5a8qctoo"
logName: "projects/be-dev/logs/cloudaudit.googleapis.com%2Factivity"
operation: {
id: "operations/c2F0YWNzLWJlLWRldi9hc2lhLW5vcnRoZWFzdDEvY2hhdGJvdF9hcGlfZ2F0ZXdheV8wMDJfdGVzdC9SMGdpR0ZRWk13aw"
last: true
producer: "cloudfunctions.googleapis.com"
}
protoPayload: {
@type: "type.googleapis.com/google.cloud.audit.AuditLog"
authenticationInfo: {
principalEmail: "myemail@domain.com"
}
methodName: "google.cloud.functions.v1.CloudFunctionsService.CreateFunction"
requestMetadata: {
destinationAttributes: {
}
requestAttributes: {
}
}
resourceName: "projects/be-dev/locations/asia-northeast1/functions/chatbot_api_gateway_002_test"
serviceName: "cloudfunctions.googleapis.com"
status: {
code: 3
message: "INVALID_ARGUMENT"
}
}
receiveTimestamp: "2020-02-05T09:53:42.771914617Z"
resource: {
labels: {
function_name: "chatbot_api_gateway_002_test"
project_id: "be-dev"
region: "asia-northeast1"
}
type: "cloud_function"
}
severity: "ERROR"
timestamp: "2020-02-05T09:53:42.153Z"
}
有什么建议如何修复它吗?
错误:(gcloud.functions.deploy)操作错误:代码=3,消息=生成失败:生成已超时
我希望您提出两种不同的解决方案,可以解决部署期间云功能超时的问题。
这可能是因为timeout
标志设置较低,或者因为部署占用的时间超过了timeout
标志中指定的时间,从而导致Cloud Function无法部署。
>
当使用gCloud函数部署
时,您可以使用--timeout
标记指定超时(以秒为单位)。
如本文所述,它将以秒为单位设置函数执行时间。它默认用于现有函数,但在您的情况下,由于您正在创建一个新函数,默认情况下需要60秒。如果您觉得60秒不足以部署代码,请尝试增加值。
记住不能超过540秒。
gcloud functions deploy … --timeout [VALUE_SECONDS]
鉴于您在部署期间面临此超时问题,您可以配置云SDK的特定方面的行为,以解决您的问题。
如本文所述,使用命令gcloud config set
将仅在活动配置中设置指定的属性。为了增加总超时,您可以使用cloud_buil_timeout
,如本文所述,它等待Docker构建在部署期间完全完成。
总之,您可以尝试运行以下命令:
gcloud config set app/cloud_build_timeout VALUE
我希望有帮助。
它会显示消息:“INVALID_ARGUMENT”
,因此任何参数都可能不正确(更改日志有时会列出破坏性的更改)。请参阅gcloud函数部署
并进行比较;例如:
允许的值为:128MB、256MB、512MB、1024MB和2048MB。
因此2GB
最终可能是一个INVALID_ARGUMENT
和(NAME:--zone=REGION)
也被声明为位置参数。尝试使用--verbosity=info
或debug
获取更多输出:
gcloud functions deploy \
chatbot_api_gateway_002_test \
--region=asia-northeast1 \
--runtime python37
--trigger-http \
--memory=2048MB \
--verbosity=info
--入口点通常是函数的目录名,
例如helloworld
用于functions/helloworld/main。py
作为入口点。
当我运行gcloud函数deploy gcp_test——trigger resource xxx-test-123——trigger event google时。存储对象我发现语法错误。 错误:(gcloud.functions.deploy)操作错误:code=3,message=Function load错误:文件索引中的代码。无法加载js。你的代码中有语法错误吗?详细堆栈跟踪:/user\
我尝试使用my console在谷歌云平台上部署云功能。我使用的命令是, 但我得到了这个错误, 错误:(gcloud.functions.deploy)操作错误:代码=3,消息=Build failed:无法解析存储源:googleapi:错误404:未找到,未找到 我试着在谷歌上搜索,但似乎以前没有人遇到过这个错误消息。我也尝试过改变项目,部署效果很好。 如果有人知道是什么导致了这个错误,以及我
我创建了一个服务帐户,并为其分配了访问云功能的权限: gcloud beta函数add-iam-policy-binding MyFunction--member=serviceaccount:cf-access@my-project.iam.gserviceaccount.com--role=roles/cloudfunctions.admin 产出: 现在,我下载了服务帐户json文件。 所以
我正在使用cloud函数部署python函数(版本=3.7,内存=1go,超时=1s)。 到目前为止,它非常有效。 但是,我注意到,默认情况下,云函数将其区域设置为。我需要我的函数在中,所以我使用
每当我必须使用sdk部署一个新的python函数时,我都会收到这条消息 是否允许未经验证的调用新函数[函数名]? (y/N)? 警告:使用限制访问IAM策略创建的函数。要启用未经授权的访问,请考虑 “gcloud alpha函数添加iam策略绑定函数名--region=europe-west1--member=allUsers--role=roles/cloudfunctions.invoker”
刚刚完成Hello World谷歌云功能教程,收到以下响应头: