0
0

AWS S3で制御文字を含むファイルを削除する方法

Last updated at Posted at 2024-09-15

AWS S3に制御文字を含むファイルをアップロードしてしまうことがままあります(あるんです)が、制御文字によってはTransmitやCyberduck、CloudBerry Explorerでそのファイルを含むフォルダーが表示できなくなってしまいます。

そんな時はaws cli。
Access Key IdとSecret Access Key、bucket名でアクセスして、オブジェクトのリストを取得します。

% aws s3api list-objects --bucket [BUCKET NAME] --prefix root/images
...},
{
    "Key": "images/icon\u0003.png",
    "LastModified": "2024-12-24T00:00:00+00:00",
    "Size": 30000,
    "StorageClass": "STANDARD",
},
{....

images/erroedfile\u0003.pngを削除したいのですが、

aws s3api delete-object --bucket [BUKET NAME] --key 'images/icon\u0003.jpg'

では消せません。aws cliのエスケープシーケンスに従って、以下のようにして消しましょう。

aws s3api delete-object --bucket [BUKET NAME] --key 'images/icon'$'\u0003''.jpg'
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0