33

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})

私がしなければならないことの 1 つは、セッション オブジェクトを使用して、各要求と共にパラメーターを送信する必要があることです。上記の方法では、セッション変数 (つまり、.. 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 を取得できますか?

4

1 に答える 1