python - 使用现有调用在另一个 AWS lambda 中调用函数
问题描述
请参考下面的代码片段:
import awsgi
import json
from flask import (
Flask,
jsonify,
request
)
app = Flask(__name__)
@app.route('/')
def index():
return jsonify(status=200, message='OK')
@app.route('/tester')
def tst():
rule = request.url_rule
if 'tester' in rule.rule:
return {'status':200, 'message':'test'}
def lambda_handler(event, context):
test = (awsgi.response(app, event, context))
for key, value in test.items():
if key == 'message':
call = value
return {
'body': json.dumps(test)
}
现在在调用变量中我们有值'test'。这个“测试”也是我要调用的另一个 lambda 中的方法的名称。有人可以帮我这个谢谢
解决方案
每个 AWS Lambda 函数都有一个通过定义为Handler的函数的入口点。
调用 AWS Lambda 函数时,会调用 Handler 函数。调用 Lambda 函数时无法“调用”另一个函数。
但是,您可以向 Handler 函数添加一些逻辑来检查传入event
并检查测试情况。处理程序函数然后可以调用该test()
函数。例如,在 中添加一个条目,然后让event
Handler"Test": "true"
函数检查该条目,如果存在,则调用test()
。
推荐阅读
- javascript - 我的代码在同一个文件中时停止工作
- java - 据我所知,showinputdialog 返回字符串类型的输出,但它给了我一个错误,它无法将对象转换为字符串
- c# - 捕获服务结构事件
- c++ - 在 C++ 程序上同时运行不同的任务
- php - Laravel 未定义变量:文章
- spring-boot - 如何将 Tomcat 配置为在 Azure 应用服务上使用 HTTP2?
- linux - 通过aws cli从codecommit repo中提取带有扩展名的文件名
- c# - C# .net core swagger 尝试使用多个 API 版本,但所有端点都在所有文档中
- kubernetes - 如何更改/设置 k8s 主节点内部 IP 或公共 IP?
- c# - 如何检测 Xamarin.Forms 应用程序何时在 App Center 中运行?