本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
请参阅设置游戏会话置放通知。
您可以使用Events 来监控各个放置请求的状态。我们建议为所有有大量投放活动的游戏设置事件通知。
有两个选项可用于设置事件通知。
-
使用队列将事件通知发布到 Amazon Simple Notification Service (Amazon SNS) 主题。
-
使用自动发布的 Amazon EventBridge 赛事及其工具套件来管理事件。
有关 Amazon GameLift 发出的游戏会话放置事件的列表,请参阅游戏会话放置事件。
设置 SNS 主题。
要让 Amazon GameLift 将游戏会话队列生成的所有事件发布到某个主题,请将通知目标字段设置为主题。
为 事件通知设置 SNS 主题
访问 https://console.aws.amazon.com/sns/v3/home
,登录 AWS Management Console 并打开 Amazon SNS 控制台。 -
在 SNS 控制面板中,选择 Create topic (创建主题),然后按照说明创建主题。
-
在 Create Policy(创建策略)下,执行以下操作。
-
选择高级方法。
-
将以粗体显示的 JSON 数据块添加到现有策略。
{ "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
:gamesessionqueue/your_queue_name
" } } } ] } -
(可选)通过向资源策略添加条件,为主题添加其他访问控制。
-
-
选择 Create topic(创建主题)。
-
创建 SNS 主题后,在创建队列时将其添加到队列中,或者编辑现有队列以将其添加。
使用服务器端加密设置 Amazon SNS 主题
借助服务器端加密(SSE),您可以采用加密主题的方式存储敏感数据。SSE 使用 AWS Key Management Service(AWS KMS)中托管的密钥保护 Amazon SNS 主题中消息的内容。有关 Amazon S3 如何执行加密的更多信息,请参阅 Amazon Simple Storage Service 开发人员指南中的使用服务器端加密保护数据。
要使用服务器端加密设置 SNS 主题,请查看下面的主题:
-
《AWS Key Management Service 开发人员指南》中的创建密钥。
-
将 S imple Notification Service 开发人员指南中的主题启用 SSE
创建 KMS 密钥时,请使用以下 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
" } } }
设置EventBridge
Amazon GameLift 会自动将所有游戏会话放置事件发布到 EventBridge。使用 EventBridge,您可以设置规则将事件路由到目标进行处理。例如,您可以设置一条规则,将事件路由PlacementFulfilled
到一个处理连接到游戏会话之前的任务的AWS Lambda函数。有关 EventBridge 的更多信息,请参阅 Amazon EventBridge 用户指南中的 Amazon EventBridge 入门。
以下是用于 Amazon GameLift 队列的赛事桥规则的一些示例:
匹配来自所有 Amazon GameLift 队列的事件
{ "source": [ "aws.gamelift" ], "detail-type": [ "GameLift Queue Placement Event" ] }
匹配特定队列中的事件
{ "source": [ "aws.gamelift" ], "detail-type": [ "GameLift Queue Placement Event" ], "resources": [ "arn:aws:gamelift:
your_region
:your_account
:gamesessionqueue/your_queue_name
" ] }