使用AWS Chalice管理AWS Lambda的AWS帐户

2021-03-15 11:46:08

AWS Chalice(加入我们的社区休闲频道)是亚马逊网络服务'基于AWS Lambda的基于AWS Lambda编写无限可扩展的无服务器的Python应用程序的首选解决方案。 Chalice通过Chalice生成管道提供可扩展的构建过程,允许您协调任何依赖项或输出的部署(Chalice Deploy),例如在CDK中编写的基础架构代码,可执行的工件,后端API或前端应用程序。 Chalice适合:

将Web API后端层提供给跨平台的Win / Mac / Linux / Android / IOS桌面以及在Qt for Python(Pyside6)中编写的移动应用程序。

Chalice' S设计基于装饰器。它是由AWS Chalice团队编写的。将Chalice视为您的主要入学点,无论您想要在AWS,还是在云端。

AWS Cloud Development Kit(CDK)AWS.Azon.com AWS CDK是用JavaScript编写的,并且通过JSII提供了Python。使用Chalice-CDK CDK构造Chalice,您可以通过CDK部署部署Chalice应用程序。或者,与Chalice' Chalice生成 - 管道可扩展性构建过程,您可以在部署Chalice应用程序时部署CDK基础架构。换句话说,您可以使用CDK部署Chalice应用程序,或使用Chalice部署CDK应用程序。如果您主要编写Chalice应用程序,则可以使用CDK主要用于部署基础架构层。

AWS Solutions构造模式AWS.AMAZON.com这些是AWS CDK的审计架构模式,允许您轻松地将多个产品组合在一起,并将这些图案连锁在一起。许多图案本质上无服务。

AWS Farstress Application Repository Aws.Amazon.com将这些无服务器应用程序织成Chalice应用程序,例如AthenadyNamodBonnector,它允许您通过Athena使用SQL查询DynamoDB。请注意,虽然许多人由AWS团队发布,但其中一些申请由第三方发布,并且应该在投入生产之前进行评估。

JSII Github JSII是借助AWS CDK从JavaScript泛化到Python的库。您可以使用JSII来调用CDK代码,该代码可能在CDK构造中可能没有接地到Python。

Aurora无服务器全局数据库2 AWS.Azon.com用于Chalice应用程序的无服务员OLTP数据库,可将缩放为每秒数十万台的交易,具有最多5个区域的辅助集群复制。谣言具有它运行Amazon.com。

AWS放大Docs.amplify.aws,特别是在JavaScript中编写的放大UI组件。 Chalice可以轻松创建基于路由的API,包装繁重的升降,而放大有助于使用前端JavaScript,例如基于反应的无功编程。您可以使用Chalice'通过Cognito用户池进行授权,您可以使用Chalice-GraphQL第三方库对GraphQL进行放大和#39。您还可以使用Amplify CLI来部署Chalice应用程序。

Amazon Athena联邦查询Docs.Aws.Amazon.com这允许您编写Athena -Data源连接器 - Lambda函数,可用于跨混合数据源进行查询,以实现您的Ad-hoc数据湖的网状拓扑。您可以使用其使用其创建纯Lambda函数的Chalice编写这些数据源连接器,并使用SQLalchemy等第三方模块在SQL中从Chalice中运行Chalice的联邦查询。

AWS SDK for python(boto3)boto3.amazonaws.com除了为大多数AWS服务提供Python接口外,亚马逊通常会将新服务的Setup / Teardown代码作为Boto3脚本(即AWS侦探和AWS GuardDuty)发布CloudFormation或CDK。您可以修改这些脚本以从Chalice运行。还有一个-Asynchronous-verss的boto3可用,它与Python 3' s内置异步兼容,等待异步编程关键字。使用AIOboto3,您可以例如执行大规模并行写入并读取到S3或DynamoDB。

AWS X-Ray SDK for python docs.aws.azon.com Python的X-Ray SDK是一个必须使用X-Ray控制台来跟踪和可视化基于Chalice的微服务架构。此外,该SDK可以动态地将描绘成用于Chalice的其他库,例如Boto3,Aioboto3,PyNamodb,SQLite3,Psycopg2,Pymongo和Pymysql使用来自AWS_XRAY_SDK.core导入Patch_all; patch_all();

AWS IOT SDK for Python Github将物联网添加到Chalice应用程序。这对与Chalice'基于Kinesis流的事件的内置支持。对于GreenGrass,还有一个Python SDK for GreenGrass,它在GreenGrass IOT边缘设备上运行Lambda函数。这些函数可以通过IoT - &gt触发Chalice中的应用程序逻辑; Kinesis流。

AWS C Common Runtime GitHub最高性能Python-On-AWS应用程序可能会使用AWS C Common Runtime,它写入.. C!你' ll需要使用aws crt python模块来使魔法发生。

AWS加密SDK for python github这是一个客户端加密库,这意味着使用aws托管的硬加密的库,在应用程序逻辑中。

AWS Sagemaker SDK for Python Github此SDK允许您在Py​​thon中从Chalice中培训和部署Python的机器学习模型,如框架,例如在Sagemaker中创建的框架。它还支持托管Apache SparkML模型,允许您与AWS EMR集群集成。

AWS Step函数Data Science SDK for Python Github这款SDK是为想要创建训练和发布机器学习模型的工作流的数据科学家,如AWS步骤功能的协调,而无需担心供应基础架构。

AWS Braket SDK for Python Github此SDK允许您与Chalice的AWS Braket上的D-Wave Quantum Computing设备与D-Wave Quantum Computing设备进行交互,从而从Quantum退火到随机数生成的应用。

AWS样本是AWS创建的示例解决方案体系结构,并在Github上发布。以下是500+ Python示例的完整列表。本节包含最佳无服务器样本,您可以使用它作为灵感。

Sample Serverless解决方案架构在Python中从AWS实验室的架构,这往往比AWS样本更具功能。

Pyside6 Qt.io Pyside6是Python的官方QT模块,用于编写跨平台Win / Mac / Linux / Android / IOS应用程序。使用pyside6和qtquick,您可以非常快速地编写与Chalice集成的桌面Python应用程序。您可以使用Chalice通过Cognito用户池进行身份验证,并为其应用程序编写API图层,这些应用程序由任何AWS服务备份。您可以使用Chalice' S扩展构建系统来创建和发布跨平台QT可执行文件。

HY:用Python Hylang.org HY编写的Lisp是Lisp系列中的多范式通用编程语言,灵感来自Clojure并用Python编写。您可以将其与管道Chaliceλ功能一起使用(功能编程),实现基于Lambda的编程,这是Linux命令行上的Bash管道毫不费力的编程。您可以在同一文件中混合HY和Python。

Toolz:迭代器,函数和词典的一组实用程序功能Github Toolz是一个Python模块,允许您导入功能编程原语,超越Python' s内置地图 - 减少筛选案例。

LucidChart Lucid.App Lucid是手工制作AWS解决方案架构图的首要工具。他们默认拥有2017和2019 AWS图标包,您还可以从亚马逊下载最新的AWS架构图标,并将其上传到LucidChart。

AWS Toolkit for pycharm aws.amazon.com amamazon.com amazon用这个aws toolkit抛出了它的重量,这使您能够在Pycharm编辑器中无缝地切换帐户,使用代理和其他功能。还有vscode,Intellij Idea,Eclipse和Jetbrains的AWS工具包。

Anaconda Python分布。 anaconda.com anaconda提供一致的Python开发环境。如果您装入具有它的EFS文件系统,或者您使用容器图像为Lambda函数使用容器图像,则可以在AWS Lambda上使用Anaconda。然而,这与圣餐尚未紧密地集成,但是,它对本地发展工作非常好。

10-2020 AWS Chalice现在支持Amazon Kinesis和Amazon Dynamodb通过将Chalice与DynamoDB Streams集成了Chalice,您可以使用DynamoDB' S ablity创建复杂的业务逻辑以触发基于事件的Lambda功能。

09-2020使用AWS Lambda层与AWS Chalice AWS博客与自动Lambda图层,您不必等待您的大型Lambda层,每次部署应用程序时都会上传。

08-2020使用AWS Chalice和Lambda Powertools AWS博客后,您可以使用AWS X射线跟踪,并创建每个Lambda调用之前,期间和之后调用的中间件代码。

07-2020创建低延迟,具有配置并发的高卷API,尚未支持框中提供的并发,但计划。 GitHub.

06-2020 AWS Chalice现在支持Yaml Templates AWS博客允许您使用AWS无法申请模型部署Chalice,以便与CloudFormation集成。

06-2020在无服务器应用程序中使用Amazon EFS为AWS Lambda进行AWS博客构建块,用于安装带Chalice的弹性文件系统,应将其与CDK支持相结合。

03-2019模块化Chalice申请团队中型如何利用ChaliCelib目录,使开发人员团队能够在Chalice上工作。

目前的COWARKS MicroFramework Coworks是一个完整的微服务框架,用于Chalice,用于实现业务逻辑的AWS步骤功能,作为DynamoDB事件触发的替代方案。

01-2021 Chalice Github Lambda函数中的Lambda多线程可包含多达6个VCPU核心和10GB RAM,这个简单的例子显示如何在Chalice中使用地图/减少核心。

点击PalletsProjects您可以配对烧瓶'点击项目以装饰您的Chalice应用程序以便拥有CLI。