Configurar notificações de eventos para o posicionamento de sessões de jogo
Você pode usar as notificações de eventos para monitorar o status de solicitações individuais de posicionamento. Recomendamos configurar notificações de eventos para todos os jogos com alto volume de atividades de posicionamento.
Há duas opções para a configuração de notificações de eventos.
-
Faça com que o Amazon GameLift Servers publique notificações de eventos em um tópico do Amazon Simple Notification Service (Amazon SNS) usando uma fila.
-
Use eventos do Amazon EventBridge publicados automaticamente e seu conjunto de ferramentas para gerenciar eventos.
Para obter uma lista de eventos de posicionamento de sessões de jogo emitidos pelo Amazon GameLift Servers, consulte Eventos de posicionamento de sessões de jogo.
Importante
Para sistemas de posicionamento de alto volume, recomendamos usar tópicos padrão (não FIFO) do Amazon SNS em vez de tópicos FIFO. Os tópicos do FIFO têm limites de publicação mais baixos do que os tópicos padrão, o que pode levar a exceções de limitação durante uma carga alta. Se você tiver problemas com tópicos do FIFO, poderá perder as notificações de posicionamento na fila.
Configurar um tópico do SNS
Para que o Amazon GameLift Servers publique todos os eventos gerados por uma fila de sessões de jogo em um tópico, defina o campo de destino da notificação como um tópico.
Para configurar um tópico do SNS para notificação de evento do Amazon GameLift Servers
Faça login no Console de gerenciamento da AWS e abra o console do Amazon SNS em https://console.aws.amazon.com/sns/v3/home
. -
Na página Topics do SNS, escolha Create topic (Criar tópico) e siga as instruções para criá-lo.
-
Em Access Policy (Política de acesso), faça o seguinte:
-
Escolha o método Advanced (Avançado).
-
Adicione a seguinte seção em negrito do objeto JSON à política existente.
-
(Opcional) Adicione mais controle de acesso ao tópico incluindo condições à política de recursos.
-
-
Escolha Create topic (Criar tópico).
-
Depois de criar seu tópico do SNS, adicione-o às filas durante a criação das filas ou edite uma fila existente para adicioná-lo.
Configurar um tópico do SNS com a criptografia do lado do servidor
Com a criptografia do lado do servidor (SSE), é possível armazenar dados confidenciais em tópicos criptografados. A SSE protege o conteúdo de mensagens nos tópicos do Amazon SNS usando chaves gerenciadas no AWS Key Management Service (AWS KMS). Para obter mais informações sobre criptografia no lado do servidor com o Amazon SNS, consulte Criptografia em repouso no Guia do desenvolvedor do Amazon Simple Notification Service.
Para configurar um tópico do SNS com a criptografia do lado do servidor, consulte os tópicos a seguir:
-
Criar chaves no Guia do desenvolvedor do AWS Key Management Service
-
Habilitar a SSE para um tópico no Guia do desenvolvedor do Amazon Simple Notification Service
Ao criar a chave do KMS, use a seguinte política de chave do 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:gamesessionqueue/your_queue_name" }, "StringEquals": { "kms:EncryptionContext:aws:sns:topicArn": "arn:aws:sns:your_region:your_account:your_sns_topic_name" } } }
Configurar o EventBridge
O Amazon GameLift Servers publica automaticamente todos os eventos de posicionamento da sessões de jogo no EventBridge. Com o EventBridge, é possível configurar regras para que eventos sejam roteados para destinos para processamento. Por exemplo, é possível definir uma regra para rotear o evento PlacementFulfilled para uma função AWS Lambda que gerencia tarefas que precedem a conexão com uma sessão de jogo. Para obter mais informações sobre o EventBridge, consulte O que é o Amazon EventBridge? no Guia do usuário do Amazon EventBridge.
Seguem alguns exemplos de regras do EventBridge para usar com filas do Amazon GameLift Servers:
Faz correspondência com eventos de todas as filas do Amazon GameLift Servers
{ "source": [ "aws.gamelift" ], "detail-type": [ "GameLift Queue Placement Event" ] }
Faz correspondência com eventos de uma fila específica
{ "source": [ "aws.gamelift" ], "detail-type": [ "GameLift Queue Placement Event" ], "resources": [ "arn:aws:gamelift:your_region:your_account:gamesessionqueue/your_queue_name" ] }