私はPythonとBoto3を使ってS3バケット内のすべてのディレクトリをリストしようとしています。PythonとBoto3を使用してS3バケットのディレクトリの内容を表示するにはどうすればよいですか?
私は、次のコードを使用しています:
s3 = session.resource('s3') # I already have a boto3 Session object
bucket_names = [
'this/bucket/',
'that/bucket/'
]
for name in bucket_names:
bucket = s3.Bucket(name)
for obj in bucket.objects.all(): # this raises an exception
# handle obj
私はこれを実行すると、私は次の例外スタックトレースを取得:
File "botolist.py", line 67, in <module>
for obj in bucket.objects.all():
File "/Library/Python/2.7/site-packages/boto3/resources/collection.py", line 82, in __iter__
for page in self.pages():
File "/Library/Python/2.7/site-packages/boto3/resources/collection.py", line 165, in pages
for page in pages:
File "/Library/Python/2.7/site-packages/botocore/paginate.py", line 83, in __iter__
response = self._make_request(current_kwargs)
File "/Library/Python/2.7/site-packages/botocore/paginate.py", line 155, in _make_request
return self._method(**current_kwargs)
File "/Library/Python/2.7/site-packages/botocore/client.py", line 270, in _api_call
return self._make_api_call(operation_name, kwargs)
File "/Library/Python/2.7/site-packages/botocore/client.py", line 335, in _make_api_call
raise ClientError(parsed_response, operation_name)
botocore.exceptions.ClientError: An error occurred (NoSuchKey) when calling the ListObjects operation: The specified key does not exist.
バケット内のディレクトリを一覧表示するための正しい方法は何ですか?バケツ:
事前に多くの感謝を...
私はそれを試みましたが、同じClientErrorを取得します。 ListObjects操作を呼び出すときにエラー(NoSuchKey)が発生しました:指定されたキーが存在しません。 –
このメソッドは、最大1000件の結果しか返しません。 – Trein