AWS SAM 项目教程
1. 项目的目录结构及介绍
sessions-with-aws-sam/
├── README.md
├── session1/
│ ├── template.yaml
│ └── app.py
├── session2/
│ ├── template.yaml
│ └── app.py
├── session3/
│ ├── template.yaml
│ └── app.py
└── ...
- README.md: 项目的主文档,包含项目的基本介绍和使用说明。
- session1/, session2/, session3/, ...: 每个会话目录包含该会话的代码和配置文件。
- template.yaml: AWS SAM 的模板文件,定义了基础设施即代码(IaC)。
- app.py: 示例应用程序的代码文件。
2. 项目的启动文件介绍
每个会话目录中的 app.py
文件是项目的启动文件。以下是一个示例:
# session1/app.py
import json
def lambda_handler(event, context):
return {
'statusCode': 200,
'body': json.dumps('Hello from Lambda!')
}
- lambda_handler: Lambda 函数的入口点,处理事件和上下文。
3. 项目的配置文件介绍
每个会话目录中的 template.yaml
文件是项目的配置文件。以下是一个示例:
# session1/template.yaml
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Resources:
HelloWorldFunction:
Type: AWS::Serverless::Function
Properties:
Handler: app.lambda_handler
Runtime: python3.8
Events:
HelloWorld:
Type: Api
Properties:
Path: /hello
Method: get
- AWSTemplateFormatVersion: 模板格式版本。
- Transform: AWS SAM 的转换声明。
- Resources: 定义的资源,如 Lambda 函数和 API 事件。
- Handler: 处理函数的入口点。
- Runtime: 运行时环境。
- Events: 触发 Lambda 函数的事件,如 API 请求。
以上是基于 https://github.com/aws-samples/sessions-with-aws-sam.git
项目的教程,包含了项目的目录结构、启动文件和配置文件的介绍。