You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Serverless Framework部署Cloud Function遇Cloud Storage触发器错误

Cloud Storage触发Cloud Function部署失败问题解决

问题描述

通过Serverless Framework部署Cloud Function,期望Cloud Storage存储桶中有文件创建时触发该函数,但部署失败,错误提示事件类型无法识别。

原serverless.yml配置

read-file:
handler: ReadFile
events:
  - event:
      eventType: providers/cloud.storage/eventTypes/google.storage.object.archive
      resource: "projects/${self:provider.project}/buckets/${env:BUCKET_NAME_GS}"
memorySize: 128
environment:
  AUDIENCE_AUTH0: ${env:AUDIENCE_AUTH0}
  DOMAIN_AUTH0: ${env:DOMAIN_AUTH0}

部署错误信息

{"code":400,"message":"The request has errors","status":"INVALID_ARGUMENT","details":[{"@type":"type.googleapis.com/google.rpc.BadRequest","fieldViolations":[{"field":"event_trigger","description":"Unknown event_type providers/cloud.storage/eventTypes/google.storage.object.archive"}]}]}

解决方案

1. 修正事件类型

错误核心是事件类型格式错误+事件类型不符合需求:

  • 你需要的是文件创建触发,对应Cloud Storage的object.finalize事件(文件上传完成时触发)
  • 事件类型正确格式应为providers/cloud.storage/eventTypes/object.finalize,原配置中冗余的google.前缀导致GCP无法识别该事件类型。

2. 修正后的配置

read-file:
handler: ReadFile
events:
  - event:
      eventType: providers/cloud.storage/eventTypes/object.finalize
      resource: "projects/${self:provider.project}/buckets/${env:BUCKET_NAME_GS}"
memorySize: 128
environment:
  AUDIENCE_AUTH0: ${env:AUDIENCE_AUTH0}
  DOMAIN_AUTH0: ${env:DOMAIN_AUTH0}

补充说明

Cloud Storage常见事件类型(正确格式):

  • 文件创建完成:providers/cloud.storage/eventTypes/object.finalize
  • 文件删除:providers/cloud.storage/eventTypes/object.delete
  • 文件归档:providers/cloud.storage/eventTypes/object.archive(若确实需要归档触发,仅需移除原配置中的google.前缀即可)

内容的提问来源于stack exchange,提问作者Franavi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 23:05:23