lambda函数的aws服务实用程序

astromech的Python项目详细描述


Astromech-用于lambda功能的AWS服务实用程序

Astromech是一个实用程序的集合,我发现自己复制了所有lambda函数和无服务器 项目。为了把我的代码弄干,我把它们收集在一个图书馆里。

服务客户

Astromech为BOTO3服务客户端实现延迟初始化:

对于每个服务,都有一个全局客户机变量,可以在调用labmda函数之间重用。 集装箱。希望访问客户端的代码通过使用初始化它的client()函数来实现这一点 如有必要。

代码示例:

fromastromechimports3,dynamodbs3.client().get_object(Bucket=...,Key=...)dynamodb.table().get_item(Key=...)

localstack支持使操作变得简单

服务客户端初始化函数,查找环境变量LOCALSTACK_[SERVICE]_URL (例如,LOCALSTACK_S3_URL)。 如果它找到一个,那么它使用它的值作为boto3客户机函数的endpoint_url

使用LocalStack运行测试所要做的就是在本地设置这些变量 环境。不需要更改代码。 当然,这适用于任何其他可下载的aws服务版本,比如 DynamoDB local

实用功能

每个服务中都有一些实用功能。这些通常保存2-3行样板代码。不是很多, 但是对于在整个代码库中重复使用的非常常见的功能来说,这是值得的。

例如,为了检查S3上是否存在对象,必须发送一个^ {< CD5>}请求并捕获异常 如果它不存在。使用astromech.s3只需调用exists(bucket, key),就像使用本地 文件

为什么是“天体机械”?

在星球大战的宇宙中,天体机械是一种实用机器人,其中最著名的(是谁?)是R2-D2。

阅读有关Wookiepedia的更多信息。

R2-series astromech droids

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

推荐PyPI第三方库


热门话题
jsoup有效文件路径抛出java。木卫一。FileNotFoundException   java如何在不删除和添加Mapbox中的层的情况下更改SymbolLayer的Z值?   java计算用户定义年数内四个季度的降雨量   如何在Java中轻松地将格式为“20 0F 01”的字符串更改为十六进制值?   java在JPA或Hibernate中“持久类”和“实体”之间有什么区别?   java Android:AlarmManager“缺少对unregisterReceiver()的调用?”当按下后退按钮时   logcat中的java错误“isDataSchedulerEnabled():false”   java i/p col特性必须是字符串或数字类型,但不能是org。阿帕奇。火花利纳格小姐。向量   java如何从Post请求url和浏览器转储中隐藏密码   多线程javamail中的java问题   java我的用户应该直接连接到数据库吗?如何将用户连接到数据库;   java如何获得Spring数据JPA存储库工厂?   windows java字节数组转换为字符串,但不同的操作系统会产生不同的结果   java代码在eclipse中编译,但不在命令行上编译