aws sam cli是一个用于本地开发和测试无服务器应用程序的cli工具
aws-sam-cli的Python项目详细描述
aws sam(测试版)
aws无服务器应用程序模型(sam)是一个用于构建无服务器应用程序的开源框架。 它提供了表示函数、api、数据库和事件源映射的简写语法。 只需几行配置,就可以定义所需的应用程序并对其建模。
开始
要开始构建基于sam的应用程序,请使用sam cli。sam cli提供类似lambda的执行 允许您在本地生成、测试、调试和部署由sam模板定义的应用程序的环境。
下一步:学习构建更复杂的无服务器应用程序。
- Extract text from images and store in a database使用amazon s3和amazon重新登录服务。
- Detect when records are added to a database使用amazon dynamodb数据库和异步流处理。
详细引用:深入解释sam命令和用法。
为什么选择sam
单一部署配置。sam使组织相关组件和资源变得容易,并且可以在单个堆栈上操作。您可以使用sam在资源之间共享配置(如内存和超时),并将所有相关资源作为一个单独的、版本化的实体部署在一起。
本地调试和测试。使用sam cli在类似lambda的执行环境中本地构建、测试和调试sam应用程序。它通过帮助您在本地查找和解决问题(这些问题只有在部署到云中之后才能识别)来收紧开发循环。
与开发工具的深度集成。你可以用sam和一套你喜欢和使用的工具。
- IDE:PyCharm,IntelliJ,Visual Studio Code,Visual Studio,AWS Cloud9
- 构建:CodeBuild
- 部署:CodeDeploy,Jenkins
- 连续输送管道:CodePipeline
- 探索无服务器应用程序和模式:AWS Serverless Application Repository
内置最佳实践。您可以使用sam将基础结构定义为配置并部署。这使得您可以通过代码检查来使用和实施最佳实践。另外,通过几行配置,您可以通过codeploy启用安全部署,并可以使用aws x-ray启用跟踪。
aws cloudformation的扩展。因为sam是aws cloudformation的扩展,所以您可以获得aws cloudformation的可靠部署功能。您可以在sam模板中使用cloudformation来定义资源。此外,您还可以使用cloudformation中可用的全套资源、内部函数和其他模板功能。
这个github存储库是什么?
此github存储库包含sam cli的源代码。以下是开发团队正在讨论的代码:
SAM CLI code is written in Python. Source code is well documented, very modular, with 95% unit test coverage. It uses this awesome Python library called Click to manage the command line interaction and uses Docker to run Lambda functions locally. We think you'll like the code base. Clone it and run
make pr
!
为sam做出贡献
我们爱我们的贡献者,我们有超过100个贡献者,他们为我们的产品制造了不同的部件。 阅读这篇testimonial from @ndobryanskyy来学习 更多关于为山姆做贡献的感受。
根据您的兴趣和技能,您可以帮助构建sam项目的不同部分;
增强sam规范
提出请求,报告错误,并分享改进完整sam模板规范的想法。 源代码位于github上的awslabs/serverless-application-model。 阅读SAM Specification Contributing Guide 开始吧。
加强sam cli
添加新命令或增强现有命令、报告错误或请求山姆CLI的新特性。 源代码位于github上的awslabs/aws-sam-cli。阅读SAM CLI Contributing Guide到 开始吧。
update sam developer guide
SAM Developer Guide提供了理解ve入门指南和参考文档。 源代码位于github上的awsdocs/aws-sam-developer-guide。 阅读SAM Documentation Contribution Guide获得 起动。
在Slack上加入Sam社区
Join the SAM developers channel (#samdev)在slack上与其他社区成员和aws sam团队协作。