Как получить дамп всех URL-адресов изображений из корзины S3 AWS? - PullRequest
0 голосов
/ 24 июня 2018

Я пытаюсь получить дамп всех URL-адресов изображений из одного сегмента S3 на AWS. Как бы я это сделал? Я пробовал код ниже, но я получаю сообщение об ошибке 's3.ServiceResource' object has no attribute 'generate_presigned_url', и другая проблема заключается в том, что этот код выбирает URL только для одного изображения, если я передаю имя изображения. Я не хочу этого делать, потому что я хочу, чтобы изображения динамически изменялись для моего приложения.

import boto3

s3 = boto3.resource('s3')

url = s3.generate_presigned_url('get_object',
                                Params={
                                    'Bucket': 'mybucket',
                                    'Key': 'upload/nocturnes.png',
                                },                                  
                                ExpiresIn=3600)
print url

EDIT:

Этот код дает мне список ключей в моем ведре, но не URL-адрес ключей.

import boto3
s3 = boto3.resource('s3')

my_bucket = s3.Bucket('bucket name')

for file in my_bucket.objects.all():
    a= file.key

1 Ответ

0 голосов
/ 25 июня 2018

Это сработало для меня.

import boto3

s3_client = boto3.client('s3')
s3_resource = boto3.resource('s3')

bucket_name = 'bucket_name'
my_bucket = s3_resource.Bucket(bucket_name)


for file in my_bucket.objects.all():
    params = {'Bucket': bucket_name, 'Key': file.key}
    url = s3_client.generate_presigned_url('get_object', params)
    print url
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...