Firebase函数:ApiError:在Object.parseHttpRespBod:中找不到从Firebase存储中删除时

Firebase函数:ApiError:在Object.parseHttpRespBod:中找不到从Firebase存储中删除时,firebase,google-cloud-platform,google-cloud-functions,firebase-storage,Firebase,Google Cloud Platform,Google Cloud Functions,Firebase Storage,我正试图通过firebase云函数从firebase存储中删除一项 但是它给了我这个错误 Error { ApiError: Not Found at Object.parseHttpRespBody (/user_code/node_modules/firebase-admin/node_modules/@google-cloud/common/src/util.js:193:30) at Object.handleResp (/user_code/node_modul

我正试图通过firebase云函数从firebase存储中删除一项

但是它给了我这个错误

    Error { ApiError: Not Found
    at Object.parseHttpRespBody (/user_code/node_modules/firebase-admin/node_modules/@google-cloud/common/src/util.js:193:30)
    at Object.handleResp (/user_code/node_modules/firebase-admin/node_modules/@google-cloud/common/src/util.js:131:18)
    at /user_code/node_modules/firebase-admin/node_modules/@google-cloud/common/src/util.js:496:12
    at Request.onResponse [as _callback] (/user_code/node_modules/firebase-admin/node_modules/@google-cloud/common/node_modules/retry-request/index.js:198:7)
    at Request.self.callback (/user_code/node_modules/firebase-admin/node_modules/request/request.js:185:22)
    at emitTwo (events.js:106:13)
    at Request.emit (events.js:191:7)
    at Request.<anonymous> (/user_code/node_modules/firebase-admin/node_modules/request/request.js:1161:10)
    at emitOne (events.js:96:13)
    at Request.emit (events.js:188:7)
  code: 404,
  errors: [ { domain: 'global', reason: 'notFound', message: 'Not Found' } ],
  response: undefined,
  message: 'Not Found' }
我还从I am&admin页面添加了googleapi服务代理和appengine默认服务帐户存储管理员角色

谢谢。

问题出在这里:

functions.firestore.document('users/{user_Id}/info/visa_cop').onUpdate((change,context)
此时,函数将侦听文件夹“info”中名为“visa_cop”的文档。您需要在末尾添加标记,以告知函数侦听此文件夹中任何文件的更新(或者,如果需要,您可以指定一个文件)

只需在
visa_cop
之后添加例如
/{visaId}
,如下所示:

functions.firestore.document('users/{user_Id}/info/visa_cop/{visaId}').onUpdate((change,context)
Ps.“visaId”可以是任何内容,但它必须与您在功能部署时定义的文档路径相匹配

在您的示例中,该函数侦听“visa_cop”文件夹中的任何文档,因此如果您使用:

控制台:

  • 触发器是“云Firestore”
  • 事件类型为“更新”
  • 文件路径为“students/{studentId}/visa_cop/{visaId}”
CLI:


看起来你正试图删除整个名为“签证警察”的桶。这就是你想要的吗?你到底想在这里完成什么?我只是在尝试,如果成功了,我以后会调整的。。但是我想检查一下它是否会被删除。。因此,是的,我想删除所有内容在这种情况下,错误消息告诉您,它找不到具有您给定名称的bucket。我要说的是,在云函数中以编程方式创建和删除bucket可能不是您真正想要做的事情。。我有一个有名字的水桶。。那么问题是什么呢
functions.firestore.document('users/{user_Id}/info/visa_cop/{visaId}').onUpdate((change,context)
gcloud functions deploy [FUNCTION_NAME] \
--runtime [RUNTIME] \
--trigger-event providers/cloud.firestore/eventTypes/document.update \
--trigger-resource "projects/[PROJECT_ID]/databases/(default)/documents/users/{userId}/info/visa_cop/{visaId}"