11

単純に聞こえますが、非常に複雑な作業のようです。

4

4 に答える 4

12

aws-s3 gemを使用している場合、次のコードはバケットBUCKET_NAMEのフォルダーOLD_FOLDER_NAMEの名前をNEW_FOLDER_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

それでおしまい。フォルダは実際のオブジェクトではないため、その特定のパスに含まれるすべてのオブジェクトの名前を新しいパスに変更するだけです。その結果、仮想フォルダの名前が変更されます。

于 2011-04-14T18:37:02.777 に答える
12

AWSコマンドラインインターフェイス は、このようなことを行うための新しい方法のようです。これを使用して、次のようにフォルダの名前を変更できます。

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

必ず、オプションから始めて、--dryrunそれがあなたがやろうとしていると思うことを確実に実行するようにしてください。

于 2013-11-26T00:30:02.237 に答える
2

S3管理コンソールを使用する場合は、切り取って貼り付けることができます。目的のフォルダに移動し、Ctrl + Aをクリックしてから、[アクション]>[切り取り]をクリックします。新しいフォルダを作成し、[アクション]>[貼り付け]をクリックします。

于 2016-06-01T12:21:42.943 に答える
0

BucketExplorerを使用してください!これは素晴らしいアプリです!非常にわかりやすいGUIで、s3に対してこれまでやりたかったことのほとんどすべてを実行できます。

于 2010-08-10T19:59:47.303 に答える