在Sam中部署Lambda
目录 (mù lù)
・Sam的安装
・初始化Sam
・构建Sam
・创建samconfig.toml文件
・部署Sam
山姆的引进 de
使用brew进行安装
$ brew tap aws/tap
$ brew install aws-sam-cli
或者通过pip安装
$ pip install aws-sam-cli
使用sam init
我会以对话形式来创建项目。
$ sam init
Which template source would you like to use?
1 - AWS Quick Start Templates
2 - Custom Template Location
Choice: 1
What package type would you like to use?
1 - Zip (artifact is a zip uploaded to S3)
2 - Image (artifact is an image uploaded to an ECR image repository)
Package type: 1
Which runtime would you like to use?
1 - nodejs14.x
2 - python3.8
3 - ruby2.7
4 - go1.x
5 - java11
6 - dotnetcore3.1
7 - nodejs12.x
8 - nodejs10.x
9 - python3.7
10 - python3.6
11 - python2.7
12 - ruby2.5
13 - java8.al2
14 - java8
15 - dotnetcore2.1
Runtime: 1
Project name [sam-app]: Test
Cloning from https://github.com/aws/aws-sam-cli-app-templates
AWS quick start application templates:
1 - Hello World Example
2 - Step Functions Sample App (Stock Trader)
3 - Quick Start: From Scratch
4 - Quick Start: Scheduled Events
5 - Quick Start: S3
6 - Quick Start: SNS
7 - Quick Start: SQS
8 - Quick Start: Web Backend
Template selection: 1
-----------------------
Generating application:
-----------------------
Name: Test
Runtime: nodejs14.x
Dependency Manager: npm
Application Template: hello-world
Output Directory: .
Next steps can be found in the README file at ./Test/README.md
用本地环境调用sam
因为启动了一个简易的项目,所以我会立刻试着运行它。
$ sam local invoke
{"statusCode":200,"body":"{\"message\":\"hello world\"}"}
您可以通过使用Docker在本地环境进行验证。
$ sam local invoke -e path/event.json
当您指定-e时,可以指定lambda在执行时要使用的事件信息进行执行。
创建samconfig.toml。
$ sam deploy --guided
我们将使用对话形式创建部署设置文件samconfig.toml。
部署Sam
$ cd .aws-sam/build
$ sam deploy
如果部署成功,那就没问题了。
您可以从CloudFormation的管理控制台中确认部署情况。
此外,在Lambda中您也可以对函数进行测试执行。
因为可以尝试许多不同的事情,所以一旦有了信息的整理,我会进行更新。