как генерировать URL-адрес от boto3 в веб-сервисах amazon

У меня есть Bucket в s3, и я пытаюсь вытащить URL-адрес изображения, которое находится там.

Я использую boto3 и boto3, похоже, не имеет внедренного метода url-генерации.

У них есть основной метод, который генерирует url, как это,

import botocore.session session = botocore.session.get_session() client = session.create_client('s3') presigned_url = client.generate_presigned_url( 'get_object', Params={'Bucket': self.bucket_name, 'Key': self.key}) 

Одна вещь, которую я вынужден сделать, – это отправить параметры вместе с каждым запросом с использованием объекта сеанса. И приведенный выше метод не позволяет мне устанавливать переменные сеанса (то есть .. aws-учетные данные)

Самое близкое, что я могу получить, это

 session = Session(aws_access_key_id='342342342342', aws_secret_access_key='3434234322', region_name='us-east-1') s3 = session.resource('s3') object = s3.Object('my-dev-bucket', 'amazonKeyString') print object.get()["Body"] 

Это дает мне объект amazon s3, который является объектом, называемым

 botocore.response.StreamingBody object at 0x7ffaff8cef50 

Могу ли я получить URL-адрес изображения таким образом.

Прошу помощи Prabhakar S

  • Python Pandas Dataframe выбрать строку по максимальному значению в группе
  • Как запустить оболочку в отдельном процессе и получить автоматическое завершение? (Python)
  • Факториальный расчет с использованием Python
  • Интроспекция Python: как получить varnames методов класса?
  • Разница между двоичным и текстовым ввода-выводами в python в Windows
  • Определить точки в DBSCAN в sklearn в python
  • найти максимум за столбец значений, которые приходят до минимума
  • Передача строки в библиотеку Fortran с использованием ctypes и Python
  • One Solution collect form web for “как генерировать URL-адрес от boto3 в веб-сервисах amazon”

    Возможность получить результаты и не сталкивалась с проблемами при получении подписанного URL-адреса. Я использовал сеанс по умолчанию, так как мои aws-кредиты хранились локально в файле «~ / .aws / credentials», а моя область по умолчанию была установлена ​​по необходимости ~ / .aws / config

     import boto3 s3Client = boto3.client('s3') s3Client.generate_presigned_url('get_object', Params = {'Bucket': 'www.mybucket.com', 'Key': 'hello.txt'}, ExpiresIn = 100) 

    Если вам нужно передать параметры для сеанса, импортируйте boto3.session и создайте пользовательский сеанс

     import boto3.session session = boto3.session.Session(region_name='eu-central-1') s3Client = session.client('s3') 
    Python - лучший язык программирования в мире.