AWS 24 AWS_Serverless_SAM_Serverless_Application_Model


AWS SAM

?SAM=Serverless Application Model
?开发和部署无服务器应用程序的框架
?所有配置均为YAML代码
?从简单的SAM YAML文件生成复杂的云信息
?支持CloudFormation中的任何内容:输出、映射、参数,资源…
?只有两个命令可部署到AWS
?SAM可以使用CodeDeploy部署Lambda功能
?SAM可以帮助您在本地运行Lambda、API Gateway和DynamoDB

AWS SAM-Recipe 配方
?Transform Header表示其SAM模板:
?Transform:'AWS::Serverless-2016-10-31'

?编写代码
?AWS::Serverless::Function
?AWS::Serverless::Api
?AWS::Serverless::SimpleTable

?打包和部署:
? aws cloudformation package / sam package
? aws cloudformation deploy / sam deploy

Deep Dive into SAM Deployment
(SAM Template)
Build the application locally
(CloudFormat Template)
=》 Package the application
S3 Bucket
=》 Deploy the application
CloudFormation

SAM–CLI调试
?本地构建、测试和调试使用AWS SAM模板定义的无服务器应用程序
?在本地提供类似lambda的执行环境
?SAM CLI+AWS工具包=>逐步完成并调试代码
?支持的IDE:AWS Cloud9、Visual Studio代码、JetBrains、PyCharm、IntelliJ…
?AWS工具包:IDE插件,允许您构建、测试、调试、部署和调用使用AWS SAM构建的Lambda函数

----------------------------------------------------------------------------------------

SAM策略模板
?向Lambda函数应用权限的模板列表
?此处提供完整列表:https://docs.aws.amazon.com/serverless-应用程序-model/latest/developerguide/serverless-策略模板。html#无服务器策略-模板表
?重要例子:
?S3ReadPolicy:为S3中的对象提供只读权限
?SQSPollerPolicy:允许轮询SQS队列
?DynamoDBCrudPolicy:CRUD=创建读取更新删除

SAM和CodeDeploy
?SAM框架本机使用CodeDeploy更新Lambda功能
?交通转移功能
?前交通钩和后交通钩功能,以验证部署
(交通换班开始前和结束后)
?使用CloudWatch警报轻松自动回滚

SAM——考试总结
?SAM建立在云结构之上
?SAM需要转换和资源部分
?需要了解的命令:
?sam构建:获取依赖项并创建本地部署工件
?sam包:打包并上传到Amazon S3,生成CF模板
?sam部署:部署到CloudFormation
?SAM策略模板,便于IAM策略定义
?SAM与CodeDeploy集成,以便部署到Lambda别名

----------------------------------------------------------------------------------------

无服务器应用程序存储库(SAR)
?用于无服务器应用程序的托管存储库
?应用程序使用SAM打包
?构建和发布可供组织重复使用的应用程序
?可以公开分享
?可以与特定AWS帐户共享
?这可以防止重复工作,直接发布即可
?可以使用环境变量定制应用程序设置和行为