

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Configurer les notifications FlexMatch d'événements
<a name="match-notification"></a>

Vous pouvez utiliser les notifications d'événements pour suivre l'état des demandes de matchmaking individuelles. Tous les jeux en production ou en pré-production avec un volume élevé d'activités de matchmaking doivent utiliser les notifications d'événements.

Il existe deux options pour configurer les notifications d'événements. 
+ Demandez à votre entremetteur de publier des notifications d'événements sur une rubrique Amazon Simple Notification Service (Amazon SNS).
+ Utilisez les EventBridge événements Amazon publiés automatiquement et sa suite d'outils pour gérer les événements.

Pour obtenir la liste des FlexMatch événements qui Amazon GameLift Servers émettent, consultez[FlexMatchévénements de matchmaking](match-events.md).

**Important**  
Pour les systèmes de matchmaking à volume élevé, nous recommandons d'utiliser des rubriques Amazon SNS standard (non FIFO) plutôt que des rubriques FIFO. Les rubriques FIFO ont des limites de publication inférieures à celles des rubriques standard, ce qui peut entraîner des exceptions de limitation en cas de charge élevée. Si vous rencontrez des difficultés avec les sujets FIFO, vous risquez de perdre des notifications. FlexMatch

**Note**  
 Amazon GameLift Serversgère automatiquement les échecs de livraison et les limitations d'Amazon SNS grâce à une logique de nouvelle tentative intégrée. Lorsqu'Amazon SNS renvoie des erreurs de régulation ou des échecs temporaires, recommence à envoyer les notifications avec des délais progressifs entre les Amazon GameLift Servers tentatives. Cela permet de garantir que les notifications d'événements sont transmises de manière fiable. Cependant, les notifications peuvent être perdues si les échecs persistent après toutes les tentatives, ou en cas d'erreurs non réessayables, telles que des échecs d'autorisation ou des sujets manquants. 

**Topics**
+ [Configurez EventBridge des événements](#match-notification-cwe)
+ [Tutoriel : Configuration d'une rubrique Amazon SNS](match-notification-sns.md)
+ [Configuration d'une rubrique SNS avec chiffrement côté serveur](queue-notification-sns-sse.md)
+ [Configurer un abonnement à une rubrique pour appeler une fonction Lambda](match-notification-lambda.md)

## Configurez EventBridge des événements
<a name="match-notification-cwe"></a>

Amazon GameLift Serverspublie automatiquement tous les événements de matchmaking sur Amazon EventBridge. Avec EventBridge, vous pouvez configurer des règles pour que les événements de matchmaking soient acheminés vers des cibles pour traitement. Par exemple, vous pouvez définir une règle pour acheminer l'événement « PotentialMatchCreated » vers une AWS Lambda fonction qui gère les acceptations des joueurs. Pour plus d'informations, consultez [Qu'est-ce qu'Amazon EventBridge ?](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html)

**Note**  
Lorsque vous configurez vos matchmakers, laissez le champ cible de notification vide ou faites référence à une rubrique SNS si vous souhaitez utiliser à la fois Amazon SNS EventBridge et Amazon SNS.

# Tutoriel : Configuration d'une rubrique Amazon SNS
<a name="match-notification-sns"></a>

Vous pouvez avoir Amazon GameLift Servers publié tous les événements générés par un FlexMatch entremetteur sur un sujet Amazon SNS.

**Pour créer une rubrique SNS pour les notifications d'Amazon GameLift Serversévénements**

1. Ouvrez la [console Amazon SNS](https://console.aws.amazon.com/sns).

1. Dans le volet de navigation, choisissez **Rubriques**.

1. Sur la page **Rubriques**, choisissez **Créer une rubrique**.

1. Créez une rubrique dans la console . Pour plus d'informations, consultez [To create a topic using the AWS Management Console in the](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html#create-topic-aws-console) *Amazon Simple Notification Service Developer Guide*.

1. Sur la page **Détails** de votre sujet, choisissez **Modifier**.

1. (Facultatif) Sur la page d'**édition** de votre sujet, développez la **politique d'accès**, puis ajoutez la syntaxe en gras de la déclaration de politique Gestion des identités et des accès AWS (IAM) suivante à la fin de votre politique existante. (La politique complète est présentée ici pour plus de clarté.) Assurez-vous d'utiliser les informations Amazon Resource Name (ARN) pour votre propre sujet SNS et votre configuration de Amazon GameLift Servers matchmaking.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Id": "__default_policy_ID",
     "Statement": [
       {
         "Sid": "__default_statement_ID",
         "Effect": "Allow",
         "Principal": {
           "AWS": "*"
         },
         "Action": [
           "SNS:GetTopicAttributes",
           "SNS:SetTopicAttributes",
           "SNS:AddPermission",
           "SNS:RemovePermission",
           "SNS:DeleteTopic",
           "SNS:Subscribe",
           "SNS:ListSubscriptionsByTopic",
           "SNS:Publish"
         ],
         "Resource": "arn:aws:sns:us-east-1:111122223333:your_topic_name",
         "Condition": {
           "StringEquals": {
           "AWS:SourceAccount": "111122223333"
           }
         }
       },
       {
         "Sid": "__console_pub_0",
         "Effect": "Allow",
         "Principal": {
           "Service": "gamelift.amazonaws.com"
         },
         "Action": "SNS:Publish",
         "Resource": "arn:aws:sns:us-east-1:111122223333:your_topic_name",
         "Condition": {
           "ArnLike": {
           "aws:SourceArn": "arn:aws:gamelift:us-east-1:111122223333:matchmakingconfiguration/your_configuration_name"
           }
         }
       }
     ]
   }
   ```

------

1. Sélectionnez **Enregistrer les modifications**.

# Configuration d'une rubrique SNS avec chiffrement côté serveur
<a name="queue-notification-sns-sse"></a>

Vous pouvez utiliser le chiffrement côté serveur (SSE) pour stocker des données sensibles dans des rubriques chiffrées. SSE protège le contenu des messages dans les rubriques Amazon SNS à l'aide de clés gérées dans AWS Key Management Service ()AWS KMS. Pour plus d'informations sur le chiffrement côté serveur avec Amazon SNS, [consultez la section Encryption at](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html) rest du manuel *Amazon Simple Notification* Service Developer Guide.

Pour configurer une rubrique SNS avec chiffrement côté serveur, consultez les rubriques suivantes :
+ [Création d'une clé](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) dans le *guide du AWS Key Management Service développeur*
+ [Activation de SSE pour un sujet](https://docs.aws.amazon.com/sns/latest/dg/sns-enable-encryption-for-topic.html) du manuel *Amazon Simple Notification Service Developer Guide*

Lorsque vous créez votre clé KMS, utilisez la stratégie de clé KMS suivante :

```
{ 
  "Effect": "Allow", 
  "Principal": { 
    "Service": "gamelift.amazonaws.com" 
  },
  "Action": [
      "kms:Decrypt",
      "kms:GenerateDataKey"
  ],
  "Resource": "*",
  "Condition": {
      "ArnLike": { 
        "aws:SourceArn": "arn:aws:gamelift:your_region:your_account:matchmakingconfiguration/your_configuration_name" 
      },
      "StringEquals": { 
        "kms:EncryptionContext:aws:sns:topicArn": "arn:aws:sns:your_region:your_account:your_sns_topic_name" 
      }
  }
}
```

# Configurer un abonnement à une rubrique pour appeler une fonction Lambda
<a name="match-notification-lambda"></a>

Vous pouvez appeler une fonction Lambda à l'aide des notifications d'événements publiées sur votre rubrique Amazon SNS. Lorsque vous configurez le système de matchmaking, veillez à définir l'ARN de votre sujet SNS comme cible de notification.

Le AWS CloudFormation modèle suivant configure un abonnement à une rubrique SNS nommée `MyFlexMatchEventTopic` pour appeler une fonction Lambda nommée. `FlexMatchEventHandlerLambdaFunction` Le modèle crée une politique d'autorisation IAM qui permet d'Amazon GameLift Serversécrire sur la rubrique SNS. Le modèle ajoute ensuite des autorisations permettant à la rubrique SNS d'invoquer la fonction 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
```