簡體   English   中英

使用nodejs gcloud api在Google雲端存儲中移動/重命名文件夾

[英]Move/rename folder in Google Cloud Storage using nodejs gcloud api

我正在嘗試使用gcloud api重命名或移動谷歌雲存儲中的文件夾。

類似的問題解釋了如何刪除文件夾: 使用nodejs gcloud api刪除Google雲端存儲中的文件夾

但是如何重命名文件夾呢? 或者轉移到另一條路?

沒有文件夾。 只有一組對象都碰巧具有相同的鍵前綴,例如photos/animals/cat.pngphotos/animals/dog.png都有一個共同的前綴photos/animals/這就是它們看起來photos/animals/dog.png什么在同一個文件夾中。

您需要將每個對象復制(或移動)到其新鍵,例如將photos/animals/cat.png移動到photos/pets/cat.png並將photos/animals/dog.png移動到photos/pets/dog.png

也就是說,Google Cloud提供了一種使用gsutil mv從命令行執行此操作的方法。

你可以嘗試這樣的事情:

'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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM