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的更多信息。