【发布时间】:2019-07-11 05:10:02
【问题描述】:
我有以下代码示例,它接收 bufferedImage 及其 mimeType,然后将其上传到 Google Cloud Storage。
一切正常,但由于某种原因,我的 Google Cloud Function 从 Storage API 收到 403 错误。
我必须做什么才能让我的 GC 函数访问 GC 存储?
我在文档中找不到任何可以告诉我如何执行此操作的内容。
const { Storage } = require('@google-cloud/storage');
// Creates a client
const storage = new Storage();
// Lists all buckets in the current project
const buckets = storage.getBuckets();
exports.uploadImage = (bucketName, fileName, imageBuffer, mimeType) => {
return new Promise((resolve, reject) => {
let bucket = storage.bucket(bucketName);
let file = bucket.file(fileName);
file.save(imageBuffer,
{
metadata: { contentType: `image/${mimeType}` },
},
((error) => {
error ? reject(error) : resolve()
})
);
})
}
这是我遇到的错误
{"code":403,"errors":[{"domain":"global","reason":"forbidden","message":"directed-galaxy-221521@appspot.gserviceaccount.com 没有有 storage.objects.create 访问 blog/e33f9c9d-65f0-4a7f-8332-29846f770e6d."}],"message":"directed-galaxy-221521@appspot.gserviceaccount.com 没有 storage.objects.create 访问博客/e33f9c9d-65f0-4a7f-8332-29846f770e6d。"}
【问题讨论】:
标签: node.js google-cloud-storage google-cloud-functions