
SAM टेम्पलेट्स को CloudFormation संसाधनों में रूपांतरित करता है, तथा बिल्ट-इन सर्वरलेस सर्वोत्तम प्रथाओं के साथ Lambda फ़ंक्शन, IAM भूमिकाएँ और पॉलिसियाँ उत्पन्न करता है।
AWS Serverless Application Model (AWS SAM) ट्रांसफ़ॉर्म एक AWS CloudFormation मैक्रो है जो SAM टेम्पलेट्स को CloudFormation टेम्पलेट्स में रूपांतरित करता है।
SAM ट्रांसफ़ॉर्म का उपयोग करने के लिए, अपने CloudFormation टेम्पलेट के Transform अनुभाग में AWS::Serverless-2016-10-31 जोड़ें।
SAM ट्रांसफ़ॉर्म का उपयोग करने के लाभों में शामिल हैं:
निम्नलिखित को template.yaml के रूप में सहेजें:
Transform: AWS::Serverless-2016-10-31
Resources:
MyFunction:
Type: AWS::Serverless::Function
Properties:
Runtime: nodejs24.x
Handler: index.handler
InlineCode: |
exports.handler = async (event) => {
console.log(event);
}
और इसे SAM CLI के साथ तैनात करें:
sam sync --stack-name sam-app
यह AWS::Serverless::Function संसाधन एक AWS Lambda फ़ंक्शन बनाएगा जो प्राप्त होने वाले इवेंट्स को लॉग करता है।
पर्दे के पीछे, टेम्पलेट निम्नलिखित CloudFormation टेम्पलेट के JSON समकक्ष में रूपांतरित हो जाता है:
Resources:
MyFunction:
Type: AWS::Lambda::Function
Properties:
Code:
ZipFile: |
exports.handler = async (event) => {
console.log(event);
}
Handler: index.handler
Role: !GetAtt MyFunctionRole.Arn
Runtime: nodejs24.x
Tags:
- Key: lambda:createdBy
Value: SAM
MyFunctionRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument:
Version: "2012-10-17"
Statement:
- Action:
- sts:AssumeRole
Effect: Allow
Principal:
Service:
- lambda.amazonaws.com
ManagedPolicyArns:
- arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
Tags:
- Key: lambda:createdBy
Value: SAM
अधिक विस्तृत परिचय के लिए, Developer Guide में यह ट्यूटोरियल देखें।
आपके पास Python 3.8+ स्थापित होना आवश्यक है।
एक वर्चुअल वातावरण बनाएं:
python3 -m venv .venv
source .venv/bin/activate
निर्भरताएँ सेट करें:
make init
परीक्षण चलाएँ:
make pr
आगे के विकास निर्देशों के लिए DEVELOPMENT_GUIDE.md देखें, और योगदान दिशानिर्देशों के लिए CONTRIBUTING.md देखें।
टीम के साथ बातचीत करने का सबसे अच्छा तरीका GitHub के माध्यम से है। आप एक इश्यू बनाएं या चर्चा शुरू करें।
आप Slack पर #samdev चैनल में भी शामिल हो सकते हैं।