#python #amazon-s3 #boto3
#python #amazon-s3 #boto3
Вопрос:
Я пытаюсь найти дату последнего изменения для всех папок в S3. Ниже приведено то, что я придумал до сих пор, в котором перечислены все вложенные папки в пути. Это просто отображает все имена вложенных папок, но я пытаюсь также получить дату последнего изменения для каждой из этих папок.
from boto.s3.connection import S3Connection
import pandas as pd
# Create connection
conn = S3Connection(key_id, secret_key)
# Connet to a specific bucket
bucket = conn.get_bucket('bucket-name')
# Get subdirectory info
for key in bucket.list(prefix='folder/', delimiter='/',):
print(key.name)
Обновить
Просмотр того, как данные хранятся в S3
bucket-name
folder
sub-folder
date
file1.csv
file2.csv
file3.csv
Ответ №1:
Ваш вопрос помечен boto3
, поэтому я дам ответ в boto3
, а не boto
.
import boto3
# Create connection
session = boto3.Session(
aws_access_key_id='xxxxxxx',
aws_secret_access_key='yyyyyyyyyyyyyy')
s3r = session.resource('s3')
# Connect to a specific bucket
bucket = s3r.Bucket('bucket-name')
# Get subdirectory info
for obj in bucket.objects.filter(Prefix='folder/', Delimiter='/'):
print(obj.key, obj.last_modified)
Комментарии:
1. спасибо за ответ. Однако при попытке выполнить последнюю строку не выводится и не выдается ошибка.. Было установлено только внесенное мной изменение
Prefix='folder/sub-folder/'
2. @KevinNash Не уверен, что ты имеешь в виду. Это работает отлично. Возможно, вы могли бы обновить свой вопрос, указав именно ту структуру папок, которая у вас есть, и новую версию вашего кода.
3. Я отредактировал свой первоначальный пост со структурой, в которой находятся данные. Я пытаюсь проверить, когда было
date
последнее изменение. Надеюсь, это внесет некоторую ясность в то, что я пытаюсь получить. Спасибо4. @KevinNash Попробуйте без
Delimiter='/'
.5. Я попробовал это, и он возвращает все файлы во вложенных папках