जटिल कार्यप्रवाहों का समन्वय
Step Functions का उपयोग करके सशर्त लॉजिक, समानांतर निष्पादन और त्रुटि प्रबंधन वाले उन्नत सर्वररहित कार्यप्रवाह बनाएँ।
जटिल कार्यप्रवाहों का समन्वय, CoddyKit पर AWS Lambda और API Gateway के साथ सर्वररहित बैकएंड का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह AWS Lambda और API Gateway के साथ सर्वररहित बैकएंड सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। AWS Lambda और API Gateway के साथ सर्वररहित बैकएंड पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
जटिल वर्कफ़्लो का ऑर्केस्ट्रेशन
आपका स्वागत है! इस पाठ में हम AWS Step Functions के साथ उन्नत सर्वरलेस वर्कफ़्लो बनाना सीखेंगे।
हम निर्णय लेने की क्षमता जोड़ने, कार्यों को एक साथ चलाने और अपने वर्कफ़्लो को त्रुटियों के प्रति अधिक सक्षम बनाने का तरीका जानेंगे।
Choice के साथ निर्णय लेना
Choice स्थिति आपके वर्कफ़्लो के "if/else" कथन की तरह होती है। यह आपकी स्टेट मशीन को प्राप्त इनपुट के आधार पर निर्णय लेने देती है।
- हर विकल्प नियम में एक शर्त होती है (जैसे, इनपुट का मान "X" के बराबर है)।
- यदि कोई शर्त पूरी होती है, तो वर्कफ़्लो निर्दिष्ट स्थिति में चला जाता है।
- जब कोई भी शर्त मेल नहीं खाती, तब डिफ़ॉल्ट स्थिति ऐसे मामलों को संभालती है।
Choice स्थिति का उदाहरण
आपकी Step Functions परिभाषा में Choice स्थिति इस प्रकार दिखाई देती है। यह अगला चरण तय करने के लिए orderStatus फ़ील्ड की जाँच करती है।
{ "StartAt": "CheckOrderStatus", "States": { "CheckOrderStatus": { "Type": "Choice", "Choices": [ { "Variable": "$.orderStatus", "StringEquals": "PENDING", "Next": "ProcessPendingOrder" }, { "Variable": "$.orderStatus", "StringEquals": "SHIPPED", "Next": "NotifyShipping" } ], "Default": "HandleUnknownStatus" }, "ProcessPendingOrder": { "Type": "Task", "Resource": "arn:aws:lambda:us-east-1:123456789012:function:processPending", "End": true }, "NotifyShipping": { "Type": "Task", "Resource": "arn:aws:lambda:us-east-1:123456789012:function:notifyShipping", "End": true }, "HandleUnknownStatus": { "Type": "Fail", "Cause": "Unknown order status", "Error": "InvalidOrderStatus" } }}कार्यों को समानांतर चलाना
Parallel स्थिति आपको अपने वर्कफ़्लो की कई शाखाओं को एक साथ चलाने देती है। यह उन कार्यों के लिए उपयोगी है जो एक-दूसरे पर निर्भर नहीं होते और एक ही समय पर चल सकते हैं।
- हर शाखा स्वतंत्र रूप से चलती है।
- Parallel स्थिति सभी शाखाओं के पूरा होने तक प्रतीक्षा करती है।
- सभी शाखाओं के आउटपुट को एक ऐरे में जोड़ा जाता है।
Parallel स्थिति का उदाहरण
यह Parallel स्थिति किसी ऑर्डर को प्रोसेस करती है और इन्वेंटरी को एक साथ अपडेट करती है, फिर उनके परिणामों को जोड़ती है।
{ "StartAt": "ProcessOrderAndInventory", "States": { "ProcessOrderAndInventory": { "Type": "Parallel", "Branches": [ { "StartAt": "ProcessOrder", "States": { "ProcessOrder": { "Type": "Task", "Resource": "arn:aws:lambda:us-east-1:123456789012:function:processOrder", "End": true } } }, { "StartAt": "UpdateInventory", "States": { "UpdateInventory": { "Type": "Task", "Resource": "arn:aws:lambda:us-east-1:123456789012:function:updateInventory", "End": true } } } ], "Next": "CombineResults" }, "CombineResults": { "Type": "Pass", "End": true } }}त्रुटियों को कुशलता से संभालना
कुछ गलत हो सकता है! Step Functions Catch फ़ील्ड के माध्यम से सशक्त त्रुटि प्रबंधन प्रदान करता है। आप निर्दिष्ट कर सकते हैं कि किन त्रुटियों को पकड़ा जाए और त्रुटि होने पर किस स्थिति में जाना है।
- त्रुटियों की पहचान उनके प्रकार से की जाती है (जैसे,
States.TaskFailed)। - आप विशिष्ट त्रुटियों या सामान्य
States.ALLको पकड़ सकते हैं। ResultPathयह निर्दिष्ट करता है कि त्रुटि का आउटपुट कहाँ रखा जाए।
Catch स्थिति का उदाहरण
यहाँ, यदि ProcessPayment कार्य विफल होता है, तो उसे पकड़ लिया जाता है और वर्कफ़्लो RefundOrder स्थिति में चला जाता है।
{ "StartAt": "ProcessPayment", "States": { "ProcessPayment": { "Type": "Task", "Resource": "arn:aws:lambda:us-east-1:123456789012:function:processPayment", "Catch": [ { "ErrorEquals": [ "States.TaskFailed", "PaymentFailure" ], "Next": "RefundOrder", "ResultPath": "$.errorInfo" } ], "Next": "CompleteOrder" }, "RefundOrder": { "Type": "Task", "Resource": "arn:aws:lambda:us-east-1:123456789012:function:refundOrder", "End": true }, "CompleteOrder": { "Type": "Pass", "End": true } }}विफल कार्यों का पुनः प्रयास
क्षणिक त्रुटियों (जैसे नेटवर्क टाइमआउट) के लिए, विफल होने से पहले कार्य का कुछ बार पुनः प्रयास करना अक्सर बेहतर होता है। Retry फ़ील्ड आपको पुनः प्रयास की नीतियाँ परिभाषित करने देती है।
- निर्दिष्ट करें कि किन त्रुटियों पर पुनः प्रयास करना है।
IntervalSeconds,MaxAttemptsऔरBackoffRateकॉन्फ़िगर करें।- घातीय बैकऑफ़ (
BackoffRate > 1) की अत्यधिक अनुशंसा की जाती है।
Retry स्थिति का उदाहरण
यदि Timeout या NetworkError होता है, तो यह कार्य घातीय बैकऑफ़ के साथ अधिकतम 3 बार पुनः प्रयास करेगा।
{ "StartAt": "CallExternalService", "States": { "CallExternalService": { "Type": "Task", "Resource": "arn:aws:lambda:us-east-1:123456789012:function:callExternalService", "Retry": [ { "ErrorEquals": [ "States.Timeout", "NetworkError" ], "IntervalSeconds": 2, "MaxAttempts": 3, "BackoffRate": 1.5 } ], "End": true } }}सबका ऑर्केस्ट्रेशन
Step Functions की वास्तविक शक्ति इन स्थितियों को मिलाने से आती है। आप Choices के भीतर Parallel स्थितियों को नेस्ट करके, Tasks में Retries जोड़कर और विभिन्न स्तरों पर त्रुटियों को Catch करके अत्यंत उन्नत वर्कफ़्लो बना सकते हैं।
इससे आप लगभग किसी भी व्यावसायिक प्रक्रिया का मॉडल बना सकते हैं और अपने सर्वरलेस अनुप्रयोगों को सशक्त तथा अनुकूलनशील बना सकते हैं।
वर्कफ़्लो लॉजिक की जाँच
ऐसे वर्कफ़्लो पर विचार करें जिसे यह करना है:
- जाँचें कि कोई उपयोगकर्ता प्रीमियम है या नहीं।
- यदि वह प्रीमियम है, तो व्यक्तिगत ईमेल भेजें और उसके लॉयल्टी पॉइंट एक साथ अपडेट करें।
- यदि वह प्रीमियम नहीं है, तो सामान्य ईमेल भेजें।
- ईमेल भेजने में होने वाली किसी भी विफलता को लॉग करके संभालें, लेकिन वर्कफ़्लो को रोकें नहीं।
इस लॉजिक को लागू करने के लिए कौन-सी Step Functions स्थितियाँ आवश्यक होंगी?
पुनरावलोकन: जटिल वर्कफ़्लो
आपने उन्नत Step Functions अवधारणाओं में महारत हासिल कर ली है!
- हमने सशर्त लॉजिक के लिए Choice स्थितियों का उपयोग किया।
- हमने समवर्ती निष्पादन के लिए Parallel स्थितियों का उपयोग किया।
- हमने Catch ब्लॉक के साथ सशक्त त्रुटि प्रबंधन लागू किया।
- और हमने क्षणिक विफलताओं के लिए Retry नीतियों के बारे में सीखा।
ये उपकरण आपको अत्यंत शक्तिशाली और त्रुटि-सहिष्णु इवेंट-आधारित सर्वरलेस अनुप्रयोग बनाने में सक्षम बनाते हैं!
एआई शिक्षक के साथ AWS Lambda और API Gateway के साथ सर्वररहित बैकएंड सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 12
- पाठ
- 48
अक्सर पूछे जाने वाले प्रश्न
क्या “जटिल कार्यप्रवाहों का समन्वय” पाठ निःशुल्क है?
हाँ—“जटिल कार्यप्रवाहों का समन्वय” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और AWS Lambda और API Gateway के साथ सर्वररहित बैकएंड पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। AWS Lambda और API Gateway के साथ सर्वररहित बैकएंड पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“जटिल कार्यप्रवाहों का समन्वय” में मैं क्या सीखूँगा?
Step Functions का उपयोग करके सशर्त लॉजिक, समानांतर निष्पादन और त्रुटि प्रबंधन वाले उन्नत सर्वररहित कार्यप्रवाह बनाएँ। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ AWS Lambda और API Gateway के साथ सर्वररहित बैकएंड का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या AWS Lambda और API Gateway के साथ सर्वररहित बैकएंड शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर AWS Lambda और API Gateway के साथ सर्वररहित बैकएंड शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“जटिल कार्यप्रवाहों का समन्वय” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस AWS Lambda और API Gateway के साथ सर्वररहित बैकएंड पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर AWS Lambda और API Gateway के साथ सर्वररहित बैकएंड पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- AWS Step Functions का परिचय
- स्टेट मशीन बनाना
- जटिल कार्यप्रवाहों का समन्वय
- स्टेट मशीन में त्रुटि प्रबंधन और पुनःप्रयास