साथ प्राधिकरण तंत्र इनलाइन कॉन्फ़िगर करने के लिए मैं एडब्ल्यूएस लैम्ब्डा में boto3 उपयोग कर रहा हूँ एस 3 में वस्तु फ्रैंकफर्ट क्षेत्र में स्थित fecth करने के लिए।कैसे boto3
v4 आवश्यक है। अन्यथा निम्न त्रुटि signature_version कॉन्फ़िगर करने के लिए http://boto3.readthedocs.org/en/latest/guide/configuration.html
"errorMessage": "An error occurred (InvalidRequest) when calling
the GetObject operation: The authorization mechanism you have
provided is not supported. Please use AWS4-HMAC-SHA256."
एहसास तरीके वापस आ जाएगी लेकिन चूंकि मैं एडब्ल्यूएस लैम्ब्डा उपयोग कर रहा हूँ, मैं अंतर्निहित विन्यास के लिए उपयोग प्रोफाइल
मेरी एडब्ल्यूएस लैम्ब्डा समारोह के कोड की जरूरत नहीं है
from __future__ import print_function
import boto3
def lambda_handler (event, context):
input_file_bucket = event["Records"][0]["s3"]["bucket"]["name"]
input_file_key = event["Records"][0]["s3"]["object"]["key"]
input_file_name = input_file_bucket+"/"+input_file_key
s3=boto3.resource("s3")
obj = s3.Object(bucket_name=input_file_bucket, key=input_file_key)
response = obj.get()
return event #echo first key valuesdf
कि इस कोड के भीतर signature_version कॉन्फ़िगर करने के लिए संभव है? उदाहरण के लिए सत्र का उपयोग करें। या इस पर कोई कामकाज है? डिफ़ॉल्ट सत्र का उपयोग करने का
वहाँ एक फ़ाइल से कॉन्फ़िगर करने के लिए कोई तरीका है? मैं पूछ रहा हूं क्योंकि मैं कोड का एक टुकड़ा उपयोग कर रहा हूं जहां 'boto3' निर्भरता है, इसलिए मुझे 'क्लाइंट()' कॉल बदलने के लिए प्रत्यक्ष पहुंच नहीं है। – bstempi
आप boto3.session.Session (profile_name = 'profile1') सेट कर सकते हैं, जहां प्रोफाइल 1 एडब्ल्यूएस कुंजी, टोकन, वांछित क्षेत्र और अन्य आवश्यक पैराम के साथ .aws/credentials फ़ाइल में परिभाषित प्रोफ़ाइल का नाम है – omuthu
यदि मैं नहीं हूं एडब्ल्यूएस कुंजी का उपयोग करके और मैं इसके बजाय ईसी 2 इंस्टेंस की मेटाडेटा सेवा पर निर्भर हूं? – bstempi