AWS::S3 フォルダーの名前を変更する
概要
AWS::S3::S3Object.rename があるようですが、フォルダーでは実行できません。
AWS::S3::Base.establish_connection!(
:access_key_id => APP_CONFIG[:s3_access_key_id],
:secret_access_key => APP_CONFIG[:s3_secret_access_key]
)
AWS::S3::S3Object.rename(
"assets/old_name_folder",
"assets/new_name_folder",
APP_CONFIG[:s3_bucket]
)
old_name_folder にはファイルとフォルダーが含まれており、名前変更ではこれを尊重したいと考えています。
取得しています: AWS::S3::NoSuchKey (指定されたキーは存在しません。)
何か間違ったことをしているのか、それともs3フォルダーの名前を変更できないだけなのかわかりません。
解決策
それだ。フォルダーはありません。AWS::S3 のドキュメントではこれについて非常に詳しく説明されています。 オブジェクトの 1 つに /files/public/system/whatever/derp.jpg という名前が付けられている可能性がありますが、そこにはフォルダーはなく、パスのような名前のオブジェクトと、オブジェクトの値 (実際のファイル) があるだけです。s3 にファイルを保存する場合、フォルダーなどは存在しません。その場所に居住している)。バケット (おそらく APP_CONFIG[:s3_bucket]) があり、オブジェクトもあります。
したがって、あなたの質問に答えるために、s3にはそのようなものがないため、フォルダーの名前を変更することはできません。個々のオブジェクトの名前を変更する必要があります。