@aws-sdk/client-gamelift
Description
AWS SDK for JavaScript GameLift Client for Node.js, Browser and React Native.
Amazon GameLift Servers provides solutions for hosting session-based multiplayer game servers in the cloud, including tools for deploying, operating, and scaling game servers. Built on Amazon Web Services global computing infrastructure, GameLift helps you deliver high-performance, high-reliability, low-cost game servers while dynamically scaling your resource usage to meet player demand.
About Amazon GameLift Servers solutions
Get more information on these Amazon GameLift Servers solutions in the Amazon GameLift Servers Developer Guide.
-
Amazon GameLift Servers managed hosting -- Amazon GameLift Servers offers a fully managed service to set up and maintain computing machines for hosting, manage game session and player session life cycle, and handle security, storage, and performance tracking. You can use automatic scaling tools to balance player demand and hosting costs, configure your game session management to minimize player latency, and add FlexMatch for matchmaking.
-
Managed hosting with Amazon GameLift Servers Realtime -- With Amazon GameLift Servers Amazon GameLift Servers Realtime, you can quickly configure and set up ready-to-go game servers for your game. Amazon GameLift Servers Realtime provides a game server framework with core Amazon GameLift Servers infrastructure already built in. Then use the full range of Amazon GameLift Servers managed hosting features, including FlexMatch, for your game.
-
Amazon GameLift Servers FleetIQ -- Use Amazon GameLift Servers FleetIQ as a standalone service while hosting your games using EC2 instances and Auto Scaling groups. Amazon GameLift Servers FleetIQ provides optimizations for game hosting, including boosting the viability of low-cost Spot Instances gaming. For a complete solution, pair the Amazon GameLift Servers FleetIQ and FlexMatch standalone services.
-
Amazon GameLift Servers FlexMatch -- Add matchmaking to your game hosting solution. FlexMatch is a customizable matchmaking service for multiplayer games. Use FlexMatch as integrated with Amazon GameLift Servers managed hosting or incorporate FlexMatch as a standalone service into your own hosting solution.
About this API Reference
This reference guide describes the low-level service API for Amazon GameLift Servers. With each topic in this guide, you can find links to language-specific SDK guides and the Amazon Web Services CLI reference. Useful links:
Installing
To install this package, use the CLI of your favorite package manager:
npm install @aws-sdk/client-gameliftyarn add @aws-sdk/client-gameliftpnpm add @aws-sdk/client-gamelift
Getting Started
Import
The AWS SDK is modulized by clients and commands.
To send a request, you only need to import the GameLiftClient and
the commands you need, for example ListAliasesCommand:
// ES5 example
const { GameLiftClient, ListAliasesCommand } = require("@aws-sdk/client-gamelift");
// ES6+ example
import { GameLiftClient, ListAliasesCommand } from "@aws-sdk/client-gamelift";
Usage
To send a request:
- Instantiate a client with configuration (e.g. credentials, region).
- See docs/CLIENTS for configuration details.
- See @aws-sdk/config for additional options.
- Instantiate a command with input parameters.
- Call the
sendoperation on the client, providing the command object as input.
const client = new GameLiftClient({ region: "REGION" });
const params = { /** input parameters */ };
const command = new ListAliasesCommand(params);
Supported Message Protocols
This client supports multiple protocols.
The default for this client is AWS JSON (RPC) 1.1.
We have selected this default based on our evaluation of the performance characteristics of this protocol format in JavaScript. You don't need to change it, but you have the option to do so, for example to support existing integrations or tests. Selecting a non-default protocol changes the format of the data sent over the network, but does not affect how you interact with the client using JavaScript objects.
Install the @aws-sdk/config package to access alternate protocols.
See AWS Protocols for more information.
AWS JSON (RPC) 1.1
This protocol uses JSON payloads.
import { AwsJson1_1Protocol } from "@aws-sdk/config/protocol";
const client = new GameLiftClient({
protocol: AwsJson1_1Protocol
});
Smithy RPC v2 CBOR
This protocol uses CBOR payloads.
import { AwsSmithyRpcV2CborProtocol } from "@aws-sdk/config/protocol";
const client = new GameLiftClient({
protocol: AwsSmithyRpcV2CborProtocol
});
Async/await
We recommend using the await operator to wait for the promise returned by send operation as follows:
// async/await.
try {
const data = await client.send(command);
// process data.
} catch (error) {
// error handling.
} finally {
// finally.
}
Promises
You can also use Promise chaining.
client
.send(command)
.then((data) => {
// process data.
})
.catch((error) => {
// error handling.
})
.finally(() => {
// finally.
});
Aggregated client
The aggregated client class is exported from the same package, but without the "Client" suffix.
GameLift extends GameLiftClient and additionally supports all operations, waiters, and paginators as methods.
This style may be familiar to you from the AWS SDK for JavaScript v2.
If you are bundling the AWS SDK, we recommend using only the bare-bones client (GameLiftClient).
More details are in the blog post on
modular packages in AWS SDK for JavaScript.
import { GameLift } from "@aws-sdk/client-gamelift";
const client = new GameLift({ region: "REGION" });
// async/await.
try {
const data = await client.listAliases(params);
// process data.
} catch (error) {
// error handling.
}
// Promises.
client
.listAliases(params)
.then((data) => {
// process data.
})
.catch((error) => {
// error handling.
});
// callbacks (not recommended).
client.listAliases(params, (err, data) => {
// process err and data.
});
Troubleshooting
When the service returns an exception, the error will include the exception information, as well as response metadata (e.g. request id).
try {
const data = await client.send(command);
// process data.
} catch (error) {
const { requestId, cfId, extendedRequestId } = error.$metadata;
console.log({ requestId, cfId, extendedRequestId });
/**
* The keys within exceptions are also parsed.
* You can access them by specifying exception names:
* if (error.name === 'SomeServiceException') {
* const value = error.specialKeyInException;
* }
*/
}
See also docs/ERROR_HANDLING.
Getting Help
Please use these community resources for getting help. We use GitHub issues for tracking bugs and feature requests, but have limited bandwidth to address them.
- Visit the Developer Guide or API Reference.
- Check out the blog posts tagged with
aws-sdk-json AWS Developer Blog. - Ask a question on StackOverflow and tag it with
aws-sdk-js. - Join the AWS JavaScript community on gitter.
- If it turns out that you may have found a bug, please open an issue.
To test your universal JavaScript code in Node.js, browser and react-native environments, visit our code samples repo.
Contributing
This client code is generated automatically. Any modifications will be overwritten the next time the @aws-sdk/client-gamelift package is updated.
To contribute to client you can check our generate clients scripts.
License
This SDK is distributed under the Apache License, Version 2.0, see LICENSE for more information.
Client Commands (Operations List)
AcceptMatch
ClaimGameServer
CreateAlias
CreateBuild
CreateContainerFleet
CreateContainerGroupDefinition
CreateFleet
CreateFleetLocations
CreateGameServerGroup
CreateGameSession
CreateGameSessionQueue
CreateLocation
CreateMatchmakingConfiguration
CreateMatchmakingRuleSet
CreatePlayerSession
CreatePlayerSessions
CreateScript
CreateVpcPeeringAuthorization
CreateVpcPeeringConnection
DeleteAlias
DeleteBuild
DeleteContainerFleet
DeleteContainerGroupDefinition
DeleteFleet
DeleteFleetLocations
DeleteGameServerGroup
DeleteGameSessionQueue
DeleteLocation
DeleteMatchmakingConfiguration
DeleteMatchmakingRuleSet
DeleteScalingPolicy
DeleteScript
DeleteVpcPeeringAuthorization
DeleteVpcPeeringConnection
DeregisterCompute
DeregisterGameServer
DescribeAlias
DescribeBuild
DescribeCompute
DescribeContainerFleet
DescribeContainerGroupDefinition
DescribeContainerGroupPortMappings
DescribeEC2InstanceLimits
DescribeFleetAttributes
DescribeFleetCapacity
DescribeFleetDeployment
DescribeFleetEvents
DescribeFleetLocationAttributes
DescribeFleetLocationCapacity
DescribeFleetLocationUtilization
DescribeFleetPortSettings
DescribeFleetUtilization
DescribeGameServer
DescribeGameServerGroup
DescribeGameServerInstances
DescribeGameSessionDetails
DescribeGameSessionPlacement
DescribeGameSessionQueues
DescribeGameSessions
DescribeInstances
DescribeMatchmaking
DescribeMatchmakingConfigurations
DescribeMatchmakingRuleSets
DescribePlayerSessions
DescribeRuntimeConfiguration
DescribeScalingPolicies
DescribeScript
DescribeVpcPeeringAuthorizations
DescribeVpcPeeringConnections
GetComputeAccess
GetComputeAuthToken
GetGameSessionLogUrl
GetInstanceAccess
GetPlayerConnectionDetails
ListAliases
ListBuilds
ListCompute
ListContainerFleets
ListContainerGroupDefinitions
ListContainerGroupDefinitionVersions
ListFleetDeployments
ListFleets
ListGameServerGroups
ListGameServers
ListLocations
ListScripts
ListTagsForResource
PutScalingPolicy
RegisterCompute
RegisterGameServer
RequestUploadCredentials
ResolveAlias
ResumeGameServerGroup
SearchGameSessions
StartFleetActions
StartGameSessionPlacement
StartMatchBackfill
StartMatchmaking
StopFleetActions
StopGameSessionPlacement
StopMatchmaking
SuspendGameServerGroup
TagResource
TerminateGameSession
UntagResource
UpdateAlias
UpdateBuild
UpdateContainerFleet
UpdateContainerGroupDefinition
UpdateFleetAttributes
UpdateFleetCapacity
UpdateFleetPortSettings
UpdateGameServer
UpdateGameServerGroup
UpdateGameSession
UpdateGameSessionQueue
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/gam