【发布时间】:2020-03-10 18:54:13
【问题描述】:
我正在使用 Cloud Functions 将 GCS 中一个文件夹的全部内容移动到同一存储桶中的另一个文件夹中。我正在使用 Javascript。 尽管存储桶和源对象存在,但我一直收到对象不存在的错误。
这是云函数代码:
// Imports the Google Cloud client library
const {Storage} = require('@google-cloud/storage');
// Creates a client
const storage = new Storage();
async function moveFile() {
// Moves the file within the bucket
await storage
.bucket("my-bucket")
.file("folder/source/**")
.move("folder/target/**");
console.log(
`gs://${bucketName}/${srcFilename} moved to gs://${bucketName}/${destFilename}.`
);
}
exports.moveContent = (req, res) => {
moveFile().catch(console.error);
res.send("done")
}
这是package.json的来源
{
"name": "move-content",
"version": "0.0.1",
"dependencies": {
"googleapis": "37.1.0",
"@google-cloud/storage": "^4.5.0"
}
}
这是我得到的错误(来自 Google 日志):
move-content 3m89p16m58bb { Error: file#copy failed with an error - No such object: my-bucket/folder/source/** at new ApiError (/srv/node_modules/@google-cloud/common/build/src/util.js:58:15) at Util.parseHttpRespBody (/srv/node_modules/@google-cloud/common/build/src/util.js:193:38) at Util.handleResp
...
我错过了什么...?
谢谢
【问题讨论】:
-
你要移动多少个文件?
-
可以是几十到几百
-
如果您因为文件太多而出现超时问题,请不要犹豫再发一个问题!
标签: javascript node.js google-cloud-functions google-cloud-storage