gpt4 book ai didi

amazon-web-services - AWS Lambda 和 SNS : Invoke Lambda cross-region

转载 作者:行者123 更新时间:2023-12-04 18:04:11 25 4
gpt4 key购买 nike

我有一个部署到多个区域的 Lambda 函数。我想向将调用这些函数的 SNS 发布一条消息。

我使用 aws-cli 创建了主题,授予 Lambda 与 SNS 对话的权限,并创建订阅。订阅似乎已成功创建,我可以在 AWS 控制台中看到它。但是,它不起作用。 lambda 函数不会被调用。

最佳答案

这是CloudFormation基于的例子。您必须为 SNS 添加调用权限到 Lambda职能:

{
"Type" : "AWS::Lambda::Permission",
"Properties" : {
"FunctionName" : { "Fn::GetAtt" : [ "YourLambda", "Arn" ] },
"Action" : "lambda:InvokeFunction",
"Principal" : "sns.amazonaws.com",
"SourceArn" : { "Ref" : "YourSNSTopicArn" }
}
}

那么你需要订阅你的 Lambdas给您的 SNS话题。这可以通过 API 调用或通过 CloudFormation 来完成。 .
{
"Type" : "AWS::SNS::Topic",
"Properties" : {
"TopicName" : "YourTopicName",
"Subscription" : [ {
"Endpoint" : { "Fn::GetAtt" : [ "YourLambda", "Arn" ] },
"Protocol": "lambda"
} ]
}
}

如果您遗漏了其中任何一项,您的 Lambdas不会调用。以上信息来源为官方博客文章 Invoking Lambda functions via SNS .

关于amazon-web-services - AWS Lambda 和 SNS : Invoke Lambda cross-region,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35006556/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com