将主题订阅配置为调用 Lambda 函数 - Amazon GameLift Servers

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将主题订阅配置为调用 Lambda 函数

您可以使用发布到 Amazon SNS 主题的事件通知调用 Lambda 函数。配置对战构建器时,将通知目标字段设置为 SNS 主题 ARN。

以下 AWS CloudFormation 模板将订阅名为的 SNS 主题配置为调用名MyFlexMatchEventTopic为的 Lambda 函数。FlexMatchEventHandlerLambdaFunction该模板创建了一个允许Amazon GameLift Servers写入 SNS 主题的 IAM 权限策略。然后,模板将调用 Lambda 函数的权限。

FlexMatchEventTopic: Type: "AWS::SNS::Topic" Properties: KmsMasterKeyId: alias/aws/sns #Enables server-side encryption on the topic using an AWS managed key Subscription: - Endpoint: !GetAtt FlexMatchEventHandlerLambdaFunction.Arn Protocol: lambda TopicName: MyFlexMatchEventTopic FlexMatchEventTopicPolicy: Type: "AWS::SNS::TopicPolicy" DependsOn: FlexMatchEventTopic Properties: PolicyDocument: Version: "2012-10-17" Statement: - Effect: Allow Principal: Service: gamelift.amazonaws.com Action: - "sns:Publish" Resource: !Ref FlexMatchEventTopic Topics: - Ref: FlexMatchEventTopic FlexMatchEventHandlerLambdaPermission: Type: "AWS::Lambda::Permission" Properties: Action: "lambda:InvokeFunction" FunctionName: !Ref FlexMatchEventHandlerLambdaFunction Principal: sns.amazonaws.com SourceArn: !Ref FlexMatchEventTopic