Wie erhalte ich den Standort / die URL des AWS S3-Objekts mit Pyhton 3.8?
Nov 23 2020
Ich lade eine Datei mit der AWS Lambda-Funktion (Python3.8) mit dem folgenden Code auf AWS S3 hoch.
file_obj = open(filename, 'rb')
s3_upload = s3.put_object( Bucket="aaa", Key="aaa.png", Body=file_obj)
return {
'statusCode': 200,
'body': json.dumps("Executed Successfully")
}
Ich möchte den Speicherort / die URL des S3-Objekts erhalten return
. In verwenden Node.js
wir den .location
Parameter zum Abrufen der Objektposition / URL.
Irgendeine Idee, wie man das mit Python 3.8 macht?
Antworten
2 Marcin Nov 24 2020 at 05:40
Die URL von S3-Objekten hat ein bekanntes Format und folgt dem Zugriff auf den virtuell gehosteten Stil :
https://bucket-name.s3.Region.amazonaws.com/keyname
So können Sie die URL selbst erstellen:
bucket_name = 'aaa'
aws_region = boto3.session.Session().region_name
object_key = 'aaa.png'
s3_url = f"https://{bucket_name}.s3.{aws_region}.amazonaws.com/{object_key}"
return {
'statusCode': 200,
'body': json.dumps({'s3_url': s3_url})
}