Local-to-AWS Lambda 调用有效,但 Lambda-to-Lambda 调用无效

Local-to-AWS Lambda invocation works, but Lambda-to-Lambda invocation not working

工作:本地 -> Lambda -> SNS 不工作:Lambda -> Lambda -> SNS

当 运行 我的代码在本地时,我能够调用已部署的 AWS Lambda 函数 (PublishSNS)——基本上是通过 AWS SNS 发送消息的过滤。

将我的本地代码 (Chatreport) 部署到 AWS Lambda 本身后,我无法让现在部署到 Lambda 的 Chatreport 代码调用 PublishSNS。

这似乎不是 IAM 问题,也不是我的环境变量问题。我同时使用了 InvocationType='RequestResponse' 和 'Event'。

关于 Lambda 到 Lambda 的调用有什么我不知道的吗?

s3_client = boto3.client('s3')
lambda_client = boto3.client('lambda')

def _push_to_sns(self):
    event_data = dict(
        function=self.function,
        phone=self.phone,
        message=self.commentary
        )
    lambda_client.invoke(
        FunctionName='lambda-publishsns',
        InvocationType='RequestResponse',
        Payload=json.dumps(event_data)
        )

好的,所以在这种情况下这是一个相当简单的解决方案,它与 Zappa(无服务器,python)设置的关系比其他任何事情都大。

Zappa 上传默认的 Handler 信息,如果手动调用需要调整。