背景
昔作った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 = jsonendpoint_url = https://2488ea57494b2dacae95a6e363e7dcb2.r2.cloudflarestorage.comregion = auto
config
ではエンドポイントとしてCloudflare R2を利用することを指定します。
実行
aws s3 rm s3://[BUCKET_NAME] --recursive --profile r2
再帰的に指定したバケットの中身を削除するコマンドです。1000件以上データはありましたが、すぐに消せました。
その他
[Sync] R2 -> Local
バケットとローカルのディレクトリを同期したい場合にはこのコマンドを使います。
## AWS CLIaws s3 sync s3://[BUCKET_NAME] ./[DIR_NAME] --profile r2
## s3cdms3cmd sync s3://[BUCKET_NAME] ./[DIR_NAME]
20000件以上データがあったのですが、結構時間がかかりました。