

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# トピックサブスクリプションを設定して Lambda 関数を呼び出す
<a name="match-notification-lambda"></a>

Amazon SNS トピックに発行されたイベント通知を使用して Lambda 関数を呼び出すことができます。マッチメーカーの設定時に、必ず通知ターゲットを SNS トピックの ARN に設定します。

次の AWS CloudFormation テンプレートは、 という名前の Lambda 関数を呼び出す`MyFlexMatchEventTopic`ために、 という名前の SNS トピックへのサブスクリプションを設定します`FlexMatchEventHandlerLambdaFunction`。このテンプレートは、Amazon GameLift Servers が SNS トピックに書き込むことを許可する IAM アクセス許可ポリシーを作成します。次に、テンプレートは、SNS トピックに 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
```