【发布时间】:2019-10-17 19:36:40
【问题描述】:
我正在尝试将服务帐户密钥包含到我的存储功能中,以便能够通过此处过时的示例获得长期签名的 url
我从 IAM 下载了 JSON 格式的密钥。我试图将它保存在我的函数旁边
-functions/storage/resizeProfileImg.js
-functions/storage/service-account-credentials.json
-functions/index.js
-functions/admin.js
resizeProfileImg.js 是我的函数并像这样调用它
const { Storage } = require('@google-cloud/storage');
const storage = new Storage({ projectId: projectId ,keyFilename: './service-account-credentials.json'})
但在部署后触发该功能时出现错误
错误:ENOENT:没有这样的文件或目录,打开 '/srv/service-account-credentials.json'
我什至尝试像这样将它添加到常量中
const serviceAccountCredentials = require('./accountKey/service-account-credentials.json')
const { Storage } = require('@google-cloud/storage');
const storage = new Storage({ projectId: projectId ,keyFilename: serviceAccountCredentials})
然后我得到一个错误
TypeError:路径必须是字符串。收到 { type: 'service_account',...
知道如何正确地做到这一点
【问题讨论】:
-
如果您认为示例已过时,请在 GitHub 上的该 repo 上记录错误请求。
-
您能否编辑问题以准确显示您所做的事情并没有按照您的预期工作?具体说明您的项目是如何组织的以及您将文件放置在何处。任何人都应该能够通过您显示的步骤重现问题。
-
还有更多过时的例子。唯一的问题是 const gcs = require('@google-cloud/storage') 应该是这样 *** const { Storage } = require('@google-cloud/storage'); const storage = new Storage({ projectId: projectId})**
-
@DougStevenson 我已经编辑了我的问题...请查看是否有足够的信息或者您是否需要更多信息
-
对不起,我还不清楚你的项目目录结构是什么样的。
标签: firebase google-cloud-functions google-cloud-storage