अपडेट पर वापस जाएँ
New releaseSep 10, 2026

serverless [email protected]

AWS Lambda पर YAML इंफ्रास्ट्रक्चर, स्थानीय विकास, और बहु-भाषा रनटाइम समर्थन के साथ सर्वरलेस अनुप्रयोगों को तैनात करने और प्रबंधित करने के लिए CLI फ्रेमवर्क।

साझा करें

Serverless Framework AWS Lambda AWS DynamoDB AWS API Gateway




The Serverless Framework – AWS Lambda और अन्य प्रबंधित क्लाउड सेवाओं का उपयोग करके ऐसे एप्लिकेशन बनाना आसान बनाता है जो ऑटो-स्केल होते हैं, निष्क्रिय होने पर कोई लागत नहीं लेते, और परिणामस्वरूप बेहद कम रखरखाव की आवश्यकता होती है।

Serverless Framework एक कमांड-लाइन टूल है जिसमें सरल YAML सिंटैक्स है, जो आपके कोड और क्लाउड इन्फ्रास्ट्रक्चर दोनों को तैनात करने के लिए है — जो APIs, फ्रंट-एंड, डेटा पाइपलाइन और शेड्यूल किए गए कार्यों जैसे कई सर्वरलेस एप्लिकेशन उपयोग-मामलों के लिए आवश्यक है। यह एक बहु-भाषा फ्रेमवर्क है जो Node.js, Typescript, Python, Go, Java और अधिक का समर्थन करता है। यह 1,000 से अधिक प्लगइन्स के माध्यम से पूरी तरह से एक्सटेंसिबल भी है, जो फ्रेमवर्क में और अधिक सर्वरलेस उपयोग-मामलों और वर्कफ़्लो को जोड़ते हैं।

सक्रिय रूप से Serverless Inc द्वारा अनुरक्षित।


Serverless Framework - V.4


जुलाई 2026 – V.4 में महत्वपूर्ण अपडेट शामिल होते रहते हैं। नीचे उन सभी की समीक्षा करें। हाल के रिलीज़ में सैंडबॉक्स (AWS Lambda पर आइसोलेटेड, एफेमरल कंप्यूट), नेटिव Amazon Bedrock AgentCore समर्थन, मैनेज्ड इंस्टेंस, ड्यूरेबल फंक्शन और बिल्ट-इन AWS लॉगिन और SSO जोड़े गए हैं। हमेशा की तरह, हम सर्वरलेस भविष्य को लेकर पहले से कहीं अधिक उत्साहित हैं।

V.4 में नई विशेषताएँ

यहाँ उन सभी चीज़ों की सूची है जो अब तक V.4 में नई हैं:

  • सैंडबॉक्स – AWS Lambda पर आइसोलेटेड, एफेमरल कंप्यूट वातावरण तैनात करें — AI एजेंट और कोड निष्पादन जैसे अविश्वसनीय या प्रति-सत्र वर्कलोड के लिए आदर्श। अधिक जानकारी यहाँ.
  • Amazon Bedrock AgentCore समर्थनai प्रॉपर्टी के माध्यम से serverless.yml में सीधे AI एजेंट, मेमोरी, टूल्स, गेटवे, ब्राउज़र और कोड इंटरप्रेटर परिभाषित करें, और serverless agent कमांड के साथ उन्हें प्रबंधित करें। अधिक जानकारी यहाँ.
  • AWS लॉगिन और SSOserverless login aws और serverless login aws sso के साथ ब्राउज़र-आधारित फ्लो के माध्यम से AWS क्रेडेंशियल सेट करें।
  • डिप्लॉयमेंट डिफ्सserverless diff के साथ तैनाती से पहले देखें कि कोई डिप्लॉयमेंट आपके लाइव AWS CloudFormation स्टैक को कैसे बदलेगा।
  • रिकंसाइल कमांडserverless reconcile के माध्यम से, जब स्टैक CLI के बाहर हटाए जाते हैं, उपयोग रिकॉर्ड को आपके AWS खातों के साथ सिंक में रखें।
  • मैनेज्ड इंस्टेंस – उच्च थ्रूपुट, पूर्वानुमानित क्षमता और लंबे समय तक चलने वाले वर्कलोड को सक्षम करने के लिए EC2-समर्थित Lambda निष्पादन के लिए नेटिव समर्थन।
  • ड्यूरेबल फंक्शन – ड्यूरेबल, स्टेटफुल वर्कफ़्लो और लंबे समय तक चलने वाले ऑर्केस्ट्रेशन के लिए बिल्ट-इन समर्थन।
  • Lambda टेनेंट आइसोलेशन मोड: टेनेंट आइसोलेशन मोड का उपयोग करके प्रति टेनेंट अलग Lambda कंप्यूट वातावरण बनाएं, जिससे नॉइज़ी नेबर प्रभावों को कम करने और उच्च-ट्रैफिक ग्राहकों को अधिक स्पष्ट रूप से आइसोलेट करने में मदद मिलती है।
  • HTTP रिस्पॉन्स स्ट्रीमिंग: API Gateway HTTP APIs के साथ Lambda से लॉग, लंबे समय तक चलने वाली रिपोर्ट, आंशिक प्रतिक्रियाएँ या AI LLM प्रतिक्रियाएँ स्ट्रीम करें।
  • प्रति-फ़ंक्शन IAM भूमिकाएँ: प्रति-फ़ंक्शन IAM नीतियाँ जोड़ें या संपूर्ण सेवा को प्रति-फ़ंक्शन नीतियों का उपयोग करने के लिए स्विच करें।
  • बिल्ट-इन प्लगइन्स: लोकप्रिय कम्युनिटी प्लगइन्स अब फ्रेमवर्क की प्रथम-श्रेणी की अंतर्निहित विशेषताएँ हैं, जिनमें Python requirements, AppSync, Prune, API Gateway Service Proxy और अधिक शामिल हैं।
  • बेहतर कस्टम डोमेन समर्थन: आपको अपने APIs और अधिक के लिए कस्टम डोमेन और SSL प्रमाणपत्र स्वचालित रूप से कॉन्फ़िगर करने के लिए अब किसी बाहरी प्लगइन की आवश्यकता नहीं है। यह अब Serverless Framework CLI में बिल्ट-इन है।
  • Doppler के साथ एकीकरण: अब आप Serverless Framework Variables के माध्यम से Doppler से Secrets आसानी से प्राप्त कर सकते हैं।
  • Serverless MCP का परिचय: Cursor, Windsurf और अन्य AI-संचालित IDEs के लिए बनाया गया, यह आपके कोड से क्लाउड संसाधनों का स्वतः पता लगाता है, AWS से लॉग, स्टेट और कॉन्फ़िग प्राप्त करता है, जिससे आप सीधे अपने IDE में सर्वरलेस ऐप्स डीबग कर सकते हैं — AWS कंसोल पर जाने की आवश्यकता नहीं! Serverless Framework, Cloudformation और अधिक का समर्थन करता है।
  • AWS SAM, AWS CloudFormation और पारंपरिक Serverless Framework प्रोजेक्ट्स के लिए समर्थन: अब, आप इन तीनों IaC प्रोजेक्ट फ़ाइलों को तैनात करने के लिए एक ही टूल का उपयोग कर सकते हैं। अधिक जानकारी यहाँ
  • नेटिव TypeScript समर्थन: अब आप serverless.yml में अपने AWS Lambda फ़ंक्शन में .ts हैंडलर का उपयोग कर सकते हैं और तैनाती पर उन्हें स्वचालित रूप से बिल्ड करवा सकते हैं। ESBuild अब फ्रेमवर्क में शामिल है जो इसे संभव बनाता है। अधिक जानकारी यहाँ.
  • AWS AI स्टैक: V.4, AWS AI स्टैक के लिए अनुकूलित है। AWS पर AI एप्लिकेशन के लिए फुल-स्टैक, सर्वरलेस बॉयलरप्लेट तैनात करें, जिसमें Amazon Bedrock के माध्यम से LLMs और बहुत कुछ शामिल है।
  • नया डेव मोड: अपने लाइव आर्किटेक्चर से इवेंट्स को अपने लोकल कोड पर रूट करने के लिए serverless dev चलाएँ, जिससे आप तैनाती के बिना तेज़ी से बदलाव कर सकें। अधिक जानकारी यहाँ.
  • नवीनतम रनटाइम समर्थन: AWS Lambda पर Node.js 24 (nodejs24.x), Python 3.14 (python3.14) और Java 25 (java25) के लिए समर्थन।
  • नवीनतम रीजन समर्थन: न्यूज़ीलैंड में नए घोषित ap-southeast-6 सहित सभी प्रमुख रीजन के लिए समर्थन।
  • नई स्टेज प्रॉपर्टी: stages के माध्यम से स्टेज-विशिष्ट कॉन्फ़िग आसानी से व्यवस्थित करें और फ़ॉलबैक के लिए default कॉन्फ़िग सेट करें।
  • बेहतर Compose अनुभव: Serverless Compose में अब एक शानदार नया CLI अनुभव है जो बेहतर ढंग से दर्शाता है कि क्या तैनात किया जा रहा है।
  • नए Terraform और Vault एकीकरण: कई Terraform स्टेट स्टोरेज समाधानों से स्टेट आउटपुट और Vault से सीक्रेट्स प्राप्त करें। Terraform दस्तावेज़ Vault दस्तावेज़
  • सपोर्ट कमांड: हमारी टीम को सीधे CLI से सपोर्ट अनुरोध भेजें, जिसमें संदर्भ संबंधी जानकारी स्वतः शामिल होती है, जिसे आप भेजने से पहले समीक्षा कर सकते हैं।
  • AI के लिए डीबग सारांश: जब आप किसी बग का सामना करते हैं, तो आप "serverless support --ai" चला सकते हैं ताकि आपके अंतिम बग का विवरण सभी आवश्यक संदर्भ के साथ एक संक्षिप्त रिपोर्ट तैयार हो, जो ChatGPT जैसे AI टूल्स में पेस्ट करने के लिए अनुकूलित हो।
  • AWS Lambda के लिए उन्नत लॉगिंग नियंत्रण: JSON में लॉग कैप्चर करें, लॉग ग्रैन्युलैरिटी बढ़ाएँ और एक कस्टम लॉग ग्रुप सेट करें। यह रहा AWS आर्टिकल. यह रहा YAML इम्प्लीमेंटेशन.
  • Axiom एकीकरण: AWS cloudwatch से 3X कम लागत पर शक्तिशाली लॉगिंग, मेट्रिक्स और ट्रेसेस अनुभव के लिए Axiom की ऑब्ज़र्वेबिलिटी सोल्यूशन के साथ एकीकृत करें।
  • AWS SSO: पर्यावरण चर, विशेष रूप से AWS SSO द्वारा सेट किए गए, को प्राथमिकता दी जाती है। फ्रेमवर्क और डैशबोर्ड अब इनमें हस्तक्षेप नहीं करते हैं।
  • स्वचालित अपडेट: ये अब डिफ़ॉल्ट रूप से होते हैं। हालाँकि, आप उन अपडेट के स्तर को नियंत्रित करने में सक्षम होंगे जिन्हें आप प्राप्त करना चाहते हैं।
  • बेहतर ऑनबोर्डिंग और सेट-अप: serverless कमांड को नए या मौजूदा प्रोजेक्ट सेट करते समय अधिक सहायक बनाने के लिए फिर से लिखा गया है।
  • अपडेटेड कस्टम रिसोर्स हैंडलर: सभी कस्टम रिसोर्स हैंडलर अब एक वर्तमान Node.js रनटाइम (nodejs22.x) का उपयोग करते हैं।
  • गैर-AWS प्रोवाइडर्स का अप्रचलन: अन्य क्लाउड प्रोवाइडर्स को अप्रचलित कर दिया गया है। V.4, AWS पर सर्वोत्तम अनुभव प्रदान करने पर केंद्रित है।

ब्रेकिंग चेंजेस

हम "aws" प्रोवाइडर के लिए ब्रेकिंग चेंजेस से बचने का प्रयास कर रहे हैं। हालाँकि, कुछ बड़े बदलाव हैं जिनके बारे में जागरूक रहना आवश्यक है:

  • V.4 लाइसेंस बदल रहा है। इसके बारे में अधिक जानकारी के लिए नीचे दिया गया अनुभाग देखें।
  • CLI के भीतर प्रमाणीकरण आवश्यक है।
  • गैर-AWS प्रोवाइडर्स को अप्रचलित कर दिया गया है। हम V.4 में अन्य क्लाउड इन्फ्रास्ट्रक्चर विक्रेताओं का उपयोग करने के नए तरीके पेश करेंगे।

यदि आपको अतिरिक्त ब्रेकिंग चेंजेस मिलते हैं, तो कृपया एक issue बनाएँ। क्या अलग है और संभावित ब्रेकिंग चेंजेस के बारे में अधिक जानने के लिए, कृपया हमारा Serverless Framework V4 में अपग्रेड करने हेतु दस्तावेज़ देखें।

V.4 में लाइसेंस परिवर्तन

कृपया ध्यान दें, V.4 रिपॉजिटरी की संरचना और लाइसेंसिंग V.4 npm मॉड्यूल से भिन्न है। npm मॉड्यूल में कुछ स्वामित्व लाइसेंस प्राप्त सॉफ़्टवेयर शामिल है, क्योंकि V.4 एक सामान्य SaaS उत्पाद में परिवर्तित हो रहा है, जैसा पहले घोषित किया गया था। मूल Serverless Framework स्रोत कोड और अधिक MIT लाइसेंस सॉफ़्टवेयर बने रहेंगे, और रिपॉजिटरी को स्वामित्व और ओपन-सोर्स घटकों के बीच स्पष्ट रूप से अंतर करने के लिए संरचित किया गया है — MIT-लाइसेंस प्राप्त कोड packages/serverless में अपनी स्वयं की LICENSE फ़ाइल रखता है, जबकि रिपॉजिटरी रूट में मौजूद LICENSE स्वामित्व घटकों को कवर करती है।


सामग्री


विशेषताएँ

  • अधिक बनाएँ, कम प्रबंधित करें: इन्फ्रास्ट्रक्चर प्रबंधन पर कम समय बिताकर तेज़ी से इनोवेट करें।
  • अधिकतम बहुमुखी प्रतिभा: APIs और शेड्यूल किए गए कार्यों से लेकर वेब सॉकेट और डेटा पाइपलाइन तक, विविध सर्वरलेस उपयोग-मामलों को संभालें।
  • स्वचालित तैनाती: कोड और इन्फ्रास्ट्रक्चर की तैनाती को एक साथ संभालकर विकास को सुव्यवस्थित करें।
  • लोकल डेवलपमेंट: हर बदलाव को तैनात किए बिना तेज़ी से विकास करने के लिए AWS से अपने लोकल AWS Lambda कोड में इवेंट्स रूट करें।
  • उपयोग में आसानी: सरल YAML कॉन्फ़िगरेशन की बदौलत, गहरी क्लाउड इन्फ्रास्ट्रक्चर विशेषज्ञता के बिना जटिल एप्लिकेशन तैनात करें।
  • भाषा-स्वतंत्र: अपनी पसंदीदा भाषा में बनाएँ – Node.js, Python, Java, Go, C#, Ruby, Swift, Kotlin, PHP, Scala या F#।
  • संपूर्ण लाइफसाइकिल प्रबंधन: सर्वरलेस एप्लिकेशन को आसानी से विकसित करें, तैनात करें, मॉनिटर करें, अपडेट करें और समस्या निवारण करें।
  • स्केलेबल संगठन: बड़े ऐप्स को Services में विभाजित करके बड़े प्रोजेक्ट्स और टीमों को कुशलतापूर्वक संरचित करें, जिन पर Serverless Compose के माध्यम से व्यक्तिगत रूप से या एक साथ काम किया जा सके।
  • सहज वातावरण: डेवलपमेंट, स्टेजिंग और प्रोडक्शन वातावरण को निर्बाध रूप से प्रबंधित करें।
  • कस्टमाइज़ेशन के लिए तैयार: समृद्ध प्लगइन इकोसिस्टम के साथ फ्रेमवर्क की कार्यक्षमता का विस्तार और संशोधन करें।
  • जीवंत समुदाय: Serverless डेवलपर्स के भावुक समुदाय से जुड़ें और समर्थन प्राप्त करें।

त्वरित प्रारंभ

यहाँ बताया गया है कि Serverless Framework को कैसे इंस्टॉल करें, एक प्रोजेक्ट कैसे सेट करें और इसे AWS Lambda, AWS DynamoDB, AWS S3 और अधिक जैसी सर्वरलेस इन्फ्रास्ट्रक्चर पर Amazon Web Services में कैसे तैनात करें।


NPM के माध्यम से Serverless Framework इंस्टॉल करें

सबसे पहले, आपके पास Node.js रनटाइम इंस्टॉल होना चाहिए, संस्करण 18.17.0 या उससे अधिक, फिर आप NPM के माध्यम से Serverless Framework इंस्टॉल कर सकते हैं।

अपना CLI खोलें और Serverless Framework को ग्लोबली इंस्टॉल करने के लिए नीचे दिया गया कमांड चलाएँ।```text npm i serverless -g

अपनी इंस्टॉलेशन के कार्य करने की पुष्टि करने और वर्तमान संस्करण दिखाने के लिए `serverless` चलाएँ।

<br/>

## Serverless Framework अपडेट करें

संस्करण 4 के अनुसार, Serverless Framework स्वयं को स्वचालित रूप से अपडेट करता है और ऐसा करने के लिए हर 24 घंटे में जाँच करता है।

आप यह कमांड चलाकर अपडेट के लिए बाध्य कर सकते हैं:```text
serverless update

या, आप इस पर्यावरण चर को सेट कर सकते हैं:```text SERVERLESS_FRAMEWORK_FORCE_UPDATE=true

<br/>

## `serverless` कमांड

Serverless Framework एक `serverless` कमांड के साथ आता है जो आपको AWS पर प्रोजेक्ट बनाने और डिप्लॉय करने की प्रक्रिया में मार्गदर्शन करता है। यह टेम्पलेट डाउनलोड करने, AWS क्रेडेंशियल्स सेट करने, Serverless Framework डैशबोर्ड सेट करने और बहुत कुछ करने में मदद करता है, साथ ही रास्ते में हर अवधारणा को समझाता है।

यह गाइड भी आपको Serverless Framework के साथ शुरुआत करने में मार्गदर्शन करेगा, लेकिन कृपया ध्यान दें, केवल `serverless` कमांड टाइप करना बेहतर अनुभव हो सकता है।```text
serverless

एक Service बनाएं

Serverless Framework में किसी प्रोजेक्ट के लिए प्राथमिक अवधारणा को "Service" के रूप में जाना जाता है, और इसे serverless.yml फ़ाइल द्वारा घोषित किया जाता है, जिसमें क्लाउड इंफ्रास्ट्रक्चर को तैनात करने के लिए सरलीकृत सिंटैक्स होता है, जैसे AWS Lambda फ़ंक्शन, इवेंट्स के साथ उन फ़ंक्शनों को ट्रिगर करने वाला इंफ्रास्ट्रक्चर, और अतिरिक्त इंफ्रास्ट्रक्चर जिसकी आपके AWS Lambda फ़ंक्शनों को विभिन्न उपयोग-मामलों के लिए आवश्यकता हो सकती है (जैसे AWS DynamoDB डेटाबेस टेबल, AWS S3 स्टोरेज बकेट, HTTP अनुरोध प्राप्त करने और उन्हें AWS Lambda को अग्रेषित करने के लिए AWS API Gateways)।

एक Service पूर्ण एप्लिकेशन हो सकती है, किसी विशेष डोमेन के लिए लॉजिक (जैसे "blog", "users", "products"), या एक माइक्रोसर्विस जो एक कार्य को संभालती है। आप तय करते हैं कि अपने प्रोजेक्ट को कैसे व्यवस्थित करना है। सामान्यतः, हम जटिलता कम करने के लिए हर चीज़ के साथ मोनोलिथिक दृष्टिकोण से शुरुआत करने की सलाह देते हैं, जब तक कि लॉजिक को विभाजित करना बिल्कुल आवश्यक न हो जाए।

Serverless Framework Service बनाने और पूरी तरह से सेट अप करने के लिए, serverless कमांड का उपयोग करें, जो एक इंटरैक्टिव सेट-अप वर्कफ़्लो प्रदान करता है।```text serverless

यह आपको कई टेम्पलेट्स दिखाएगा। अपनी इच्छित भाषा और उपयोग-मामले के अनुकूल एक चुनें।```text
Serverless ϟ Framework
Welcome to Serverless Framework V.4

Create a new project by selecting a Template to generate scaffolding for a specific use-case.

? Select A Template: …
❯ AWS / Node.js / HTTP API
  AWS / Node.js / Express API
  AWS / Node.js / Express API with DynamoDB
  AWS / Node.js / Scheduled Task
  AWS / Node.js / Simple Function
  AWS / Python / HTTP API
  AWS / Python / Flask API
  AWS / Python / Flask API with DynamoDB
  AWS / Python / Scheduled Task
  AWS / Python / Simple Function
  (Scroll for more)

किसी सर्विस टेम्पलेट का चयन करने के बाद, इसकी फ़ाइलें डाउनलोड की जाएंगी और आपको अपनी सर्विस को एक नाम देने का अवसर मिलेगा।```text ? Name Your Service: ›

कृपया केवल छोटे अक्षरों, संख्याओं और हाइफ़न का उपयोग करें। साथ ही, Service के नाम छोटे रखें, क्योंकि Serverless Framework जो क्लाउड संसाधन बनाता है, उनमें से प्रत्येक के नाम में ये जोड़े जाते हैं, और कुछ क्लाउड संसाधनों के नामों में वर्ण लंबाई की सीमाएँ होती हैं।

Services और अन्य विषयों के बारे में [मुख्य अवधारणाएँ दस्तावेज़](https://www.serverless.com/framework/docs/providers/aws/guide/intro) में अधिक जानें।

<br/>

## साइन इन करना

Serverless Framework V.4 के अनुसार, यदि आप कोई Service सेट अप करने के लिए `serverless` कमांड का उपयोग कर रहे हैं, तो यह अंततः आपसे लॉग इन करने के लिए कहेगा।

यदि आपको उसके अलावा लॉग इन करने की आवश्यकता है, तो `serverless login` चलाएँ।

लॉग इन करने पर आप अपने ब्राउज़र में [Serverless Framework Dashboard](https://app.serverless.com) पर पुनर्निर्देशित हो जाएँगे। पंजीकरण या लॉग इन करने के बाद, अपनी CLI पर वापस जाएँ और आप साइन इन हो जाएँगे।

कृपया ध्यान दें, आप Serverless Framework CLI और Dashboard को मुफ्त में उपयोग करना शुरू कर सकते हैं, और CLI छोटे संगठनों और इंडी हैकर्स के लिए हमेशा मुफ्त रहेगी। मूल्य निर्धारण के बारे में अधिक जानकारी के लिए, हमारा [pricing page](https://serverless.com/pricing) देखें।

<br/>

## ऐप बनाना

"App" अवधारणा एक या कई "Services" के लिए एक मूल कंटेनर है, जिसे आप अपनी `serverless.yml` में `app` प्रॉपर्टी के माध्यम से वैकल्पिक रूप से सेट कर सकते हैं। `app` सेट करने से उस Service के लिए Serverless Framework Dashboard की सुविधाएँ भी सक्षम हो जाती हैं, जैसे आपकी Services और उनके डिप्लॉयमेंट को Serverless Framework Dashboard में ट्रैक करना, उनके बीच आउटपुट साझा करना, उनके बीच सीक्रेट साझा करना, और मेट्रिक्स, ट्रेस और लॉग सक्षम करना।

यदि आप `serverless` ऑनबोर्डिंग कमांड का उपयोग कर रहे हैं, तो यह एक `app` सेट अप करने और उसे आपकी Service में जोड़ने में मदद करेगा। आप किसी मौजूदा Service पर भी `serverless` कमांड का उपयोग करके एक App बना सकते हैं, या Dashboard में एक App बना सकते हैं।```text
❯ Create A New App
  ecommerce
  blog
  acmeinc
  Skip Adding An App

ऐप को serverless.yml में app प्रॉपर्टी के माध्यम से मैन्युअल रूप से भी सेट किया जा सकता है:```yaml service: my-service app: my-app

यदि आप Serverless Framework Dashboard की सुविधाओं का उपयोग नहीं करना चाहते हैं, तो बस `app` प्रॉपर्टी न जोड़ें। ऐप्स आवश्यक नहीं हैं।

<br/>

## AWS क्रेडेंशियल्स सेट करना

AWS पर क्लाउड इंफ्रास्ट्रक्चर को डिप्लॉय करने के लिए, आपको Serverless Framework को अपने AWS क्रेडेंशियल्स तक पहुंच देनी होगी।

नई या मौजूदा Service में Serverless Framework का `serverless` कमांड चलाने से यह पहचानने में मदद मिलेगी कि AWS क्रेडेंशियल्स सही तरीके से सेट किए गए हैं या वे समाप्त हो गए हैं, या उन्हें शुरू से सेट करने में भी मदद मिलेगी।```text
No valid AWS Credentials were found in your environment variables or on your machine. Serverless Framework needs these to access your AWS account and deploy resources to it. Choose an option below to set up AWS Credentials.

❯ Create AWS IAM Role (Easy & Recommended)
  Save AWS Credentials in a Local Profile
  Skip & Set Later (AWS SSO, ENV Vars)

हम AWS IAM Role बनाने की अनुशंसा करते हैं जो Serverless Framework Dashboard में संग्रहीत हो। निकट भविष्य में हम बहुत सारे Provider Credentials का समर्थन करेंगे, और Dashboard आपकी टीम में इन्हें केंद्रीकृत रखने के लिए एक बेहतरीन स्थान है, जिससे आप व्यवस्थित रह सकते हैं, और सुरक्षित रूप से आपके साथियों की मशीनों पर क्रेडेंशियल्स रखने की आवश्यकता समाप्त हो जाती है।

यदि आप AWS SSO का उपयोग कर रहे हैं, तो आप अपने ब्राउज़र के माध्यम से साइन इन करने के लिए serverless login aws sso चला सकते हैं, या बस अपने अस्थायी SSO क्रेडेंशियल्स को टर्मिनल में एनवायरनमेंट वेरिएबल्स के रूप में पेस्ट करें।

AWS Credentials सेट अप करने के बारे में अधिक जानने के लिए, यह मार्गदर्शिका पढ़ें


एक Service तैनात करें

serverless कमांड का उपयोग करके सब कुछ सेट करने के बाद, अब अपनी Service को AWS पर तैनात करने का समय है।

सुनिश्चित करें कि आपका टर्मिनल सत्र उस निर्देशिका के भीतर है जिसमें आपकी serverless.yml फ़ाइल मौजूद है। यदि आपने अभी-अभी एक Service बनाई है, तो उसमें cd करना न भूलें।```text cd [your-new-service-name]

डिप्लॉय करने से AWS पर क्लाउड इन्फ्रास्ट्रक्चर और कोड एक ही समय में बन/अपडेट होंगे।

`deploy` कमांड चलाएँ:```text
serverless deploy

More details on deploying can be found यहाँ.


विकास

कई Serverless Framework और serverless डेवलपर्स आमतौर पर क्लाउड पर विकास करना चुनते हैं, क्योंकि यह वास्तविकता (यानी आपका प्रोडक्शन वातावरण) से मेल खाता है, और Lambda और अन्य इंफ्रास्ट्रक्चर निर्भरताओं को स्थानीय रूप से अनुकरण करना जटिल हो सकता है।

Serverless Framework V.4 में, हमने विकास के लिए एक हाइब्रिड दृष्टिकोण बनाया है, ताकि डेवलपर्स को वास्तविक क्लाउड वातावरण की सटीकता के साथ तेजी से विकास करने में मदद मिल सके। यह नया dev कमांड है:```text serverless dev

जब आप यह कमांड चलाते हैं, तो निम्नलिखित होता है...

एक AWS Cloudformation डिप्लॉयमेंट होगा जो आपके Service के भीतर सभी AWS Lambda फ़ंक्शनों में थोड़ा सा बदलाव करेगा ताकि उनमें एक हल्का wrapper शामिल हो।

एक बार यह AWS Cloudformation डिप्लॉयमेंट पूरा हो जाने पर, आपके Service के भीतर आपके live AWS Lambda फ़ंक्शन अभी भी events प्राप्त करने और AWS के भीतर invoke होने में सक्षम होंगे।

हालाँकि, events को सुरक्षित रूप से और तुरंत आपकी मशीन पर proxy कर दिया जाएगा, और आपकी मशीन पर जो कोड चलेगा, वह चलेगा—न कि आपके live AWS Lambda फ़ंक्शनों के भीतर का कोड।

यह आपको अपने कोड में बदलाव करने की अनुमति देता है, बिना अपनी पूरी architecture को locally deploy या recreate किए, जिससे आप तेज़ी से develop कर सकते हैं।

आपके local कोड से logs भी आपके terminal `dev` session के भीतर दिखाए जाएँगे।

एक बार आपका कोड समाप्त हो जाने पर, आपके local कोड से response वापस आपके live AWS Lambda फ़ंक्शनों तक भेज दिया जाएगा, और वे response लौटाएँगे—ठीक वैसे ही जैसे cloud में एक सामान्य AWS Lambda फ़ंक्शन करता।

कृपया ध्यान दें, `dev` केवल development या personal stages/environments के लिए डिज़ाइन किया गया है और इसे production या किसी ऐसे stage में नहीं चलाया जाना चाहिए जहाँ events की उच्च मात्रा process हो रही हो।

एक बार जब आप अपने `dev` session के साथ समाप्त हो जाते हैं, तो आपको अपने recent local changes को वापस अपने live AWS Lambda फ़ंक्शनों पर push करने के लिए `serverless deploy` का उपयोग करके पुनः deploy करना ही होगा—अन्यथा आपके AWS Lambda फ़ंक्शन विफल हो जाएँगे(!)

dev mode के बारे में अधिक विवरण [यहाँ](https://www.serverless.com/framework/docs/providers/aws/cli-reference/dev) पाए जा सकते हैं।

<br/>

## Invoking

Cloud पर अपने AWS Lambda फ़ंक्शन को invoke करने के लिए, आप `serverless deploy` आउटपुट में API endpoints वाले अपने फ़ंक्शनों के लिए URLs पा सकते हैं, या `serverless info` के माध्यम से उन्हें प्राप्त कर सकते हैं। यदि आपके फ़ंक्शनों में API endpoints नहीं हैं, तो आप `invoke` कमांड का उपयोग कर सकते हैं, जैसे:```bash
sls invoke -f hello

# Invoke and display logs:
serverless invoke -f hello --log

invoke कमांड के अधिक विवरण यहाँ पाए जा सकते हैं।


फ़ंक्शन डिप्लॉय करें

कोड परिवर्तनों को तेज़ी से डिप्लॉय करने के लिए, आप serverless deploy कमांड को छोड़ सकते हैं, जो कि बहुत धीमा है क्योंकि यह पूर्ण AWS CloudFormation अपडेट ट्रिगर करता है, और केवल किसी विशिष्ट AWS Lambda फ़ंक्शन में कोड और कॉन्फ़िगरेशन परिवर्तनों को डिप्लॉय कर सकते हैं।

सेकंडों में अलग-अलग AWS Lambda फ़ंक्शनों में कोड और कॉन्फ़िगरेशन परिवर्तनों को डिप्लॉय करने के लिए, deploy function कमांड का उपयोग करें, जिसमें -f [function name in serverless.yml] को उस फ़ंक्शन पर सेट करें जिसे आप डिप्लॉय करना चाहते हैं।```text serverless deploy function -f my-api

More details on the `deploy function` command can be found [यहाँ](https://www.serverless.com/framework/docs/providers/aws/cli-reference/deploy-function).

<br/>

## स्ट्रीमिंग लॉग्स

आप AWS Cloudwatch से लॉग्स को सीधे अपने टर्मिनल पर स्ट्रीम करने के लिए Serverless Framework का उपयोग कर सकते हैं। एक अलग टर्मिनल विंडो में `sls logs` कमांड का उपयोग करें:```bash
sls logs -f [Function name in serverless.yml] -t

-f विकल्प द्वारा किसी विशिष्ट फ़ंक्शन को लक्षित करें और -t विकल्प द्वारा tailing (यानी स्ट्रीमिंग) सक्षम करें।


पूर्ण स्थानीय विकास

कई Serverless Framework उपयोगकर्ता अपने संपूर्ण serverless आर्किटेक्चर को स्थानीय रूप से एमुलेट करना चुनते हैं। कृपया ध्यान दें, AWS Lambda और अन्य क्लाउड सेवाओं का एमुलेशन कभी सटीक नहीं होता है और यह प्रक्रिया जटिल हो सकती है, खासकर जब आपका प्रोजेक्ट और टीम के सदस्य बढ़ते हैं। V.4 से, हम personal stages के साथ नए dev मोड का उपयोग करने की अत्यधिक अनुशंसा करते हैं।

यदि आप वाकई स्थानीय रूप से विकास करना चुनते हैं, तो हम निम्नलिखित कार्यप्रवाह की अनुशंसा करते हैं...

अपने फ़ंक्शन को स्थानीय रूप से invoke करने के लिए invoke local कमांड का उपयोग करें:```bash sls invoke local -f my-api

आप इस स्थानीय आह्वान (local invocation) में विभिन्न तरीकों से डेटा भी पास कर सकते हैं। उनमें से एक यह है:```bash
sls invoke local --function functionName --data '{"a":"bar"}'

invoke local कमांड के बारे में अधिक विवरण यहाँ पाए जा सकते हैं।

Serverless Framework में एक बेहतरीन प्लगइन भी है जो आपको स्थानीय रूप से सर्वर चलाने और AWS API Gateway का अनुकरण करने की अनुमति देता है। यह serverless-offline प्लगइन है।

अधिक विवरण serverless-offline दस्तावेज़ में पाए जा सकते हैं।


प्लगइन्स का उपयोग करें

Serverless Framework का एक बड़ा लाभ इसके प्लगइन इकोसिस्टम में है।

प्लगइन्स Serverless Framework को विस्तारित या अधिलेखित करते हैं, जिससे इसे नए उपयोग-मामले या क्षमताएँ मिलती हैं, और इनकी संख्या सैकड़ों में है।

ध्यान दें कि कुछ पहले लोकप्रिय प्लगइन्स की अब आवश्यकता नहीं है — उनकी कार्यक्षमता अब फ्रेमवर्क में निर्मित है, जिसमें Python requirements, custom domains, AppSync, Prune, और API Gateway Service Proxy शामिल हैं।

कुछ सबसे सामान्य प्लगइन्स निम्नलिखित हैं:

  • Serverless Offline - अपने Serverless प्रोजेक्ट को विकसित करते समय AWS Lambda और API Gateway का स्थानीय रूप से अनुकरण करें।
  • Serverless Step Functions - AWS Step Functions आर्किटेक्चर बनाएँ।

आप serverless plugin install --name pluginName के साथ अपनी सेवा में एक प्लगइन जोड़ सकते हैं, जो इसे npm के माध्यम से इंस्टॉल करता है और आपकी serverless.yml में पंजीकृत करता है।


सेवाओं को संयोजित करना

Serverless Framework Compose आपको एक साथ कई Serverless Framework सेवाओं के साथ काम करने और निम्नलिखित करने की अनुमति देता है...

  • कई सेवाओं को समानांतर में डिप्लॉय करें
  • सेवाओं को एक विशिष्ट क्रम में डिप्लॉय करें
  • एक सेवा से दूसरी सेवा में आउटपुट साझा करें
  • कई सेवाओं में कमांड चलाएँ

यहाँ एक प्रोजेक्ट संरचना कैसी दिख सकती है:```bash my-app/ service-a/ src/ ... serverless.yml service-b/ src/ ... serverless.yml

सर्वरलेस फ्रेमवर्क कंपोज़ का उपयोग करने के लिए एक `serverless-compose.yml` फ़ाइल की आवश्यकता होती है। इसमें, आप निर्दिष्ट करते हैं कि आप कौन सी Services तैनात करना चाहते हैं। आप एक Service से दूसरी Service में डेटा भी साझा कर सकते हैं, जो एक डिप्लॉयमेंट क्रम भी बनाता है।```yaml
# serverless-compose.yml

services:
  service-a:
    path: service-a

  service-b:
    path: service-b
    params:
      queueUrl: ${service-a.queueUrl}

किसी अन्य Service द्वारा विरासत में प्राप्त किए जाने वाले Outputs को आमतौर पर AWS CloudFormation Outputs के रूप में परिभाषित किया जाता है:```yaml

service-a/serverless.yml

...

resources: Resources: MyQueue: Type: AWS::SQS::Queue # ... Outputs: queueUrl: Value: !Ref MyQueue

यह मान `service-b` को [एक पैरामीटर के रूप में](https://www.serverless.com/framework/docs/guides/parameters) पारित किया जाएगा जिसका नाम `queueUrl` है। Serverless Framework कॉन्फ़िगरेशन में पैरामीटरों को `${param:xxx}` सिंटैक्स के माध्यम से संदर्भित किया जा सकता है:```yaml
# service-b/serverless.yml

provider:
  ...
  environment:
    # Here we inject the queue URL as a Lambda environment variable
    SERVICE_A_QUEUE_URL: ${param:queueUrl}

More details on Serverless Framework Compose can be found यहाँ.


सहायता कमांड

Serverless Framework V.4 में, हमने serverless support कमांड पेश किया है, जो एक प्रमुख विशेषता है जो आपको समस्या रिपोर्ट उत्पन्न करने, या सीधे हमारी सहायता टीम से जुड़ने की सुविधा देता है। यह स्वचालित रूप से प्रासंगिक संदर्भ शामिल करता है और सीक्रेट्स और खाता जानकारी जैसी संवेदनशील जानकारी को छोड़ देता है, जिसे आप सबमिट करने से पहले जांच सकते हैं। यह सुव्यवस्थित प्रक्रिया सुनिश्चित करती है कि आपकी समस्याओं का समाधान शीघ्र और सुरक्षित रूप से किया जाए।

इस सुविधा का उपयोग करने के लिए, किसी त्रुटि या किसी भी कमांड के बाद, चलाएँ:```bash sls support

प्रत्येक कमांड के बाद, चाहे वह सफल हो या नहीं, संदर्भ आपकी वर्तमान कार्यशील निर्देशिका में `.serverless` फ़ोल्डर में सहेजा जाता है।

नया सपोर्ट टिकट खोलने के लिए, `sls support` कमांड चलाएँ और `Get priority support...` चुनें। वैकल्पिक रूप से, आप उत्पन्न रिपोर्ट की समीक्षा और संपादन कर पाएँगे। सपोर्ट टिकट खोलना केवल उन उपयोगकर्ताओं के लिए उपलब्ध है जो सब्सक्रिप्शन के लिए साइन अप करते हैं।

आप नया सपोर्ट टिकट जमा किए बिना भी रिपोर्ट उत्पन्न कर सकते हैं। यह दूसरों के साथ संदर्भ साझा करने, Github issues खोलने, या ChatGPT जैसे AI प्रॉम्प्ट के साथ उपयोग करने के लिए उपयोगी है। ऐसा करने के लिए, `sls support` कमांड चलाएँ और `Create a summary report...` या `Create a comprehensive report..` चुनें। आप `sls support --summary` या `sls support --all` चलाकर प्रॉम्प्ट को छोड़ सकते हैं। यह विशेष रूप से रिपोर्ट को क्लिपबोर्ड में कैप्चर करने के लिए उपयोगी है (जैसे `sls support --summary | pbcopy`)।

<br/>

## अपनी सेवा हटाएँ

यदि आप अपनी सेवा हटाना चाहते हैं, तो `remove` चलाएँ। यह आपके प्रोजेक्ट द्वारा बनाए गए सभी AWS संसाधनों को हटा देगा और सुनिश्चित करेगा कि आपको कोई अप्रत्याशित शुल्क नहीं लगे। यह सेवा को Serverless Dashboard से भी हटा देगा।```bash
sls remove

remove कमांड के बारे में अधिक विवरण यहाँ पाए जा सकते हैं।


आगे क्या

Serverless Framework के साथ जारी रखने में सहायक कुछ संसाधन यहाँ दिए गए हैं:


समुदाय

सुरक्षा और बग प्रकटीकरण

हम सुरक्षा को गंभीरता से लेते हैं। यदि आपको कोई सुरक्षा समस्या मिलती है, तो कृपया [email protected] पर संपर्क करके इसका जिम्मेदारीपूर्वक खुलासा करें। जब तक हम उन्हें संबोधित नहीं कर लेते, कृपया कमजोरियों का सार्वजनिक रूप से खुलासा न करें।

अधिक विवरण के लिए, हमारी सुरक्षा नीति देखें।

श्रेणियाँ