aws lambda库
tclambda的Python项目详细描述
不要使用,这是pre-alpha,没有测试,没有监视,日志记录不正确
tclambda
aws lambda调用库
中定义的函数一起使用aws lambda的配置
# app.pyimporttclambdafromnumpy.polynomial.polynomialimportpolyfitasnp_polyfithandler=tclambda.LambdaHandler()@handler.register()defpolyfit(*args,**kwargs):returnlist(np_polyfit(*args,**kwargs))
注册的处理程序必须返回json可序列化的内容。
在其他项目中的使用
配置主要由环境变量完成。
TC_NUMPY_QUEUE="https://sqs.eu-west-1.amazonaws.com/12345/NumpySqs"TC_NUMPY_BUCKET="s3-result-bucket"
fromtclambda.auto_functionsimportnumpylambda_result=numpy.polyfit([1,2],[2,1],1)print(lambda_result.result())# Output: [2.999999999999998, -0.9999999999999992]
重试lambda
importtclambdaimportrequestshandler=tclambda.LambdaHandler()@handler.register()defweb_data(*args,**kwargs):try:response=requests.get("https://example.com")response.raise_for_status()exceptExceptionase:raisetclambda.RetryException(e)returnresponse.text
错误处理
哨兵
与哨兵一起安装tclambda 哨兵的设置是通过环境变量自动完成的。
- 哨兵
- 哨兵释放
- 哨兵环境
测试
- 创建一个s3 bucket来进行实时测试
- 将
TC_THIS_BUCKET=my-test-s3-bucket
添加到.env
- 运行
pipenv run test