更好的aws lambda处理程序。

aws-lambda-handler的Python项目详细描述


CircleCIcodecov

aws lambda处理程序

更好的python3awslambda处理程序。

目前,为aws lambda制作python处理程序的唯一选择是创建这样的函数:

def handler(event, context):
    return True

如果开始处理多个处理程序,或者希望提供可配置且可重用的处理程序,则这并不理想。这个包提供了三个基类,HandlerRequestResponse处理程序。

Handler类是一个callable,您可以在此基础上创建一个子类,并将其实例化,这就是您配置awsλ调用的内容。

你的Handler必须有一个perform(self, request)方法,这个方法包含你的处理程序的业务逻辑,Handler.__call__执行这个函数并期望有一个Response对象。

Response对象的行为类似于字典和对象,名为serialized的属性返回给awsλ。

perform(self, request)中的request参数是一个Request对象,它包含awsλ传递给处理程序的eventcontext参数。将这些处理程序参数打包到一个对象中可以进行透明的转换,请参见^{}以获取参考。

这个库的基础很小,我建议复习main classes来进一步理解如何使用这个包。

使用量

pip install aws-lambda-handler
importaws_lambdaclassEchoHandler(aws_lambda.Handler):"""Echo handler."""defperform(self,request,**k):"""Echo perform method."""response=aws_lambda.Response()response.body=self.request.eventreturnresponseecho_handler=EchoHandler()# `echo_handler` is now a callable function you can map your AWS Lambda function to

发展

离开这个库并通过prs发送,如果您的两个prs合并并发布,我将考虑为贡献者提供应用程序。

pipenv sync --dev # setup
pipenv run pytest # test

支持的事件源

  • [X]API网关aws_lambda.apig
  • []s3
  • []发电机
  • []社交网站
  • []SES
  • []平方秒
  • []干邑
  • []CloudWatch日志、事件

帮助

我们希望得到更多活动来源的支持,我愿意接受公关。可以使用aws_lambda.apig子模块作为实现更多事件源的示例。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何通过编程将Android置于待机状态?   java mavenjarsignerplugin在Jenkins构建期间失败,但不是在命令行上   java创建具有公共ipv4地址的HttpServer   将数据从jsp传递到servlet的java返回null   Web应用程序中的java JDBC数据库连接   java无法显示unicode字符   java webview应用程序未上载图片或视频   Android客户端Java服务器,如果订单处理方式不正确,客户端将无法连接   java在不复制备份表的情况下创建备份表   集合如何在Java中实现列表折叠   java如何配置在JBoss7中使用EntityListeners?   java JVM ClassUnloadingWithConcurrentMark标志   java如何在Maven中排除特定的单元测试   java线程在SynchronousQueue中执行put操作后挂起   java中的hibernate Comparator和可比较的负面场景   数组中的java连接元素   拖放Java,让面板落在鼠标事件上   java是一种事务管理应用程序,无需在方法上使用@transactional   java有没有办法从安卓的软键板上删除这一行?