GameLiftStreams / Client / get_stream_url

get_stream_url

GameLiftStreams.Client.get_stream_url(**kwargs)

Retrieves properties for a stream URL, including its current status, usage, and the stream sessions started through it.

If you delete the stream group or application that backs the stream URL, this operation updates the status of the stream URL to REVOKED.

See also: AWS API Documentation

Request Syntax

response = client.get_stream_url(
    Identifier='string',
    StreamUrlIdentifier='string'
)
Parameters:
  • Identifier (string) –

    [REQUIRED]

    An Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. Example ID: sg-1AB2C3De4.

    This is the stream group that owns the stream URL.

  • StreamUrlIdentifier (string) –

    [REQUIRED]

    The unique identifier of the stream URL. Specify a stream URL ID or Amazon Resource Name (ARN). Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamurl/sg-1AB2C3De4/su-1AB2C3De4. Example ID: su-1AB2C3De4.

Return type:

dict

Returns:

Response Syntax

{
    'Arn': 'string',
    'StreamUrlId': 'string',
    'StreamUrl': 'string',
    'Status': 'ACTIVE'|'EXPIRED'|'REVOKED'|'LIMIT_REACHED',
    'StatusReason': 'userRevoked'|'revokedAndTerminatingSessions'|'revokedAndSessionsTerminated'|'streamGroupDeleted'|'applicationDeleted',
    'ExpiresAt': datetime(2015, 1, 1),
    'CreatedAt': datetime(2015, 1, 1),
    'UsageLimit': 123,
    'RemainingUses': 123,
    'StreamGroupArn': 'string',
    'ApplicationArn': 'string',
    'Protocol': 'WebRTC',
    'Locations': [
        'string',
    ],
    'SessionLengthSeconds': 123,
    'Description': 'string',
    'AdditionalLaunchArgs': [
        'string',
    ],
    'AdditionalEnvironmentVariables': {
        'string': 'string'
    },
    'RoleArn': 'string',
    'DisplayConfiguration': {
        'Resolution': {
            'Width': 123,
            'Height': 123
        }
    },
    'StreamSessions': [
        {
            'Arn': 'string',
            'UserId': 'string',
            'Status': 'ACTIVATING'|'ACTIVE'|'CONNECTED'|'PENDING_CLIENT_RECONNECTION'|'RECONNECTING'|'TERMINATING'|'TERMINATED'|'ERROR',
            'StatusReason': 'internalError'|'invalidSignalRequest'|'placementTimeout'|'applicationLogS3DestinationError'|'assumeRoleFailed'|'applicationExit'|'connectionTimeout'|'reconnectionTimeout'|'maxSessionLengthTimeout'|'idleTimeout'|'apiTerminated',
            'Protocol': 'WebRTC',
            'LastUpdatedAt': datetime(2015, 1, 1),
            'CreatedAt': datetime(2015, 1, 1),
            'ApplicationArn': 'string',
            'ExportFilesMetadata': {
                'Status': 'SUCCEEDED'|'FAILED'|'PENDING',
                'StatusReason': 'string',
                'OutputUri': 'string'
            },
            'Location': 'string',
            'RoleArn': 'string'
        },
    ]
}

Response Structure

  • (dict) –

    • Arn (string) –

      The Amazon Resource Name (ARN) that uniquely identifies the stream URL across all Amazon Web Services Regions. Format is arn:aws:gameliftstreams:[AWS Region]:[AWS account]:streamurl/[stream group resource ID]/[stream URL resource ID].

    • StreamUrlId (string) –

      The unique identifier for the stream URL resource, for example su-1AB2C3De4.

    • StreamUrl (string) –

      The shareable stream URL. Distribute this URL to end users so that they can start and play a stream session in a hosted web player. Treat the stream URL as a secret. Anyone who has it can start a stream session until the stream URL expires, is revoked, or reaches its usage limit.

    • Status (string) –

      The current status of the stream URL. Possible statuses include the following:

      • ACTIVE: The stream URL is valid and can start stream sessions.

      • EXPIRED: The stream URL has passed its expiration time and can no longer start stream sessions.

      • REVOKED: The stream URL was revoked and can no longer start stream sessions.

      • LIMIT_REACHED: The stream URL has been used the maximum number of times and can no longer start stream sessions.

    • StatusReason (string) –

      Additional information about why the stream URL is in its current status. Amazon GameLift Streams populates this value when the status is REVOKED. Possible values include the following:

      • userRevoked: You revoked the stream URL.

      • revokedAndTerminatingSessions: You revoked the stream URL and Amazon GameLift Streams is ending its running stream sessions.

      • revokedAndSessionsTerminated: You revoked the stream URL and its running stream sessions have ended.

      • streamGroupDeleted: The stream group was deleted, which revoked the stream URL.

      • applicationDeleted: The application was deleted, which revoked the stream URL.

    • ExpiresAt (datetime) –

      The date and time when the stream URL expires and stops accepting new stream sessions. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC).

    • CreatedAt (datetime) –

      A timestamp that indicates when this resource was created. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC).

    • UsageLimit (integer) –

      The maximum number of times the stream URL can start a stream session.

    • RemainingUses (integer) –

      The number of times the stream URL can still be used to start a stream session.

    • StreamGroupArn (string) –

      The stream group that runs the stream sessions.

      This value is an Amazon Resource Name (ARN) that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4.

    • ApplicationArn (string) –

      The application that runs in the stream sessions.

      This value is an Amazon Resource Name (ARN) that uniquely identifies the application resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6.

    • Protocol (string) –

      The data transport protocol used for stream sessions started from this stream URL.

    • Locations (list) –

      The list of locations, in order of preference, where Amazon GameLift Streams places the stream session. For a complete list of locations that Amazon GameLift Streams supports, refer to Regions, quotas, and limitations in the Amazon GameLift Streams Developer Guide.

      • (string) –

    • SessionLengthSeconds (integer) –

      The maximum length of time, in seconds, that a stream session started from this stream URL can run.

    • Description (string) –

      The descriptive label for the stream URL.

    • AdditionalLaunchArgs (list) –

      The command-line arguments passed to the application when a stream session starts.

      • (string) –

    • AdditionalEnvironmentVariables (dict) –

      The environment variables made available to the application when a stream session starts.

      • (string) –

        • (string) –

    • RoleArn (string) –

      The Amazon Resource Name (ARN) of the IAM role that Amazon GameLift Streams assumes during stream sessions started from this stream URL. For more information, see Provide AWS credentials to your streaming application in the Amazon GameLift Streams Developer Guide.

    • DisplayConfiguration (dict) –

      The display settings, such as resolution, for stream sessions started from this stream URL.

      • Resolution (dict) –

        The resolution to apply to the stream session’s virtual monitor. When specified, this value overrides the default resolution of 1920 × 1080.

        • Width (integer) –

          The width of the stream session’s virtual monitor, in pixels. The value must be an even number.

        • Height (integer) –

          The height of the stream session’s virtual monitor, in pixels. The value must be an even number.

    • StreamSessions (list) –

      A list of the stream sessions that have been started through this stream URL.

      • (dict) –

        Describes an Amazon GameLift Streams stream session. To retrieve additional details for the stream session, call GetStreamSession.

        • Arn (string) –

          An Amazon Resource Name (ARN) that uniquely identifies the stream session resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamsession/sg-1AB2C3De4/ABC123def4567.

        • UserId (string) –

          An opaque, unique identifier for an end-user, defined by the developer.

        • Status (string) –

          The current status of the stream session resource.

          • ACTIVATING: The stream session is starting and preparing to stream.

          • ACTIVE: The stream session is ready and waiting for a client connection. A client has ConnectionTimeoutSeconds (specified in StartStreamSession) from when the session reaches ACTIVE state to establish a connection. If no client connects within this timeframe, the session automatically terminates.

          • CONNECTED: The stream session has a connected client. A session will automatically terminate if there is no user input for 60 minutes, or if the maximum length of a session specified by SessionLengthSeconds in StartStreamSession is exceeded.

          • ERROR: The stream session failed to activate. See StatusReason (returned by GetStreamSession and StartStreamSession) for more information.

          • PENDING_CLIENT_RECONNECTION: A client has recently disconnected and the stream session is waiting for the client to reconnect. A client has ConnectionTimeoutSeconds (specified in StartStreamSession) from when the session reaches PENDING_CLIENT_RECONNECTION state to re-establish a connection. If no client connects within this timeframe, the session automatically terminates.

          • RECONNECTING: A client has initiated a reconnect to a session that was in PENDING_CLIENT_RECONNECTION state.

          • TERMINATING: The stream session is ending.

          • TERMINATED: The stream session has ended.

        • StatusReason (string) –

          A short description of the reason the stream session is in ERROR status or TERMINATED status.

          ERROR status reasons:

          • applicationLogS3DestinationError: Could not write the application log to the Amazon S3 bucket that is configured for the streaming application. Make sure the bucket still exists.

          • internalError: An internal service error occurred. Start a new stream session to continue streaming.

          • invalidSignalRequest: The WebRTC signal request that was sent is not valid. When starting or reconnecting to a stream session, use generateSignalRequest in the Amazon GameLift Streams Web SDK to generate a new signal request.

          • placementTimeout: Amazon GameLift Streams could not find available stream capacity to start a stream session. Increase the stream capacity in the stream group or wait until capacity becomes available.

          TERMINATED status reasons:

          • apiTerminated: The stream session was terminated by an API call to TerminateStreamSession.

          • applicationExit: The streaming application exited or crashed. The stream session was terminated because the application is no longer running.

          • connectionTimeout: The stream session was terminated because the client failed to connect within the connection timeout period specified by ConnectionTimeoutSeconds.

          • maxSessionLengthTimeout: The stream session was terminated because it exceeded the maximum session length timeout period specified by SessionLengthSeconds.

          • reconnectionTimeout: The stream session was terminated because the client failed to reconnect within the reconnection timeout period specified by ConnectionTimeoutSeconds after losing connection.

        • Protocol (string) –

          The data transfer protocol in use with the stream session.

        • LastUpdatedAt (datetime) –

          A timestamp that indicates when this resource was last updated. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC).

        • CreatedAt (datetime) –

          A timestamp that indicates when this resource was created. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC).

        • ApplicationArn (string) –

          An Amazon Resource Name (ARN) that uniquely identifies the application resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6.

        • ExportFilesMetadata (dict) –

          Provides details about the stream session’s exported files.

          • Status (string) –

            The result of the ExportStreamSessionFiles operation.

          • StatusReason (string) –

            A short description of the reason the export is in FAILED status.

          • OutputUri (string) –

            The S3 bucket URI where Amazon GameLift Streams uploaded the set of compressed exported files for a stream session. Amazon GameLift Streams generates a ZIP file name based on the stream session metadata. Alternatively, you can provide a custom file name with a .zip file extension.

            Example 1: If you provide an S3 URI called s3://amzn-s3-demo-destination-bucket/MyGame_Session1.zip, then Amazon GameLift Streams will save the files at that location.

            Example 2: If you provide an S3 URI called s3://amzn-s3-demo-destination-bucket/MyGameSessions_ExportedFiles/, then Amazon GameLift Streams will save the files at s3://amzn-s3-demo-destination-bucket/MyGameSessions_ExportedFiles/YYYYMMDD-HHMMSS-appId-sg-Id-sessionId.zip or another similar name.

        • Location (string) –

          The location where Amazon GameLift Streams hosts and streams your application. For example, us-east-1. For a complete list of locations that Amazon GameLift Streams supports, refer to Regions, quotas, and limitations in the Amazon GameLift Streams Developer Guide.

        • RoleArn (string) –

          The ARN of the AWS Identity and Access Management (IAM) role that Amazon GameLift Streams assumes on behalf of your application during the stream session.

Exceptions

  • GameLiftStreams.Client.exceptions.AccessDeniedException

  • GameLiftStreams.Client.exceptions.ResourceNotFoundException

  • GameLiftStreams.Client.exceptions.ThrottlingException

  • GameLiftStreams.Client.exceptions.InternalServerException

  • GameLiftStreams.Client.exceptions.ValidationException