用于构建cloudformation自定义资源的包装器装饰器

cfn-resource-timeout的Python项目详细描述


cfn-resource-timeout

这个项目是一个decorator和验证系统,它接受 编写自定义资源的枯燥工作。您仍然可以访问 上下文和事件正常,但decorator处理序列化 对云形成的反应和沟通结果。

请参阅cfn-lambda发件人 如果你想在 node.js.节点。

使用量

  1. cfn_resource.py复制到lambda函数的目录中 handler.py,可以使用pip安装。
  2. 使用cfn_resource.Resource事件装饰器装饰您的 类似于example.py
  3. 中的处理程序
  4. 压缩内容并上传到lambda

一旦函数启动,复制其arn并将其用作 你的custom resource。 有关您可能收到的请求的详细信息,请参见this document

{"AWSTemplateFormatVersion":"2010-09-09","Resources":{"FakeThing":{"Type":"Custom::MyResource","Properties":{"ServiceToken":"arn:aws:lambda:SOME-REGION:ACCOUNT:function:FunctionName","OtherThing":"foobar","AnotherThing":2}}}}

有关自定义资源如何工作的详细信息,请参见AWS docs

代码示例

在本例中,需要将lambda中的处理程序设置为 filename.handler其中filename包含以下内容。

importcfn_resource# set `handler` as the entry point for Lambdahandler=cfn_resource.Resource()@handler.createdefcreate_thing(event,context):# do some stuffreturn{"PhysicalResourceId":"arn:aws:fake:myID"}@handler.updatedefupdate_thing(event,context):# do some stuffreturn{"PhysicalResourceId":"arn:aws:fake:myID"}@handler.deletedefdelete_thing(event,context):# do some stuffreturn{"PhysicalResourceId":"arn:aws:fake:myID"}

运行测试

安装并运行tox

tox

测试使用mockpytest,并将为您提供一个终端 保险报告。目前测试覆盖了大约90%的(非常小的) 代码库。

许可证

此代码是在mit软件许可下发布的,请参见license.txt 详情。不包括任何形式的保证,版权 通知必须包含在再分配中。

历史记录

待发布

  • (在此行下方插入新的发行说明)

1.2.0(2017-05-03)

  • urllib移动到requests,以修复python 3上的一些编码错误

1.1.0(2017-04-27)

  • 增加了python 3兼容性

1.0.0(2017-03-22)

  • 从ryansb分叉到超时。
  • 允许重新安排-引发新的内置NoResponse异常,a 资源可以避免向云信息发送任何干扰。这是为了支持 lambda函数需要300秒才能执行,因此需要重新安排 他们自己。

0.2.2(2016-01-29)

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

推荐PyPI第三方库


热门话题
java Selenium Web驱动程序。负载策略不稳定   JAVAsql。SQLException:没有合适的驱动程序无法创建“oracle”类的JDBC驱动程序。jdbc。驾驶员用于连接URL的OracleDriver   java谷歌地图“优化路径点”如何解决旅行推销员的问题?   java这段代码可能会造成潜在的内存泄漏吗?   java更改JCombobox的高度   java如何清除jtable中的数据   JavaHadoop:错误安全性。UserGroupInformation:MapReduce程序中的PriviledgedActionException   java如何将sonarlint添加到gradle任务中?   性能为什么Java排序优于原语计数排序   java Spring属性PlaceHolderConfigure从数据库加载   java从泛型获取类不起作用   java Spring@Transactional传播属性   java试图拥有主菜单和子菜单类   XSL的java后处理步骤   java第一个字母和最后一个字母、第二个字母和倒数第二个字母之间的差值之和,依此类推,直到单词的中心   switch语句在Java中的下一个出发点   java 安卓如何在OnBackpress()时设置viewpager的特定项目位置?