gpt4 book ai didi

node.js - 使用 NodeJS 将文件上传到本地 Google Cloud 存储

转载 作者:太空宇宙 更新时间:2023-11-04 00:31:26 24 4
gpt4 key购买 nike

我正在尝试使用我的服务帐户在我的计算机上本地使用简单代码将图像上传到 Google Cloud Storage:

const storage = require('@google-cloud/storage');
const fs = require('fs');
const gcs = storage({
projectId: 'ID',
keyFilename: 'KEYNAME'
});
var bucket = gcs.bucket('BUCKET NAME');

bucket.upload('hiking-image.jpg', function(err, file) {
if (err) throw new Error(err);
});

if (err) throw new Error(err);
^

但是,我收到以下错误消息。 Google Cloud API 仅在部署在 App Engine 上时才应该工作,还是我在这里做错了什么?我能够使用相同的服务帐户让 Google Vision API 在本地工作。

Error: ApiError: Forbidden
at /Users/user/google-cloud/upload/upload.js:10:20
at Pumpify.<anonymous> (/Users/user/node_modules/@google-cloud/storage/src/bucket.js:1218:9)
at emitOne (events.js:101:20)
at Pumpify.emit (events.js:188:7)
at Pumpify.Duplexify._destroy (/Users/user/node_modules/duplexify/index.js:184:15)
at /Users/user/node_modules/duplexify/index.js:175:10
at _combinedTickCallback (internal/process/next_tick.js:67:7)
at process._tickCallback (internal/process/next_tick.js:98:9)

最佳答案

您需要为您的服务帐户授予适当的角色。转到 Google Cloud 控制台,菜单“IAM 和管理”

  1. 创建服务帐户
  2. 前往 IAM 面板
  3. 编辑您刚刚创建的服务帐户的角色。选择云存储并使其成为完全管理员,但最好是根据您的需要将其设为存储对象的创建者或读取者。

google cloud console screenshot

关于node.js - 使用 NodeJS 将文件上传到本地 Google Cloud 存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40808590/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com