AWS开源并扩展无服务器应用程序模型实现
【资讯】克日,Amazon Web Services(AWS)开源了其无处事器应用措施模子(SAM)实现,并增进了一个面向CloudWatch Logs订阅过滤器的新变乱源。该版本全面扩展了通过Amazon API网关设置和陈设REST API的选项,个中包罗支持CORS头、地区端点和二进制媒体范例。 无处事器应用措施模子(SAM)是一个开源类型,扩展了AWS的基本办法即代码处事CloudFormation,有特定的资源范例,“行使一种简捷的语法界说无处事器应用措施”。SAM实现了今朝两种可用的CloudFormation转换中的一种,旨在“通过精简AWS基本办法即代码的表达式来简化模板编写”。当模板指定了AWS::Serverless转换时,在行使处理赏罚过的模板建设或更新栈之前,CloudFormation会把更简捷的SAM语法扩展成泛泛的CloudFormation资源范例。 编写SAM应用措施要借助SAM Local CLI,它让你可以“在当地测试函数,从SAM模板启动一个当地API网关,验证SAM模板,天生各类变乱源的样例负载”(之前报道过)。然后,开拓职员可以行使AWS CodePipeline、AWS CodeBuild、CloudFormation和AWS CodeDeploy一连地构建,并通过各类金丝雀或线性流量切换设置慢慢陈设SAM应用措施。还可以通过无处事器应用措施库以及AWS SAM应用措施打包、发明和设置平台(之前报道过)共享兼容的办理方案。 固然SAM类型从一开始就是开源的,但AWS团队必需闭门实现其承认的每一个哀求特征。此刻,AWS开源了将SAM转换成泛泛的CloudFormation模板的代码,低落了社区的参加门槛,这样,任何人都可以实现新特征,并通过pull request和AWS团队相助,加快验收。Samtranslator的源代码遵循Apache 2.0容许协议,已经提供的aws-sam-translator PyPI措施包也会让无处事器社区更轻易“集成其他框架和陈设提供措施”。 除了开源SAM实现外,SAM 1.5版本还增进了一个面向Amazon CloudWatch Logs的新变乱源,当日记动静与特定的过滤器模式相匹配时,会触发一个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 之前的SAM 1.4版本提供了人们凶猛要求的“跨源资源分享(Cross-Origin Resource Sharing,缩写为CORS)”Amazon API网关支持,此刻,只需简朴地指定一个域(尚有一个更细粒度的CORS设置)就可以启用。它还集成了新的API网关地区端点、二进制媒体范例、日记、指标、缓存TTL配置、AWS Lambda函数并发以及各类小改造和Bug修复。下面的模板节选声名白通过Globals段支持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 # [...] 无处事器应用措施模子的源代码包括一份开拓指南、一份扼要计划概述和孝顺准则。个中还包括天生的CloudFormation资源和相干的CloudFormation兼容性。制止今朝,SAM终端用户支持通过AWS Lambda论坛提供,后续会转移到新的AWS无处事器应用措施库论坛。有乐趣与SAM社区及团队相助的开拓职员可以插手AWS SAM开拓者频道(#samdev)。 查察英文原文:AWS Open Sources and Expands Serverless Application Model (SAM) Implementation (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |