博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AWS开源并扩展无服务器应用程序模型(SAM)实现
阅读量:6879 次
发布时间:2019-06-26

本文共 1769 字,大约阅读时间需要 5 分钟。

\

看新闻很累?看技术新闻更累?试试,每天上下班路上听新闻,有趣还有料!

\
\\

近日,Amazon Web Services(AWS)了其无服务器应用程序模型(SAM)实现,并增加了一个面向CloudWatch Logs订阅过滤器的新事件源。该版本了通过Amazon API网关配置和部署REST API的选项,其中包括支持CORS头、区域端点和二进制媒体类型。

\\

(SAM)是一个开源,扩展了AWS的基础设施即代码服务,有特定的资源类型,“使用一种简洁的语法定义无服务器应用程序”。SAM实现了目前两种可用的中的一种,旨在“通过精简AWS基础设施即代码的表达式来简化模板编写”。当指定了转换时,在使用处理过的模板创建或更新栈之前,CloudFormation会把更简洁的SAM语法扩展成平常的。

\\

编写SAM应用程序要借助 CLI,它让你可以“在本地测试函数,从SAM模板启动一个本地API网关,验证SAM模板,生成各种事件源的样例负载”()。然后,开发人员可以使用、、CloudFormation和地构建,并通过各种金丝雀或线性流量切换配置部署SAM应用程序。还可以通过以及AWS SAM应用程序打包、发现和配置平台()共享。

\\

虽然SAM规范从一开始就是开源的,但AWS团队必须闭门实现其认可的每一个请求特性。现在,AWS开源了将SAM转换成平常的CloudFormation模板的代码,降低了社区的参与门槛,这样,任何人都可以,并通过pull request和AWS团队合作,加速验收。的源代码遵循Apache 2.0许可协议,已经提供的 PyPI程序包也会让无服务器社区更容易“集成其他框架和部署提供程序”。

\\

除了开源SAM实现外,版本还增加了一个面向的新事件源,当日志消息与特定的相匹配时,会触发一个Lambda函数:

\\
# [...]\\Resources:\  LogsProcessor:\    Type: AWS::Serverless::Function\    Properties:\      CodeUri: .\      Handler: lambda_function.lambda_handler\      Runtime: python3.6\      Events:\        HelloInfoQSubscription:\          Type: CloudWatchLogs\          Properties:\            LogGroupName: !Ref CloudWatchLambdaLogsGroup\            FilterPattern: Hello InfoQ\
\\

之前的版本提供了人们强烈要求的“(Cross-Origin Resource Sharing,缩写为CORS)”,现在,只需简单地指定一个域(还有一个更细粒度的)就可以启用。它还集成了新的API网关、二进制媒体类型、日志、指标、缓存TTL设置、AWS Lambda以及各种小改进和Bug修复。下面的模板节选说明了通过段支持SAM API网关的简洁性:

\\
---\Transform: AWS::Serverless-2016-10-31\\Globals:\  Api:\    # 允许www.infoq.com调用这个API——SAM将自动\    # 添加AllowMethods,这是该API使用的HTTP方法的列表\    Cors: \"'https://www.infoq.com'\"\\    EndpointConfiguration: REGIONAL\\    BinaryMediaTypes:\      # 在部署时和image/gif、image/png等效\      - image~1gif\      - image~1png\\# [...]\
\\

无服务器应用程序模型的包含一份、一份简要和。其中还包含和相关的。截至目前,SAM终端用户支持通过提供,后续会转移到新的。有兴趣与SAM社区及团队合作的开发人员可以AWS SAM开发者频道(#samdev)。

\\

查看英文原文

转载地址:http://qigfl.baihongyu.com/

你可能感兴趣的文章
资本倍增
查看>>
DataQL 的表达式编译(自创的一种表达式编译算法)
查看>>
9.29PMP每日一题
查看>>
ORACLE 学习笔记1
查看>>
vmware格式转换
查看>>
PHP操作文件函数大全
查看>>
【Practical API Design学习笔记】工厂方法由于构造函数
查看>>
beego mysql in查询
查看>>
git 回退版本
查看>>
Dynamo:亚马逊的高可用性键-值存储(翻译)
查看>>
自动化运维要点
查看>>
推论统计10
查看>>
go mod 在使用私有gitlab时“go-get=1”错误解决
查看>>
Tableau Server 9.1.2 配置集群手册
查看>>
java逻辑运算符
查看>>
org.bson.codecs.configuration.CodecConfigurationException
查看>>
jsoup抓取网页+详细讲解
查看>>
Python实现修改Windows CMD命令行输出颜色(完全解析)
查看>>
HQL语句讲解
查看>>
Java | 源码阅读之Vector对比ArrayList
查看>>