aws-lambda
एस 3 द्वारा ट्रिगर aws-lambda
खोज…
वाक्य - विन्यास
- वांछनीय JSON आधारित वस्तु
- "रिकॉर्ड्स" कुंजी में एक या अधिक वास्तविक घटनाएं हैं
- प्रत्येक उप-ईवेंट ऑब्जेक्ट में वह सभी जानकारी होती है जिसे आपको यह निर्धारित करने की आवश्यकता होती है कि क्या बदल गया है
पैरामीटर
पैरामीटर | विवरण |
---|---|
Records -> [] -> s3 -> bucket -> name | S3 बाल्टी का नाम |
Records -> [] -> s3 -> object -> key | फ़ाइल का पथ और नाम। |
टिप्पणियों
फ़ाइल नाम
अधिकांश फ़ाइल पथों के विपरीत, S3 कुंजी नाम (JSON स्कीमा: $.Records[0].s3.object.key
) में एक प्रमुख स्लैश शामिल नहीं है। इसलिए, यदि आपके पास पथ s3://mybucket/path/file.txt
में फ़ाइल है s3://mybucket/path/file.txt
, तो कुंजी path/file.txt
कम से कम पायथन में, मुख्य फ़ील्ड मान UTF-8 URL एन्कोडेड है। यह ध्यान देने योग्य है जब फ़ाइल नाम में रिक्त स्थान या गैर-एससीआई अक्षर होते हैं। फ़ील्ड को डीकोड किया जाना आवश्यक है, फिर UTF-8 डीकोड किया गया - लैंबडा में S3 अधिसूचना इवेंट से गैर-एएससीआईआई फ़ाइल नाम प्राप्त करें
रिकॉर्ड की
घटना के "Records"
कुंजी के अंदर एक ही (या अलग) क्रियाओं के कई होना संभव है; हालांकि, व्यवहार में, आप आमतौर पर अपने लैम्ब्डा फ़ंक्शन के आह्वान के अनुसार एक घटना देखेंगे।
अधिक उदाहरण और परीक्षण
यदि आप क्रियाएँ चुनते हैं, तो वास्तव में लैंबडा कंसोल में नमूना घटनाएँ हैं -> टेस्ट इवेंट कॉन्फ़िगर करें। हालाँकि, आप ऊपर दिए गए उदाहरणों में PUT ऑपरेशन देख सकते हैं।
आप AWS लैंबडा कंसोल से टेस्ट ईवेंट्स को संशोधित और सबमिट कर सकते हैं यह देखने के लिए कि आपका फ़ंक्शन कैसे प्रतिक्रिया करता है।
S3 PUT ऑपरेशन
{
"Records": [
{
"eventVersion": "2.0",
"eventTime": "1970-01-01T00:00:00.000Z",
"requestParameters": {
"sourceIPAddress": "127.0.0.1"
},
"s3": {
"configurationId": "testConfigRule",
"object": {
"eTag": "0123456789abcdef0123456789abcdef",
"sequencer": "0A1B2C3D4E5F678901",
"key": "HappyFace.jpg",
"size": 1024
},
"bucket": {
"arn": "arn:aws:s3:::mybucket",
"name": "sourcebucket",
"ownerIdentity": {
"principalId": "EXAMPLE"
}
},
"s3SchemaVersion": "1.0"
},
"responseElements": {
"x-amz-id-2": "EXAMPLE123/5678abcdefghijklambdaisawesome/mnopqrstuvwxyzABCDEFGH",
"x-amz-request-id": "EXAMPLE123456789"
},
"awsRegion": "us-east-1",
"eventName": "ObjectCreated:Put",
"userIdentity": {
"principalId": "EXAMPLE"
},
"eventSource": "aws:s3"
}
]
}