使用nodejs gcloud API在Google Cloud Storage中移动/重命名文件夹



我正在尝试使用gcloud API重命名或移动Google Cloud Storage中的文件夹。

一个类似的问题说明了如何删除文件夹:使用nodejs gcloud api

在Google Cloud Storage中删除文件夹

但是如何重命名文件夹?或移至另一个路径?

您可以尝试这样的事情:

'use strict'
var async = require('async')
var storage = require('@google-cloud/storage')()
var bucket = storage.bucket('stephen-has-a-new-bucket')
bucket.renameFolder = function(source, dest, callback) {
  bucket.getFiles({ prefix: source }, function(err, files) {
    if (err) return callback(err)
    async.eachLimit(files, 5, function(file, next) {
      file.move(file.name.replace(source, dest), next)
    }, callback)
  })
}
bucket.renameFolder('photos/cats', 'photos/dogs', console.log)

没有文件夹。只有一个恰好具有相同密钥前缀的对象集合,例如photos/animals/cat.pngphotos/animals/dog.png都有一个通用的前缀photos/animals/,这就是使它们看起来在同一文件夹中的原因。

您需要将每个对象复制到其新密钥,例如将photos/animals/cat.png移至photos/pets/cat.png并将photos/animals/dog.png移动到photos/pets/dog.png

也就是说,Google Cloud提供了一种使用GSUTIL MV的命令行进行此操作的方法。

相关内容

  • 没有找到相关文章

最新更新