इस प्रोजेक्ट के बारे में

AWS सर्वरलेस एप्लिकेशन मॉडल (SAM) ट्रांसफ़ॉर्म एक ओपन-सोर्स CloudFormation मैक्रो है जो सरलीकृत SAM टेम्पलेट्स को मानक CloudFormation टेम्पलेट्स में अनुवादित करता है। यह CloudFormation की मूल सिंटैक्स को उच्च-स्तरीय संसाधन प्रकारों जैसे AWS::Serverless::Function, AWS::Serverless::Api, और AWS::Serverless::SimpleTable के साथ विस्तारित करता है, जिससे डेवलपर्स कम बॉयलरप्लेट के साथ सर्वरलेस एप्लिकेशन परिभाषित कर सकते हैं। मुख्य क्षमताओं में शामिल हैं: - **टेम्पलेट रूपांतरण**: SAM संसाधन प्रकारों को सक्षम करने के लिए CloudFormation टेम्पलेट में `Transform: AWS::Serverless-2016-10-31` जोड़ता है। ट्रांसफ़ॉर्म शॉर्टहैंड परिभाषाओं को उनके पूर्ण CloudFormation समकक्षों में विस्तारित करता है, जिसमें IAM भूमिकाएं, अनुमतियां, और इवेंट स्रोत मैपिंग शामिल हैं। - **बिल्ट-इन सर्वोत्तम प्रथाएं**: न्यूनतम-विशेषाधिकार नीतियों के साथ IAM भूमिकाएं स्वचालित रूप से प्रदान करता है, AWSLambdaBasicExecutionRole जैसी प्रबंधित नीतियां संलग्न करता है, और रनटाइम, हैंडलर, और टाइमआउट सेटिंग्स के लिए उचित डिफ़ॉल्ट लागू करता है। - **स्थानीय परीक्षण और डिबगिंग**: AWS SAM CLI (sam sync, sam local invoke, sam local start-api) के साथ एकीकृत होता है ताकि AWS पर तैनात करने से पहले सर्वरलेस एप्लिकेशन को स्थानीय रूप से चलाया और परीक्षण किया जा सके। - **नीति टेम्पलेट्स और कनेक्टर**: कई संसाधनों में अनुमति प्रबंधन को सरल बनाने के लिए पुन: प्रयोज्य IAM नीति टेम्पलेट्स और संसाधन कनेक्टर का समर्थन करता है। - **मल्टी-रनटाइम समर्थन**: Node.js, Python, Java, Go, .NET, और Ruby सहित Lambda रनटाइम के साथ-साथ कंटेनर इमेज परिनियोजन के साथ काम करता है। यह प्रोजेक्ट Python (3.8+) में लिखा गया है और PyPI पर `aws-sam-translator` पैकेज के रूप में प्रकाशित है। विकास में `make init` के साथ निर्भरता सेटअप और `make pr` के साथ परीक्षण सूट चलाने के लिए Makefile-आधारित वर्कफ़्लो का उपयोग किया जाता है। रिपॉजिटरी में बिल्ड परीक्षण और स्कीमा अपडेट के लिए CI वर्कफ़्लो शामिल हैं, और Gitpod के माध्यम से योगदान का समर्थन करता है। विशिष्ट उपयोग में YAML या JSON में SAM टेम्पलेट लिखना, इसे SAM CLI या सीधे CloudFormation के माध्यम से तैनात करना, और अंतर्निहित इंफ्रास्ट्रक्चर उत्पन्न करने के लिए ट्रांसफ़ॉर्म का लाभ उठाना शामिल है। यह प्रोजेक्ट व्यापक दस्तावेज़ीकरण भी प्रदान करता है जिसमें एक डेवलपर गाइड, टेम्पलेट विनिर्देश, और AWS पर सर्वरलेस विकास सीखने के लिए कार्यशाला ट्यूटोरियल शामिल हैं।