/AWS1/IF_GML=>DESCRIBEGAMESESSIONS()¶
About DescribeGameSessions¶
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.
Use the pagination parameters to retrieve results as a set of sequential pages.
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
Method Signature¶
METHODS /AWS1/IF_GML~DESCRIBEGAMESESSIONS
IMPORTING
!IV_FLEETID TYPE /AWS1/GMLFLEETIDORARN OPTIONAL
!IV_GAMESESSIONID TYPE /AWS1/GMLARNSTRINGMODEL OPTIONAL
!IV_ALIASID TYPE /AWS1/GMLALIASIDORARN OPTIONAL
!IV_LOCATION TYPE /AWS1/GMLLOCATIONSTRINGMODEL OPTIONAL
!IV_STATUSFILTER TYPE /AWS1/GMLNONZEROANDMAXSTRING OPTIONAL
!IV_LIMIT TYPE /AWS1/GMLPOSITIVEINTEGER OPTIONAL
!IV_NEXTTOKEN TYPE /AWS1/GMLNONZEROANDMAXSTRING OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_gmldescrgamesesssout
RAISING
/AWS1/CX_GMLINTERNALSERVICEEX
/AWS1/CX_GMLINVALIDREQUESTEX
/AWS1/CX_GMLNOTFOUNDEXCEPTION
/AWS1/CX_GMLTERMINALROUTINGS00
/AWS1/CX_GMLUNAUTHORIZEDEX
/AWS1/CX_GMLUNSUPPEDREGIONEX
/AWS1/CX_GMLCLIENTEXC
/AWS1/CX_GMLSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Optional arguments:¶
iv_fleetid TYPE /AWS1/GMLFLEETIDORARN /AWS1/GMLFLEETIDORARN¶
A unique identifier for the fleet to retrieve game sessions for. You can use either the fleet ID or ARN value.
iv_gamesessionid TYPE /AWS1/GMLARNSTRINGMODEL /AWS1/GMLARNSTRINGMODEL¶
A unique identifier for the game session to retrieve.
iv_aliasid TYPE /AWS1/GMLALIASIDORARN /AWS1/GMLALIASIDORARN¶
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.
iv_location TYPE /AWS1/GMLLOCATIONSTRINGMODEL /AWS1/GMLLOCATIONSTRINGMODEL¶
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.
iv_statusfilter TYPE /AWS1/GMLNONZEROANDMAXSTRING /AWS1/GMLNONZEROANDMAXSTRING¶
Game session status to filter results on. You can filter on the following states:
ACTIVE,TERMINATED,ACTIVATING, andTERMINATING. The last two are transitory and used for only very brief periods of time.
iv_limit TYPE /AWS1/GMLPOSITIVEINTEGER /AWS1/GMLPOSITIVEINTEGER¶
The maximum number of results to return. Use this parameter with
NextTokento get results as a set of sequential pages.
iv_nexttoken TYPE /AWS1/GMLNONZEROANDMAXSTRING /AWS1/GMLNONZEROANDMAXSTRING¶
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.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_gmldescrgamesesssout /AWS1/CL_GMLDESCRGAMESESSSOUT¶
Domain /AWS1/RT_ACCOUNT_ID Primitive Type NUMC
Examples¶
Syntax Example¶
This is an example of the syntax for calling the method. It includes every possible argument and initializes every possible value. The data provided is not necessarily semantically accurate (for example the value "string" may be provided for something that is intended to be an instance ID, or in some cases two arguments may be mutually exclusive). The syntax shows the ABAP syntax for creating the various data structures.
DATA(lo_result) = lo_client->describegamesessions(
iv_aliasid = |string|
iv_fleetid = |string|
iv_gamesessionid = |string|
iv_limit = 123
iv_location = |string|
iv_nexttoken = |string|
iv_statusfilter = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
LOOP AT lo_result->get_gamesessions( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lv_nonzeroandmaxstring = lo_row_1->get_gamesessionid( ).
lv_nonzeroandmaxstring = lo_row_1->get_name( ).
lv_fleetid = lo_row_1->get_fleetid( ).
lv_fleetarn = lo_row_1->get_fleetarn( ).
lv_timestamp = lo_row_1->get_creationtime( ).
lv_timestamp = lo_row_1->get_terminationtime( ).
lv_wholenumber = lo_row_1->get_currentplayersesscount( ).
lv_wholenumber = lo_row_1->get_maxplayersessioncount( ).
lv_gamesessionstatus = lo_row_1->get_status( ).
lv_gamesessionstatusreason = lo_row_1->get_statusreason( ).
LOOP AT lo_row_1->get_gameproperties( ) into lo_row_2.
lo_row_3 = lo_row_2.
IF lo_row_3 IS NOT INITIAL.
lv_gamepropertykey = lo_row_3->get_key( ).
lv_gamepropertyvalue = lo_row_3->get_value( ).
ENDIF.
ENDLOOP.
lv_ipaddress = lo_row_1->get_ipaddress( ).
lv_dnsname = lo_row_1->get_dnsname( ).
lv_portnumber = lo_row_1->get_port( ).
lv_playersessioncreationpo = lo_row_1->get_playersesscreationpolicy( ).
lv_nonzeroandmaxstring = lo_row_1->get_creatorid( ).
lv_largegamesessiondata = lo_row_1->get_gamesessiondata( ).
lv_matchmakerdata = lo_row_1->get_matchmakerdata( ).
lv_locationstringmodel = lo_row_1->get_location( ).
ENDIF.
ENDLOOP.
lv_nonzeroandmaxstring = lo_result->get_nexttoken( ).
ENDIF.