aws lambda上的pythonic微服务
psychic_disco的Python项目详细描述
精神迪斯科
- 你是不是一个需要部署程序的笨蛋?
- 需要制作一个演示,但还没有击中支付污垢?
- 喜欢python开发,但不喜欢产品交付?
那就让灵媒迪斯科成为你公开展示作品的主要代表吧!
通过利用aws lambda和无服务器网络的开拓性领域,通灵迪斯科甚至允许像你和我这样的平民傻瓜廉价地扩展我们梦想的平台。
安装
按如下方式安装:
pip install psychic_disco
假设
- All your microservices live in python modules
- All your entrypoints are decorated with @lambda_entry_point
声明入口点和api方法
创建新入口点:
@lambda_entry_point def handler(event, context): # important code here
创建新的api方法会自动注册入口点:
@api_method("POST", "/cereal"): def create_cereal(event, context): # cereal creation logic here
api方法的定义可在psychic_disco.Api中找到。
发现入口点
做这件事:
psychic_disco discover_entrypoints
或者,如果您的代码存在于其他地方:
psychic_disco --repo path/to/st/elsewhere discover_entrypoints
创建部署包
做这件事:
psychic_disco bundle
这将创建一个virtualenv,安装您的依赖项,并为您压缩所有内容。这假设在psychic_disco_config.py
中定义了psychic_disco.config.default_s3_bucket。部署lambda函数
一旦将部署包上传到amazon s3,就可以安装您定义的lambda函数,如下所示:
psychic_disco deploy_lambdas
这假设在psychic_disco_config.py
中定义了psychic_disco.config.default_iam_role。查询aws
通过运行:
psychic_disoc show_installed_routes <api-name>
它将输出如下内容:
verb | path | lambda-function |
---|---|---|
GET | /users | users-list_all |
POST | /users | users-create_new |
PATCH | /user/7 | users-update |