Lambda और DynamoDB एकीकरण
DynamoDB के साथ बातचीत करके CRUD क्रियाएँ करने वाले Lambda फ़ंक्शन विकसित करें और डेटा-आधारित सर्वररहित बैकएंड बनाएँ।
Lambda और DynamoDB एकीकरण, CoddyKit पर AWS Lambda और API Gateway के साथ सर्वररहित बैकएंड का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह AWS Lambda और API Gateway के साथ सर्वररहित बैकएंड सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। AWS Lambda और API Gateway के साथ सर्वररहित बैकएंड पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
Lambda और DynamoDB: शक्तिशाली जोड़ी
AWS Lambda को DynamoDB के साथ एकीकृत करने के पाठ में आपका स्वागत है! शक्तिशाली, सर्वर-रहित बैकएंड बनाने के लिए यह संयोजन एक आधारशिला है।
AWS Lambda सर्वर प्रबंधित किए बिना आपका कोड चलाने के लिए कंप्यूटिंग शक्ति प्रदान करता है, जबकि DynamoDB एक तेज़, लचीला NoSQL डेटाबेस देता है जो अपने आप विस्तार कर सकता है।
दोनों मिलकर आपको ऐसे डेटा-आधारित ऐप्लिकेशन बनाने देते हैं जो बनाने, पढ़ने, अपडेट करने और हटाने (CRUD) के संचालन कुशलतापूर्वक संभालते हैं।
Lambda को DynamoDB ऐक्सेस देना
आपका Lambda फ़ंक्शन DynamoDB के साथ काम करने से पहले अनुमति आवश्यक होती है। इसका प्रबंधन आपके Lambda फ़ंक्शन से जुड़े IAM Role के माध्यम से किया जाता है।
IAM भूमिका में ऐसी नीति होनी चाहिए जो DynamoDB की विशिष्ट कार्रवाइयों की अनुमति दे, जैसे:
dynamodb:PutItem(बनाने या अपडेट करने के लिए)dynamodb:GetItem(पढ़ने के लिए)dynamodb:UpdateItem(किसी आइटम के कुछ हिस्सों को बदलने के लिए)dynamodb:DeleteItem(आइटम हटाने के लिए)
हमेशा न्यूनतम विशेषाधिकार के सिद्धांत का पालन करें: केवल आवश्यक अनुमतियाँ दें।
Boto3 के साथ Lambda से कनेक्ट करना
Python Lambda फ़ंक्शन में DynamoDB के साथ काम करने के लिए आप Python का AWS SDK, Boto3, उपयोग करेंगे। सबसे पहले, आपको DynamoDB क्लाइंट या संसाधन प्रारंभ करना होगा।
boto3.resource('dynamodb') तरीका अक्सर पसंद किया जाता है, क्योंकि यह उच्च-स्तरीय, ऑब्जेक्ट-आधारित इंटरफ़ेस प्रदान करता है।
क्लाइंट को प्रारंभ करने का तरीका देखने के लिए इस उदाहरण को चलाकर देखें:
import boto3
import json
def lambda_handler(event, context):
# Initialize DynamoDB resource
dynamodb = boto3.resource('dynamodb')
table_name = 'my-coddykit-table' # Placeholder
table = dynamodb.Table(table_name)
print(f"Connected to table: {table_name}")
return {
'statusCode': 200,
'body': json.dumps('DynamoDB client initialized!')
}
# For local testing/runnable snippet
if __name__ == '__main__':
print("Running handler locally...")
lambda_handler({}, {})आइटम बनाना और बदलना (PutItem)
put_item() विधि का उपयोग DynamoDB तालिका में नया आइटम बनाने या मौजूदा आइटम को पूरी तरह बदलने के लिए किया जाता है।
- यदि समान प्राथमिक कुंजी वाला आइटम पहले से मौजूद है, तो
put_item()उसे पूरी तरह अधिलेखित कर देगा। - यदि उस प्राथमिक कुंजी वाला कोई आइटम मौजूद नहीं है, तो यह नया आइटम बनाएगा।
यह संचालन तब उपयोगी होता है जब आप यह सुनिश्चित करना चाहते हैं कि किसी आइटम में विशिष्ट विशेषताएँ मौजूद हों या आपको उसकी सभी विशेषताएँ बदलनी हों।
PutItem का उपयोग
यहाँ एक Lambda फ़ंक्शन है जो किसी आइटम को जोड़ने या अपडेट करने के लिए put_item() का उपयोग दिखाता है। हम इवेंट से तालिका का एक अस्थायी नाम और आइटम का विवरण लेंगे।
आइटम बनाने का अनुकरण देखने के लिए कोड चलाएँ!
import boto3
import json
def lambda_handler(event, context):
dynamodb = boto3.resource('dynamodb')
# Use a placeholder table name
table = dynamodb.Table('my-coddykit-table')
item_id = event.get('itemId', 'P001')
item_name = event.get('itemName', 'New Product')
table.put_item(
Item={
'itemId': item_id,
'itemName': item_name,
'category': 'Electronics'
}
)
print(f"Added/updated item: {item_id}")
return {
'statusCode': 200,
'body': json.dumps(f'Item {item_id} processed!')
}
# For local testing/runnable snippet
if __name__ == '__main__':
mock_event = {'itemId': 'P002', 'itemName': 'Coddy Phone'}
lambda_handler(mock_event, {})आइटम पढ़ना (GetItem)
DynamoDB तालिका से एक आइटम प्राप्त करने के लिए आप get_item() विधि का उपयोग करते हैं। इस संचालन के लिए आपको आइटम की पूरी प्राथमिक कुंजी देनी होती है।
यदि आपकी तालिका में सरल प्राथमिक कुंजी (केवल पार्टिशन कुंजी) है, तो आप केवल वही मान देंगे। यदि इसमें संयुक्त प्राथमिक कुंजी (पार्टिशन कुंजी और सॉर्ट कुंजी) है, तो आपको दोनों देने होंगे।
सीधे खोजने के लिए get_item() बहुत कुशल है।
GetItem का उपयोग
यह Lambda फ़ंक्शन दिखाता है कि itemId का उपयोग करके किसी आइटम को कैसे प्राप्त किया जाता है (यह मानते हुए कि यही हमारी प्राथमिक कुंजी है)। आइटम मिलने पर प्रतिक्रिया में उसकी विशेषताएँ शामिल होंगी।
get_item() कैसे काम करता है, यह देखने के लिए यह उदाहरण चलाएँ।
import boto3
import json
def lambda_handler(event, context):
dynamodb = boto3.resource('dynamodb')
# Use a placeholder table name
table = dynamodb.Table('my-coddykit-table')
item_id = event.get('itemId', 'P001') # Assume 'itemId' is the primary key
response = table.get_item(
Key={'itemId': item_id}
)
item = response.get('Item')
if item:
print(f"Found item: {item}")
return {
'statusCode': 200,
'body': json.dumps(item)
}
else:
print(f"Item {item_id} not found.")
return {
'statusCode': 404,
'body': json.dumps(f'Item {item_id} not found.')
}
# For local testing/runnable snippet
if __name__ == '__main__':
mock_event = {'itemId': 'P002'} # Try to get an item
lambda_handler(mock_event, {})आइटम के कुछ हिस्सों को बदलना (UpdateItem)
update_item() विधि आपको पूरे आइटम को बदले बिना उसके मौजूदा आइटम की विशिष्ट विशेषताओं को बदलने देती है।
यदि आपको केवल कुछ विशेषताएँ बदलनी हों, तो यह put_item() से अधिक कुशल है। इसमें यह बताने के लिए UpdateExpression आवश्यक होता है कि कौन-सी विशेषताएँ और किस प्रकार बदलनी हैं।
अपडेट एक्सप्रेशन विशेषताओं को जोड़, सेट, हटा या मिटा सकते हैं।
आइटम हटाना (DeleteItem)
DynamoDB तालिका से किसी आइटम को हटाने के लिए आप delete_item() विधि का उपयोग करते हैं। get_item() की तरह, आपको उस आइटम की पूरी प्राथमिक कुंजी देनी होगी जिसे आप हटाना चाहते हैं।
एक बार आइटम हट जाने के बाद, इस संचालन के माध्यम से उसे पुनः प्राप्त नहीं किया जा सकता। delete_item() का उपयोग करते समय, विशेष रूप से उत्पादन परिवेश में, सावधान रहें।
त्वरित जाँच: DynamoDB संचालन
आपको अपनी DynamoDB Users तालिका में नया उपयोगकर्ता प्रोफ़ाइल बनाना है। यदि समान ID वाला उपयोगकर्ता पहले से मौजूद है, तो आप उसके पुराने प्रोफ़ाइल को नए डेटा से पूरी तरह अधिलेखित करना चाहते हैं। आपके Lambda फ़ंक्शन को Boto3 की कौन-सी विधि उपयोग करनी चाहिए?
पुनरावलोकन: Lambda और DynamoDB एकीकरण
बहुत बढ़िया! आपने डेटा-आधारित सर्वर-रहित ऐप्लिकेशन बनाने के लिए AWS Lambda को DynamoDB के साथ एकीकृत करना सीखा है।
- हमने सुरक्षित ऐक्सेस के लिए IAM अनुमतियों के महत्व को समझा।
- आपने Python Lambda से कनेक्ट करने के लिए Boto3 SDK का उपयोग देखा।
- हमने मुख्य CRUD संचालन देखे:
put_item()(बनाना/बदलना),get_item()(पढ़ना),update_item()(बदलना), औरdelete_item()(हटाना)।
मज़बूत सर्वर-रहित बैकएंड विकसित करने के लिए यह ज्ञान अत्यंत महत्वपूर्ण है!
एआई शिक्षक के साथ AWS Lambda और API Gateway के साथ सर्वररहित बैकएंड सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 12
- पाठ
- 48
अक्सर पूछे जाने वाले प्रश्न
क्या “Lambda और DynamoDB एकीकरण” पाठ निःशुल्क है?
हाँ—“Lambda और DynamoDB एकीकरण” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और AWS Lambda और API Gateway के साथ सर्वररहित बैकएंड पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। AWS Lambda और API Gateway के साथ सर्वररहित बैकएंड पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“Lambda और DynamoDB एकीकरण” में मैं क्या सीखूँगा?
DynamoDB के साथ बातचीत करके CRUD क्रियाएँ करने वाले Lambda फ़ंक्शन विकसित करें और डेटा-आधारित सर्वररहित बैकएंड बनाएँ। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ AWS Lambda और API Gateway के साथ सर्वररहित बैकएंड का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या AWS Lambda और API Gateway के साथ सर्वररहित बैकएंड शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर AWS Lambda और API Gateway के साथ सर्वररहित बैकएंड शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“Lambda और DynamoDB एकीकरण” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस AWS Lambda और API Gateway के साथ सर्वररहित बैकएंड पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर AWS Lambda और API Gateway के साथ सर्वररहित बैकएंड पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- DynamoDB का परिचय
- DynamoDB तालिकाओं का डिज़ाइन
- Lambda और DynamoDB एकीकरण
- द्वितीयक इंडेक्स से क्वेरी: GSI और LSI