[英]How to get only the sub folder names from a S3 bucket
我有一個 S3 存儲桶,其中包含許多子文件夾。 比方說,
'test-bucket'
-->'photos'
-->2020
-->2019
-->2018
...
在“測試桶”中有一個名為“照片”的子文件夾,在照片文件夾中可能有多個子文件夾。
所以我需要遍歷照片桶並只獲取超過 2 年的照片(即從 2018 年開始)。 這是我下面使用 python 庫 boto3 的代碼。
current_year = datetime.datetime.now().year
client.list_objects_v2(Bucket='test-bucket',Prefix = 'photos/'+str(current_year-3),MaxKeys=1000 )
但這僅返回 2018 年的數據。 提出一個想法來循環超過 2 年的整年。 提前致謝
您可以在傳遞Delimiter
值時使用ListObjects()
獲取文件夾名稱。 然后它將文件夾列表作為CommonPrefixes
返回。
這是一些示例代碼:
import boto3
s3_client = boto3.client('s3')
objects = s3_client.list_objects_v2(Bucket='my-bucket', Delimiter='/', Prefix ='photos/')
for prefix in objects['CommonPrefixes']:
print(prefix['Prefix'])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.