Ich habe einen Eimer in S3 und ich versuche, die URL des Bildes, das dort ist zu ziehen.Wie URL von Boto3 in Amazon Web Services generieren
Ich benutze Boto3 und Boto3 scheint keine implementierte URL-Methode zu haben.
Sie haben einen Kern Methode, die URL wie diese erzeugt,
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})
Eines, was ich zu tun gezwungen bin, ich habe die Parameter senden zusammen mit jedem Request-Session-Objekt verwenden. Und das obige Verfahren erlaubt mir nicht, die Session-Variablen zu setzen (dh .. aws Credentials)
Der nächstgelegene ich bekommen kann, ist dies
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"]
Das bin ich S3 Objekt amazon bekommt, die ein Objekt namens
botocore.response.StreamingBody object at 0x7ffaff8cef50
Kann ich eine URL des Bildes auf diese Weise erhalten.
helfen freundlicher Prabhakar S
Check out [dieses Problem Thema] (https://github.com/boto/boto3/issues/110) auf der boto3 github für Session, Import boto3.session und erstellen. – Monkpit
Monkpit, das hatte ich schon ausprobiert, das einzige was mit dieser Methode ist, kann ich Session-Variablen in den Parametern nicht setzen. Dies generiert URL, aber es sucht nicht nach Sitzungsvariablen, die ich im Code gebe. –
Sie können diese Parameter festlegen, wenn Sie den [boto3-Client] erstellen (http://boto3.readthedocs.org/en/latest/reference/core/session.html#boto3.session.Session.client) –