更好的aws lambda处理程序。

mutton的Python项目详细描述


CircleCIcodecov

羊肉

更好的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 mutton
importmuttonclassEchoHandler(mutton.Handler):"""Echo handler."""defperform(self,request,**k):"""Echo perform method."""response=mutton.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网关mutton.apig
  • []s3
  • []发电机
  • []社交网站
  • []SES
  • []平方秒
  • []干邑
  • []CloudWatch日志、事件

帮助

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

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

推荐PyPI第三方库


热门话题
安卓中通过TCP发送时java文件损坏   Java测试预期=异常失败,断言错误   java ssh4 LazyInitializationException   java是否可以在集合中添加重复项?   java是一个免费的开源数据库管理工具   java是否可以在导出的html中嵌入图像   编译器构造解释一些东西,并用Java运行生成的字节码?   java KeyPairGenerator未生成随机密钥   java使用正则表达式生成字符串而不是匹配字符串   java中的多线程线程间通信   具有复合密钥的java Hibernate合并问题   java不能在MainActivity类之外使用SharedReferences变量   正在获取切割/零件异常消息。使用java Spring ControllerAdvice   java tomcat漏洞讨论   javascript在Java中实现“system”命令   java如何在JUnit5*中加载*Spring测试上下文之前获取回调?   java bluej关于缺少返回语句   JavaSpringBoot@ModelAttribute包含使用字符串键的其他模型   从可选中抛出异常。ifPresent()Java 8