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 信息,如果手动调用需要调整。
工作:本地 -> 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 信息,如果手动调用需要调整。