Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无服务器框架-Lambda在不通过API网关的情况下调用另一个Lambda_Python_Amazon Web Services_Aws Lambda_Serverless Framework - Fatal编程技术网

Python 无服务器框架-Lambda在不通过API网关的情况下调用另一个Lambda

Python 无服务器框架-Lambda在不通过API网关的情况下调用另一个Lambda,python,amazon-web-services,aws-lambda,serverless-framework,Python,Amazon Web Services,Aws Lambda,Serverless Framework,我正在构建以下体系结构:用户向API网关发布一个字符串,API网关反过来调用一个Lambda函数——使用该字符串作为输入。此Lambda函数将字符串写入DynamoDB。之后,这个Lambda函数调用另一个Lambda函数,将插入DynamoDB的项的id作为输入传递,并返回一个200状态代码 要调用我使用的第二个Lambda函数,请执行以下操作: payload = {"id":item['id']} invoke_lambda = lambda_client.invoke(FunctionN

我正在构建以下体系结构:用户向API网关发布一个字符串,API网关反过来调用一个Lambda函数——使用该字符串作为输入。此Lambda函数将字符串写入DynamoDB。之后,这个Lambda函数调用另一个Lambda函数,将插入DynamoDB的项的id作为输入传递,并返回一个200状态代码

要调用我使用的第二个Lambda函数,请执行以下操作:

payload = {"id":item['id']}
invoke_lambda = lambda_client.invoke(FunctionName="process",
                                     InvocationType="Event",
                                     Payload=json.dumps(payload))
我应该如何为第二个Lambda配置serverless.yml以使其不使用API网关?我不想使用API网关,因为它限制Lambda在30秒内完成

例如,要使用API网关,我只需执行以下操作:

functions:
  process:
    events:
      - http: ANY /
      - http: 'ANY {proxy+}'

还有什么替代方法呢?

只要第二个Lambda函数没有连接到API网关,它就不会受到任何限制


因此,您可以不在第二个Lambda定义中包含“events”属性(这是一个可选参数)

实际上,即使函数附加到API网关,您仍然可以直接调用它。