首页 > 解决方案 > 使用现有调用在另一个 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 中的方法的名称。有人可以帮我这个谢谢

标签: pythonamazon-web-servicesflaskaws-lambda

解决方案


每个 AWS Lambda 函数都有一个通过定义为Handler的函数的入口点。

调用 AWS Lambda 函数时,会调用 Handler 函数。调用 Lambda 函数时无法“调用”另一个函数。

但是,您可以向 Handler 函数添加一些逻辑来检查传入event并检查测试情况。处理程序函数然后可以调用该test()函数。例如,在 中添加一个条目,然后让eventHandler"Test": "true"函数检查该条目,如果存在,则调用test()


推荐阅读