#python #amazon-web-services #url #amazon-s3 #boto3
#python #amazon-web-services #url #amazon-s3 #boto3
Вопрос:
Я публикую это здесь, потому что мне было очень сложно найти функцию для получения всех объектов из нашей корзины s3 с помощью python. Когда я попытался найти функцию get_object_data, мне было предложено загрузить функцию object . Итак, как мы можем получить данные всех объектов в нашей корзине AWS s3 с помощью boto3 (aws sdk для python)?
Комментарии:
1. Сколько у вас объектов? Если их много, было бы эффективнее использовать инвентарь S3.
2. Привет, Марчин, спасибо за чтение 🙂 . Здесь я не беспокоюсь об объектах number. Мне нужен был метод для получения URL объектов в моей корзине s3 с помощью SDK. Конечно, инвентаризация S3 полезна для управления большим количеством объектов.
3. Нет проблем. Рад, что он работает 🙂
Ответ №1:
- импортируйте boto3 в свою оболочку python
- установите соединение со своей учетной записью AWS и укажите ресурс (s3-bucket здесь ), к которому вы хотите получить доступ? (убедитесь, что учетные данные IAM, которые вы предоставляете, имеют доступ к этому ресурсу)
- получите необходимые данные
Код выглядит примерно так
import boto3
s3_resource = boto3.resource(service_name='s3',
region_name='<your bucket region>'
aws_access_key_id='<your access key id>'
aws_secret_access_key='<your secret access key>')
a = s3_resource.Bucket('<your bucket name>')
for obj in a.objects.all():
#object URL
print("https://<your bucket name>.s3.<your bucket region>.amazonaws.com/" obj.key)
#if you want to print all the data of object, just print obj