1. ホーム
  2. python

[解決済み] Amazon S3 boto - フォルダを削除する方法は?

2022-09-24 02:52:54

質問

s3に"test"というフォルダを作成し、"test_1.jpg"、"test_2.jpg"を"test"にプッシュしています。

boto を使用して、フォルダ "test" を削除するにはどうすればよいですか。

どのように解決するのですか?

あるのは はありません。 フォルダーはありません。その代わり、キーはフラットな名前空間を形成する。ただし、名前にスラッシュが含まれるキーは、AWSコンソールを含むいくつかのプログラムで特別に表示されます(例として Amazon S3 boto - フォルダを作成する方法は? ).

ディレクトリを削除する代わりに、ファイルをプレフィックスでリストアップして削除することができます(する必要があります)。要するに

for key in bucket.list(prefix='your/directory/'):
    key.delete()

しかし、このページの他の達成された回答は、より効率的なアプローチを特徴としています。


接頭辞はダミー文字列検索を使用して検索されていることに注意してください。もしプレフィックスが your/directory つまり、最後のスラッシュが付加されていない場合、プログラムは喜んで your/directory-that-you-wanted-to-remove-is-definitely-not-t‌​his-one .

詳しくは S3 boto list keysでディレクトリキーが返されることがあります。