describeGameSessions method
This API works with the following fleet types: EC2, Anywhere, Container
Retrieves a set of one or more game sessions in a specific fleet location. You can optionally filter the results by current game session status.
This operation can be used in the following ways:
- To retrieve all game sessions that are currently running on all locations in a fleet, provide a fleet or alias ID, with an optional status filter. This approach returns all game sessions in the fleet's home Region and all remote locations.
- To retrieve all game sessions that are currently running on a specific fleet location, provide a fleet or alias ID and a location name, with optional status filter. The location can be the fleet's home Region or any remote location.
- To retrieve a specific game session, provide the game session ID. This approach looks for the game session ID in all fleets that reside in the Amazon Web Services Region defined in the request.
If successful, a GameSession object is returned for each game
session that matches the request.
This operation is not designed to be continually called to track game
session status. This practice can cause you to exceed your API limit,
which results in errors. Instead, you must configure an Amazon Simple
Notification Service (SNS) topic to receive notifications from FlexMatch
or queues. Continuously polling with DescribeGameSessions
should only be used for games in development with low game session usage.
Available in Amazon GameLift Servers Local.
Learn more
May throw InternalServiceException.
May throw InvalidRequestException.
May throw NotFoundException.
May throw TerminalRoutingStrategyException.
May throw UnauthorizedException.
May throw UnsupportedRegionException.
Parameter aliasId :
A unique identifier for the alias associated with the fleet to retrieve
game sessions for. You can use either the alias ID or ARN value.
Parameter fleetId :
A unique identifier for the fleet to retrieve game sessions for. You can
use either the fleet ID or ARN value.
Parameter gameSessionId :
An identifier for the game session that is unique across all regions to
retrieve. The value is always a full ARN in the following format:
arn:aws:gamelift:.
Parameter limit :
The maximum number of results to return. Use this parameter with
NextToken to get results as a set of sequential pages.
Parameter location :
A fleet location to get game sessions for. You can specify a fleet's home
Region or a remote location. Use the Amazon Web Services Region code
format, such as us-west-2.
Parameter nextToken :
A token that indicates the start of the next sequential page of results.
Use the token that is returned with a previous call to this operation. To
start at the beginning of the result set, do not specify a value.
Parameter statusFilter :
Game session status to filter results on. You can filter on the following
states: ACTIVE, TERMINATED,
ACTIVATING, and TERMINATING. The last two are
transitory and used for only very brief periods of time.
Implementation
Future<DescribeGameSessionsOutput> describeGameSessions({
String? aliasId,
String? fleetId,
String? gameSessionId,
int? limit,
String? location,
String? nextToken,
String? statusFilter,
}) async {
_s.validateNumRange(
'limit',
limit,
1,
1152921504606846976,
);
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'GameLift.DescribeGameSessions'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
if (aliasId != null) 'AliasId': aliasId,
if (fleetId != null) 'FleetId': fleetId,
if (gameSessionId != null) 'GameSessionId': gameSessionId,
if (limit != null) 'Limit': limit,
if (location != null) 'Location': location,
if (nextToken != null) 'NextToken': nextToken,
if (statusFilter != null) 'StatusFilter': statusFilter,
},
);
return DescribeGameSessionsOutput.fromJson(jsonResponse.body);
}