本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
遊戲工作階段安置事
Amazon 會在處理每個遊戲工作階段放置請求時 GameLift 發出事件。您可以將這些事件發佈到 Amazon SNS 主題,如中所述設定遊戲工作階段位置的事件通知。這些事件也會以近乎即時的方式發出至 Amazon CloudWatch 活動,並以最大的努力為基礎。
本主題說明遊戲工作階段放置事件的結構,並提供每個事件類型的範例。如需有關遊戲工作階段放置請求狀態的詳細資訊,請參閱 Amazon GameLift API 參考GameSessionPlacement中的。
放置事件語法
事件會以 JSON 物件的形式表示。事件結構符合 CloudWatch 事件模式,具有類似的頂層欄位和服務特定詳細資料。
頂級字段包括以下內容(有關更多詳細信息,請參閱事件模式):
- version
-
此欄位永遠設定為 0 (零)。
- id
-
事件的唯一追蹤識別碼。
- 詳細資訊類型
-
價值始終是
GameLift Queue Placement Event
。 - source
-
價值始終是
aws.gamelift
。 - 帳戶
-
用於管理 Amazon 的 AWS 帳戶 GameLift。
- time
-
事件時間戳記。
- region
-
正在處理放置請求的 AWS 區域。這是使用中遊戲工作階段佇列所在的區域。
- resources
-
正在處理放置要求的遊戲工作階段佇列的 ARN 值。
PlacementFulfilled
放置要求已成功完成。新的遊戲工作階段已經開始,並且已經為遊戲工作階段要求中列出的每位玩家建立了新的玩家工作階段。玩家連接信息可用。
詳細語法:
- 安慰劑 ID
-
指派給遊戲工作階段放置要求的唯一識別碼。
- port
-
新遊戲工作階段的連接埠號碼。
- gameSessionArn
-
新遊戲工作階段的 ARN 識別碼。
- ipAddress
-
遊戲工作階段的 IP 位址。
- DNS 名稱
-
指派給執行新遊戲工作階段之執行個體的 DNS 識別碼。值格式會因執行遊戲工作階段的執行個體是否啟用 TLS 而有所不同。連線至啟用 TLS 的叢集上的遊戲工作階段時,玩家必須使用 DNS 名稱,而非 IP 位址。
具備 TLS 功能的叢集:。
<unique identifier>.<region identifier>.amazongamelift.com
未啟用 TLS 的叢集:。
ec2-<unique identifier>.compute.amazonaws.com
- startTime
-
指出此要求放入佇列的時間戳記。
- endTime
-
時間戳記指出此要求的完成時間。
- gameSessionRegion
-
AWS 主控遊戲工作階段的艦隊區域。這對應於中的區域權杖
GameSessionArn
。 - placedPlayerSessions
-
在遊戲工作階段位置請求中為每位玩家建立的玩家工作階段集合。
範例
{ "version": "0", "id": "1111aaaa-bb22-cc33-dd44-5555eeee66ff", "detail-type": "GameLift Queue Placement Event", "source": "aws.gamelift", "account": "123456789012", "time": "2021-03-01T15:50:52Z", "region": "us-east-1", "resources": [ "arn:aws:gamelift:us-west-2:123456789012:gamesessionqueue/MegaFrogRace-NA" ], "detail": { "type": "PlacementFulfilled", "placementId": "9999ffff-88ee-77dd-66cc-5555bb44aa", "port": "6262", "gameSessionArn": "arn:aws:gamelift:us-west-2::gamesession/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa/4444dddd-55ee-66ff-77aa-8888bbbb99cc", "ipAddress": "98.987.98.987", "dnsName": "ec2-12-345-67-890.us-west-2.compute.amazonaws.com", "startTime": "2021-03-01T15:50:49.741Z", "endTime": "2021-03-01T15:50:52.084Z", "gameSessionRegion": "us-west-2", "placedPlayerSessions": [ { "playerId": "player-1" "playerSessionId": "psess-1232131232324124123123" } ] } }
PlacementCancelled
通過呼叫 GameLift 服務而取消放置請求StopGameSessionPlacement。
詳細資料:
- 安慰劑 ID
-
指派給遊戲工作階段放置要求的唯一識別碼。
- startTime
-
指出此要求放入佇列的時間戳記。
- endTime
-
指出取消此請求的時間戳記。
範例
{ "version": "0", "id": "1111aaaa-bb22-cc33-dd44-5555eeee66ff", "detail-type": "GameLift Queue Placement Event", "source": "aws.gamelift", "account": "123456789012", "time": "2021-03-01T15:50:52Z", "region": "us-east-1", "resources": [ "arn:aws:gamelift:us-west-2:123456789012:gamesessionqueue/MegaFrogRace-NA" ], "detail": { "type": "PlacementCancelled", "placementId": "9999ffff-88ee-77dd-66cc-5555bb44aa", "startTime": "2021-03-01T15:50:49.741Z", "endTime": "2021-03-01T15:50:52.084Z" } }
PlacementTimedOut
在佇列的時間限制到期前,遊戲工作階段放置未順利完成。您可以視需要重新提交放置請求。
詳細資料:
- 安慰劑 ID
-
指派給遊戲工作階段放置要求的唯一識別碼。
- startTime
-
指出此要求放入佇列的時間戳記。
- endTime
-
指出取消此請求的時間戳記。
範例
{ "version": "0", "id": "1111aaaa-bb22-cc33-dd44-5555eeee66ff", "detail-type": "GameLift Queue Placement Event", "source": "aws.gamelift", "account": "123456789012", "time": "2021-03-01T15:50:52Z", "region": "us-east-1", "resources": [ "arn:aws:gamelift:us-west-2:123456789012:gamesessionqueue/MegaFrogRace-NA" ], "detail": { "type": "PlacementTimedOut", "placementId": "9999ffff-88ee-77dd-66cc-5555bb44aa", "startTime": "2021-03-01T15:50:49.741Z", "endTime": "2021-03-01T15:50:52.084Z" } }
PlacementFailed
Amazon GameLift 無法滿足遊戲會話請求。這通常是由意外的內部錯誤引起的。您可以視需要重新提交放置請求。
詳細資料:
- 安慰劑 ID
-
指派給遊戲工作階段放置要求的唯一識別碼。
- startTime
-
指出此要求放入佇列的時間戳記。
- endTime
-
指出此要求失敗的時間戳記。
範例
{ "version": "0", "id": "39c978f3-ba46-3f7c-e787-55bfcca1bd31", "detail-type": "GameLift Queue Placement Event", "source": "aws.gamelift", "account": "252386620677", "time": "2021-03-01T15:50:52Z", "region": "us-east-1", "resources": [ "arn:aws:gamelift:us-west-2:252386620677:gamesessionqueue/MegaFrogRace-NA" ], "detail": { "type": "PlacementFailed", "placementId": "e4a1119a-39af-45cf-a990-ef150fe0d453", "startTime": "2021-03-01T15:50:49.741Z", "endTime": "2021-03-01T15:50:52.084Z" } }