お世話になっております。
AWSのS3のサブフォルダ名についてboto3で取得したいと考えています。
取得方法についてご教授いただけないでしょうか。
<ディレクトリ構成>
s3://<mybucket>/<複数のフォルダ>/AAA/AAA_database/AAA_table/a.txt
s3://<mybucket>/<複数のフォルダ>/AAA/AAA_database/AAA_table/b.txt
s3://<mybucket>/<複数のフォルダ>/BBB/BBB_database/BBB_table/a.txt
s3://<mybucket>/<複数のフォルダ>/BBB/BBB_database/BBB_table/b.txt
s3://<mybucket>/<複数のフォルダ>/CCC/CCC_database/CCC_table/a.txt
s3://<mybucket>/<複数のフォルダ>/CCC/CCC_database/CCC_table/b.txt
s3://<mybucket>/<複数のフォルダ>/DDD/DDD_database/DDD_table/a.txt
s3://<mybucket>/<複数のフォルダ>/DDD/DDD_database/DDD_table/b.txt
<ソースコード>
AWS_S3_BUCKET_NAME = 'mybucket' s3 = boto3.resource('s3') s3client = s3.meta.client bucket = s3.Bucket(AWS_S3_BUCKET_NAME) for obj_summary in bucket.objects.all(): print(obj_summary.key)
<結果>
AAA/AAA_database/AAA_table/a.txt
AAA/AAA_database/AAA_table/b.txt
BBB/BBB_database/BBB_table/a.txt
BBB/BBB_database/BBB_table/b.txt
CCC/CCC_database/CCC_table/a.txt
CCC/CCC_database/CCC_table/b.txt
DDD/DDD_database/DDD_table/a.txt
DDD/DDD_database/DDD_table/b.txt
→上記のように、サブディレクトリのファイル名つきで、すべての構成が表示されてしまいます。
<やりたい事>
サブフォルダ名を取得したい。
※取得したいのは以下のフォルダ名のみ欲しいです。
最下層から二番目のフォルダ名
AAA_database
BBB_database
CCC_database
DDD_database
最下層から三番目のフォルダ名
AAA_table
BBB_table
CCC_table
DDD_table
どのようにすればサブフォルダ名のみ取得できるでしょうか?
以下の質問を参考にしましたが、自力で解決できませんでした。
AWS boto3でs3のフォルダ構成のみ取得したい
回答2件
あなたの回答
tips
プレビュー