2016-05-01 28 views
2

AWS CLIのlsコマンドを複製して、AWS S3バケット内のファイルを再帰的に一覧表示しようとしています。たとえば、次のコマンドを使用して、「location2」バケット内のすべてのファイルを再帰的にリストします。AWS SDK for Pythonを使用してAWS S3バケット内のファイルを再帰的にリストする方法は?

aws s3 ls s3://location2 --recursive 

aws s3 ls s3://location2 --recursiveの同等AWS SDK for Python(すなわちboto3)とは何ですか?

答えて

2

list_objectsメソッドを使用してバケット内のすべてのオブジェクトを一覧表示するときに、AWS SDKを使用しているときに--recursiveオプションを使用する必要はありません。

import boto3 
client = boto3.client('s3') 
client.list_objects(Bucket='MyBucket') 
0

高度なAPIとリソースを使用することは、方法です。

import boto3 

s3 = boto3.resource('s3') 
bucket = s3.Bucket('location2') 
bucket_files = [x.key for x in bucket.objects.all()] 
0

またminio-pyクライアントライブラリ、AWS S3との互換性、オープンソース&を使用することができます。

list_objects.py以下の例では、詳細についてはdocsを参照してください。

 
from minio import Minio 

client = Minio('s3.amazonaws.com', 
       access_key='YOUR-ACCESSKEYID', 
       secret_key='YOUR-SECRETACCESSKEY') 

# List all object paths in bucket that begin with my-prefixname. 
objects = client.list_objects('my-bucketname', prefix='my-prefixname', 
           recursive=True) 
for obj in objects: 
    print(obj.bucket_name, obj.object_name.encode('utf-8'), obj.last_modified, 
      obj.etag, obj.size, obj.content_type) 

希望します。

免責事項:私はMinioのため

のために働いています
関連する問題