代码之家  ›  专栏  ›  技术社区  ›  Trip

如何在S3上重命名bucket中的文件夹?

  •  8
  • Trip  · 技术社区  · 15 年前

    4 回复  |  直到 15 年前
        1
  •  12
  •   Bradley Priest    13 年前

    如果您使用的是aws-s3 gem,以下代码将bucket\u NAME中的文件夹OLD\u folder\u NAME重命名为NEW\u folder\u NAME:

    bsize = OLD_FOLDER_NAME.size
    bucket = AWS::S3::Bucket.find(BUCKET_NAME)
    bucket.objects({:prefix=>OLD_FOLDER_NAME}).each do |o|
      AWS::S3::S3Object.rename(o.key, NEW_FOLDER_NAME + o.key[bsize..-1], BUCKET_NAME)
    end
    

    就这样。文件夹不是真实的对象,所以您所要做的就是将所有最终位于该特定路径中的对象重命名为新路径。结果将重命名虚拟文件夹。

        2
  •  11
  •   Dan Tenenbaum    11 年前

    AWS Command Line Interface 是做这种事的新方法。使用它,可以重命名如下文件夹:

    aws s3 mv --recursive s3://bucketname/oldfoldername s3://bucketname/newfoldername
    

    一定要从 --dryrun

        3
  •  2
  •   Brendan    9 年前

    如果使用S3管理控制台,则可以剪切和粘贴。进入所需文件夹,单击Ctrl+A,然后单击“操作”>切。创建新文件夹,然后单击“操作”>粘贴。

        4
  •  0
  •   Trip    15 年前