Firehoseのバケットを読むときに、フォルダ構成がデフォルトでyyyy/mm/dd/hhとなっているのですが、単純にバケット名でlist_objectすると、別の残骸が残っている場合にそれも読んでしまうし、yyyy/、 yyyy/mm/ddといった途中のフォルダも入ってしまうので、regexでそれを回避してみました。
import re
import boto3
client = boto3.client("s3")
bucket = "bucket-kinesisfirehose"
response = client.list_objects_v2(Bucket=bucket)
for item in response["Contents"]:
key = item["Key"]
isInFirehoseDir = re.search("\d{4}\/\d{2}/\d{2}/\d{2}/", key)
if not isInFirehoseDir:
continue
# do something
0 件のコメント:
コメントを投稿