Pyhton 3.8 का उपयोग करके AWS S3 ऑब्जेक्ट लोकेशन / URL कैसे प्राप्त करें?

Nov 23 2020

मैं निम्नलिखित कोड के साथ AWS S3 का उपयोग करके AWS S3 में एक फ़ाइल अपलोड कर रहा हूं।

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

मैं S3 ऑब्जेक्ट का स्थान / url प्राप्त करना चाहता हूं return। में Node.jsउपयोग हम .locationवस्तु स्थान / url प्राप्त करने के लिए पैरामीटर।

अजगर 3.8 का उपयोग कर यह कैसे करना है किसी भी विचार?

जवाब

2 Marcin Nov 24 2020 at 05:40

S3 ऑब्जेक्ट्स का url ज्ञात प्रारूप है और वर्चुअल होस्ट शैली एक्सेस का अनुसरण करता है :

https://bucket-name.s3.Region.amazonaws.com/keyname

इस प्रकार, आप स्वयं url का निर्माण कर सकते हैं:

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