从本地到AWS的Lambda调用有效,但从Lambda到Lambda的调用无效

时间:2018-12-05 00:10:50

标签: python python-3.x aws-lambda amazon-sns python-zappa

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

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

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

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

我不知道关于Lambda-to-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)
        )

1 个答案:

答案 0 :(得分:0)

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

Zappa使用默认的处理程序信息上传,如果手动调用,则需要对其进行调整。