背景
昔作ったR2 Object Storageを消そうと思ったら、ファイルがあるとディレクトリから消せません。
それでは困るので、コマンドを使って消せるようにします。
このとき、AWS CLIがあれば簡単に消せます。速度的にはs3cmdとかの方が速い気がしますが、とりあえず今回はAWS CLIを使います。
必要なもの
home/
└── [USER]/
└── .aws/
├── credentials
└── configホームディレクトリ以下にcredentialsとconfigが必要になります。
[r2]
aws_access_key_id =
aws_secret_access_key = credentialsはこんな感じでプロファイル名r2に対してキーを設定します。
[profile r2]
output = json
endpoint_url = https://2488ea57494b2dacae95a6e363e7dcb2.r2.cloudflarestorage.com
region = autoconfigではエンドポイントとしてCloudflare R2を利用することを指定します。
実行
aws s3 rm s3://[BUCKET_NAME] --recursive --profile r2再帰的に指定したバケットの中身を削除するコマンドです。1000件以上データはありましたが、すぐに消せました。
その他
[Sync] R2 -> Local
バケットとローカルのディレクトリを同期したい場合にはこのコマンドを使います。
## AWS CLI
aws s3 sync s3://[BUCKET_NAME] ./[DIR_NAME] --profile r2
## s3cdm
s3cmd sync s3://[BUCKET_NAME] ./[DIR_NAME]
20000件以上データがあったのですが、結構時間がかかりました。