Configurare le notifiche FlexMatch degli eventi - Amazon GameLift

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurare le notifiche FlexMatch degli eventi

Puoi utilizzare le notifiche degli eventi per tenere traccia dello stato delle singole richieste di matchmaking. Tutti i giochi in produzione o in pre-produzione con attività di matchmaking ad alto volume devono utilizzare le notifiche degli eventi.

Sono disponibili due opzioni per impostare le notifiche di eventi.

  • Chiedi al tuo matchmaker di pubblicare notifiche di eventi su un argomento di Amazon Simple Notification Service (Amazon SNS).

  • Usa EventBridge gli eventi Amazon pubblicati automaticamente e la sua suite di strumenti per la gestione degli eventi.

Per un elenco degli FlexMatch eventi GameLift emessi da Amazon, consultaFlexMatcheventi di matchmaking.

Configurare EventBridge eventi

Amazon pubblica GameLift automaticamente tutti gli eventi di matchmaking su AmazonEventBridge. ConEventBridge, puoi impostare regole per indirizzare gli eventi di matchmaking agli obiettivi per l'elaborazione. Ad esempio, puoi impostare una regola per indirizzare l'evento "PotentialMatchCreated" a una AWS Lambda funzione che gestisce le accettazioni dei giocatori. Per ulteriori informazioni, consulta Cos'è AmazonEventBridge?

Nota

Quando configuri i tuoi matchmaker, mantieni vuoto il campo di destinazione della notifica o fai riferimento a un argomento SNS se desideri utilizzare EventBridge sia Amazon SNS.

Configura un argomento Amazon SNS

Puoi fare in modo che Amazon GameLift pubblichi tutti gli eventi generati da un FlexMatch matchmaker su un argomento Amazon SNS.

Per creare un argomento SNS per le notifiche GameLift degli eventi Amazon
  1. Aprire la console Amazon SNS.

  2. Nel pannello di navigazione, scegli Topics (Argomenti).

  3. Nella pagina Topics (Argomenti), seleziona Create new topic (Crea nuovo argomento).

  4. Creare un argomento nella console . Per ulteriori informazioni, consulta Per creare un argomento utilizzando la Guida per AWS Management Console gli sviluppatori di Amazon Simple Notification Service.

  5. Nella pagina Dettagli relativa all'argomento, scegli Modifica.

  6. (Facoltativo) Nella pagina Modifica relativa all'argomento, espandi Access policy, quindi aggiungi la sintassi in grassetto della seguente dichiarazione politica AWS Identity and Access Management (IAM) alla fine della policy esistente. (L'intera politica è mostrata qui per maggiore chiarezza.) Assicurati di utilizzare i dettagli di Amazon Resource Name (ARN) per il tuo argomento SNS e la configurazione di Amazon GameLift matchmaking.

    { "Version": "2008-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:your_region:your_account:your_topic_name", "Condition": { "StringEquals": { "AWS:SourceAccount": "your_account" } } }, { "Sid": "__console_pub_0", "Effect": "Allow", "Principal": { "Service": "gamelift.amazonaws.com" }, "Action": "SNS:Publish", "Resource": "arn:aws:sns:your_region:your_account:your_topic_name", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:gamelift:your_region:your_account:matchmakingconfiguration/your_configuration_name" } } } ] }
  7. Sceglie Save changes (Salva modifiche).

Configura un argomento SNS con crittografia lato server

È possibile utilizzare la crittografia lato server (SSE) per archiviare dati sensibili in argomenti crittografati. SSE protegge il contenuto dei messaggi negli argomenti Amazon SNS utilizzando chiavi gestite in AWS Key Management Service (AWS KMS). Per ulteriori informazioni sulla crittografia lato server con Amazon SNS, consulta Encryption at rest nella Amazon Simple Notification Service Developer Guide.

Per configurare un argomento SNS con crittografia lato server, consulta i seguenti argomenti:

Quando crei la tua chiave KMS, utilizza la seguente politica per le chiavi KMS:

{ "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" } } }

Configurare una sottoscrizione agli argomenti per richiamare una funzione Lambda

Puoi richiamare una funzione Lambda utilizzando le notifiche degli eventi pubblicate nel tuo argomento Amazon SNS. Quando configuri il matchmaker, assicurati di impostare l'obiettivo della notifica sull'ARN del tuo argomento SNS.

Il AWS CloudFormation modello seguente configura una sottoscrizione a un argomento SNS denominato MyFlexMatchEventTopic per richiamare una funzione Lambda denominata. FlexMatchEventHandlerLambdaFunction Il modello crea una politica di autorizzazioni IAM che consente GameLift ad Amazon di scrivere sull'argomento SNS. Il modello aggiunge quindi le autorizzazioni per l'argomento SNS per richiamare la funzione 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