

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Go サーバー SDK for Amazon GameLift Servers – アクション
<a name="integration-server-sdk-go-actions"></a>

サーバー SDK 5.x リファレンスを使用して、Amazon GameLift Servers でホスティングするマルチプレイヤーゲームを統合します。統合プロセスのガイダンスについては、「[サーバー SDK を使用して、Amazon GameLift Servers をゲームサーバーに追加します。](gamelift-sdk-server-api.md)」を参照してください。

`GameLiftServerAPI.go` は、Go サーバー SDK アクションを定義します。

# Go サーバー SDK for Amazon GameLift Servers -- データ型
<a name="integration-server-sdk-go-datatypes"></a>

サーバー SDK リファレンスを使用して、Amazon GameLift Servers でホスティングするマルチプレイヤーゲームを統合します。統合プロセスのガイダンスについては、「[サーバー SDK を使用して、Amazon GameLift Servers をゲームサーバーに追加します。](gamelift-sdk-server-api.md)」を参照してください。

`GameLiftServerAPI.go` は、Go サーバー SDK アクションを定義します。

[Go サーバー SDK for Amazon GameLift Servers – アクション](integration-server-sdk-go-actions.md)

**Topics**
+ [LogParameters](#integration-server-sdk-go-dataypes-log)
+ [MetricsParameters](#integration-server-sdk-go-dataypes-metrics)
+ [ProcessParameters](#integration-server-sdk-go-dataypes-process)
+ [UpdateGameSession](#integration-server-sdk-go-dataypes-updategamesession)
+ [GameSession](#integration-server-sdk-go-dataypes-gamesession)
+ [ServerParameters](#integration-server-sdk-go-dataypes-serverparameters)
+ [StartMatchBackfillRequest](#integration-server-sdk-go-dataypes-startmatchbackfillrequest)
+ [プレイヤー](#integration-server-sdk-go-dataypes-player)
+ [DescribePlayerSessionsRequest](#integration-server-sdk-go-dataypes-playersessions)
+ [StopMatchBackfillRequest](#integration-server-sdk-go-dataypes-stopmatchbackfillrequest)
+ [GetFleetRoleCredentialsRequest](#integration-server-sdk-go-dataypes-getfleetrolecredentialsrequest)

## LogParameters
<a name="integration-server-sdk-go-dataypes-log"></a>

ゲームセッション中に生成されたファイルを識別するオブジェクトで、ゲームセッション終了時に Amazon GameLift Servers でアップロードして保存します。ゲームサーバーは、[ProcessReady()](integration-server-sdk-go-actions.md#integration-server-sdk-go-processready) 呼び出しで `ProcessParameters` オブジェクトの一部として `LogParameters` を Amazon GameLift Servers に提供します。


|  |  | 
| --- |--- |
|  **プロパティ**  | 説明 | 
| LogPaths |  Amazon GameLift Servers で将来のアクセスに備えて保存するゲームサーバーログファイルへのディレクトリパスのリスト。サーバープロセスは各ゲームセッション中にこれらのファイルを生成します。ファイルのパスと名前はゲームサーバーで定義し､ルートゲームビルドディレクトリに保存します。 ログパスは絶対パスである必要があります。例えば、ゲームビルドによって `MyGame\sessionLogs\` などのパスに保存されるゲームセッションログの場合、パスは `c:\game\MyGame\sessionLogs` (Windows インスタンスの場合) となります。 **タイプ**: `[]string` **必須:** いいえ  | 

## MetricsParameters
<a name="integration-server-sdk-go-dataypes-metrics"></a>

メトリクスシステムを初期化するための設定パラメータを通信するオブジェクト。この設定は、StatsD レポート、クラッシュレポート、メトリクス処理の動作を設定するために使用されます。ゲームサーバーは、[InitMetrics()](integration-server-sdk-go-actions.md#integration-server-sdk-go-initmetrics) の呼び出しの一部として `MetricsParameters` を Amazon GameLift Servers に提供します。


|  |  | 
| --- |--- |
|  **プロパティ**  | 説明 | 
| StatsdHost |  メトリクスレポート用の StatsD サーバーホスト (「localhost」など)。 **タイプ**: `string` **必須:** はい  | 
| StatsdPort |  メトリクスレポートの StatsD サーバーポート (8125 など)。 **タイプ**: `int` **必須:** はい  | 
| CrashReporterHost |  クラッシュ追跡とプロセスモニタリング用のクラッシュレポーターホスト。 **タイプ**: `string` **必須:** はい  | 
| CrashReporterPort |  クラッシュ追跡とプロセスモニタリング用のクラッシュレポーターポート。 **タイプ**: `int` **必須:** はい  | 
| FlushIntervalMs |  メトリクスのフラッシュ間隔はミリ秒単位です。メトリクスが StatsD に送信される頻度を制御します。 **タイプ**: `int` **必須:** はい  | 
| MaxPacketSize |  バイト単位のメトリクスの最大パケットサイズ。StatsD に送信される UDP パケットのサイズを制限します。 **タイプ**: `int` **必須:** はい  | 

## ProcessParameters
<a name="integration-server-sdk-go-dataypes-process"></a>

サーバープロセスと Amazon GameLift Servers の間の通信を記述するオブジェクト。サーバープロセスは、この情報を Amazon GameLift Servers 呼び出しで [ProcessReady()](integration-server-sdk-go-actions.md#integration-server-sdk-go-processready) に提供します。


|  |  | 
| --- |--- |
|  **プロパティ**  | 説明 | 
| LogParameters | ゲームセッション中に生成されるファイルへのディレクトリパスを持つオブジェクトです。Amazon GameLift Servers はこれらのファイルをコピーして保存し、後で参照できるようにします。**タイプ**: `LogParameters`**必須:** いいえ | 
| OnHealthCheck | Amazon GameLift Servers がサーバープロセスにヘルスステータスレポートを要求するために呼び出すコールバック関数です。Amazon GameLift Servers はこの関数を 60 秒ごとに呼び出し、応答を最大 60 秒間待機します。サーバープロセスは正常であれば TRUE を返し、正常でない場合は FALSE を返します。応答が返されない場合、Amazon GameLift Servers はサーバープロセスを正常ではないと記録します。**タイプ**: `OnHealthCheck func() bool`**必須:** いいえ | 
| OnProcessTerminate | Amazon GameLift Servers がサーバープロセスを強制的にシャットダウンするために呼び出すコールバック関数です。この関数を呼び出すと、Amazon GameLift Servers はサーバープロセスがシャットダウンするまで最大 5 分間待機し、サーバープロセスがシャットダウンする前に [ProcessEnding()](integration-server-sdk-go-actions.md#integration-server-sdk-go-processending) 呼び出しで応答するのを待ちます。**タイプ**: `OnProcessTerminate func()`**必須:** はい | 
| OnStartGameSession | 更新されたゲームセッションオブジェクトをサーバープロセスに渡すために、Amazon GameLift Servers が呼び出すコールバック関数。Amazon GameLift Servers は、更新されたマッチメーカーデータを提供するために、マッチバックフィルリクエストが処理された際にこの関数を呼び出します。これは、[GameSession](#integration-server-sdk-go-dataypes-gamesession) オブジェクト、ステータス更新 (updateReason) そして、マッチバックフィルチケット ID を渡します。**タイプ**: `OnStartGameSession func (model.GameSession )`**必須:** はい | 
| OnUpdateGameSession | Amazon GameLift Serversが呼び出して更新されたゲームセッション情報をサーバープロセスに渡すコールバック関数。Amazon GameLift Servers は、マッチバックフィルリクエストを処理した後にこの関数を呼び出して、更新されたマッチメーカーデータを提供します。**タイプ**: `OnUpdateGameSession func (model.UpdateGameSession)`**必須:** いいえ | 
| Port | サーバープロセスが新しいプレイヤーの接続をリスンするポート番号。値は、このゲームサーバービルドをデプロイするすべてのフリートで設定されているポート番号の範囲に含まれる必要があります。このポート番号は、ゲームセッションオブジェクトとプレイヤーセッションオブジェクトに含まれ、ゲームセッションがサーバープロセスに接続するときに使用します。**タイプ**: `int`**必須:** はい | 

## UpdateGameSession
<a name="integration-server-sdk-go-dataypes-updategamesession"></a>

ゲームセッションオブジェクトの更新。これには、ゲームセッションが更新された理由と、バックフィルを使用してゲームセッション内のプレイヤーセッションを埋めるための関連するバックフィルチケット ID が含まれます。


| プロパティ | **説明** | 
| --- | --- | 
| GameSession | [GameSession](#integration-server-sdk-go-dataypes-gamesession) オブジェクト。GameSession オブジェクトにはゲームセッションを説明するプロパティが含まれています。**タイプ**: `GameSession GameSession()`**必須:** はい | 
| UpdateReason | ゲームセッションが更新されている理由。**タイプ**: `UpdateReason UpdateReason()`**必須:** はい | 
| BackfillTicketId | ゲームセッションの更新を試みるバックフィルチケットの ID。**タイプ**: `String`**必須:** いいえ | 

## GameSession
<a name="integration-server-sdk-go-dataypes-gamesession"></a>

ゲームセッションの詳細。


| プロパティ | **説明** | 
| --- | --- | 
| GameSessionId |  ゲームセッションの一意の識別子。ゲームセッション Amazon リソースネーム (ARN) には `arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency token>` 形式があります。 **タイプ**: `String` **必須:** いいえ  | 
| 名前 |  ゲームセッションについて説明するラベル。 **タイプ**: `String` **必須:** いいえ  | 
| FleetId |  ゲームセッションが実行されているフリートの一意の識別子。 **タイプ**: `String` **必須:** いいえ  | 
| MaximumPlayerSessionCount |  ゲームセッションへのプレーヤー接続の最大数。 **タイプ**: `Integer` **必須:** いいえ  | 
| ポート |  ゲームセッションのポート番号。Amazon GameLift Servers ゲームサーバーに接続するには、アプリに IP アドレスとポート番号の両方が必要です。 **タイプ**: `Integer` **必須:** いいえ  | 
| IpAddress |  ゲームセッションの IP アドレス。Amazon GameLift Servers ゲームサーバーに接続するには、アプリに IP アドレスとポート番号の両方が必要です。 **タイプ**: `String` **必須:** いいえ  | 
| GameSessionData |  単一の文字列値としてフォーマットされたカスタムゲームセッションプロパティのセット。 **タイプ**: `String` **必須:** いいえ  | 
| MatchmakerData |  ゲームセッションの作成に使用されたマッチメーキングプロセスに関する情報。JSON 構文で、文字列としてフォーマットされています。使用されたマッチメーキング設定に加えて、プレイヤー属性やチーム割り当てなど、マッチに割り当てられた全プレイヤーに関するデータが含まれます。 **タイプ**: `String` **必須:** いいえ  | 
| GameProperties |  ゲームセッションのカスタムプロパティのセットで、キーと値のペアとしてフォーマットされます。これらのプロパティは、新しいゲームセッションを開始するリクエストとともに渡されます。 **タイプ**: `map[string] string` **必須:** いいえ  | 
| DnsName |  ゲームセッションを実行しているインスタンスに割り当てられた DNS 識別子。値の形式は次のとおりです。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/gameliftservers/latest/developerguide/integration-server-sdk-go-datatypes.html) TLS 対応フリートで実行しているゲームセッションに接続する場合、IP アドレスではなく DNS 名を使用する必要があります。 **タイプ**: `String` **必須:** いいえ  | 

## ServerParameters
<a name="integration-server-sdk-go-dataypes-serverparameters"></a>

Amazon GameLift Servers Anywhere サーバーと Amazon GameLift Servers サービス間の接続を維持するために使用される情報。この情報は、[InitSDK()](integration-server-sdk-go-actions.md#integration-server-sdk-go-initsdk) で新しいサーバープロセスを起動するときに使用されます。Amazon GameLift Servers マネージド EC2 インスタンスでホストされているサーバーには、空のオブジェクトを使用してください。


| プロパティ | **説明** | 
| --- | --- | 
| WebSocketURL |  Amazon GameLift Servers Anywhere コンピューティングリソース用に [https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_RegisterCompute.html](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_RegisterCompute.html) を実行すると、`GameLiftServerSdkEndpoint` Amazon GameLift Servers が返されます。 **タイプ**: `string` **必須:** はい  | 
| ProcessID |  ゲームをホストするサーバープロセスに登録された固有の識別子。 **タイプ**: `string` **必須:** はい  | 
| HostID |  新しいサーバープロセスをホストしているコンピュートリソースの一意の識別子。 `HostID` はコンピューティングを登録したときに使用される `ComputeName` です。詳細については、「[RegisterCompute](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_RegisterCompute.html)」を参照してください。 **タイプ**: `string` **必須:** はい  | 
| FleetID | コンピューティングが登録されているフリートの固有識別子。詳細については、「[RegisterCompute](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_RegisterCompute.html)」を参照してください。**タイプ**: `string`**必須:** はい | 
| AuthToken | Amazon GameLift Servers によって生成され、サーバーを Amazon GameLift Servers に対して認証するための認証トークン。詳細については、「[GetComputeAuthToken](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_GetComputeAuthToken.html)」を参照してください。**タイプ**: `string`**必須:** はい | 

## StartMatchBackfillRequest
<a name="integration-server-sdk-go-dataypes-startmatchbackfillrequest"></a>

マッチメーキングバックフィルリクエストの作成に使用される情報。ゲームサーバーは、この情報を [StartMatchBackfill()](integration-server-sdk-go-actions.md#integration-server-sdk-go-startmatchbackfill) 呼び出しで Amazon GameLift Servers に送信します。


| プロパティ | **説明** | 
| --- | --- | 
| GameSessionArn |  一意のゲームセッション識別子。API オペレーション `[GetGameSessionId](https://docs.aws.amazon.com/gameliftservers/latest/developerguide/integration-server-sdk-go-actions.html#integration-server-sdk-go-getgamesessionid)` は ARN 形式の識別子を返します。 **タイプ**: `String` **必須:** はい  | 
| MatchmakingConfigurationArn |  このリクエストに使用されるマッチメーカーの ARN 形式の一意な識別子。元のゲームセッションののマッチメーカー ARN は、マッチメーカーデータプロパティのゲームセッションオブジェクトにあります。マッチメーカーデータの詳細については「[マッチメーカーデータの処理](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-server.html#match-server-data.html)」を参照してください。 **タイプ**: `String` **必須:** はい  | 
| プレイヤー |  現在ゲームセッションに参加しているすべてのプレイヤーを表すデータのセット。マッチメーカーはこの情報を使用して、現在のプレイヤーとマッチする新しいプレイヤーを検索します。 **タイプ**: `[]model.Player` **必須:** はい  | 
| TicketId |  マッチメーキングまたはバックフィルリクエストチケットの一意の識別子。値を指定しない場合、Amazon GameLift Servers が値を生成します。この識別子を使用してマッチバックフィルチケットのステータスを追跡したり、必要に応じてリクエストをキャンセルしたりします。 **タイプ**: `String` **必須:** いいえ  | 

## プレイヤー
<a name="integration-server-sdk-go-dataypes-player"></a>

マッチメーキングでプレイヤーを表すオブジェクト。マッチメーキングリクエストを開始すると、プレイヤーにはプレイヤー ID、属性、必要に応じてレイテンシーデータが含まれます。マッチが成立すると、Amazon GameLift Servers がチーム情報を追加します。


| プロパティ | **説明** | 
| --- | --- | 
| LatencyInMS |  プレイヤーがロケーションに接続したときに発生するレイテンシーの量を示すミリ秒単位の値のセット。 このプロパティを使用すると、プレーヤーはリストに表示されている場所でのみマッチングされます。マッチメーカーにプレイヤーレイテンシーを評価するルールがある場合、プレイヤーはレイテンシーを報告しないとマッチングされません。 **タイプ**: `map[string] int` **必須:** いいえ  | 
| PlayerAttributes |  マッチメーキングに使用するプレイヤー情報を含むキーと値のペアの集合。プレイヤー属性キーは、マッチメーキングルールセットで使用されている PlayerAttributes と一致する必要があります。 プレイヤー属性の詳細については、「[AttributeValue](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_AttributeValue.html)」を参照してください。 **タイプ**: `map[string] AttributeValue` **必須:** いいえ  | 
| PlayerId |  プレイヤーを表す一意の識別子。 **タイプ**: `String` **必須:** いいえ  | 
| チーム |  マッチでプレーヤーが割り当てられるチームの名前。チーム名はマッチメーキングルールセットで定義します。 **タイプ**: `String` **必須:** いいえ  | 

## DescribePlayerSessionsRequest
<a name="integration-server-sdk-go-dataypes-playersessions"></a>

取得するプレイヤーセッションを指定するオブジェクト。サーバープロセスは、この情報を [DescribePlayerSessions()](integration-server-sdk-go-actions.md#integration-server-sdk-go-describeplayersessions) 呼び出しで Amazon GameLift Servers に提供します。


| プロパティ | **説明** | 
| --- | --- | 
| GameSessionID |  一意のゲームセッション識別子。このパラメータを使用して、指定したゲームセッションのすべてのプレイヤーセッションをリクエストします。 ゲームセッション ID の形式は `arn:aws:gamelift:<region>::gamesession/fleet-<fleet ID>/<ID string>` です。`GameSessionID` はカスタム ID 文字列または生成された文字列です。 **タイプ**: `String` **必須:** いいえ  | 
| PlayerSessionID |  プレイヤーセッションを表す一意の識別子。このパラメータを使用して、特定の 1 つのプレイヤーセッションをリクエストします。 **タイプ**: `String` **必須:** いいえ  | 
| PlayerID |  プレイヤーの一意識別子。このパラメータを使用して、特定の 1 人のプレイヤーに対するすべてのプレイヤーセッションをリクエストします。「[プレイヤー ID を生成する](player-sessions-player-identifiers.md)」を参照してください。 **タイプ**: `String` **必須:** いいえ  | 
| PlayerSessionStatusFilter |  結果をフィルタリングするプレイヤーセッションステータス。可能なプレイヤーセッションステータスには以下が含まれます。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/gameliftservers/latest/developerguide/integration-server-sdk-go-datatypes.html) **タイプ**: `String` **必須:** いいえ  | 
| NextToken |  結果の次のページの先頭を示すトークン。結果セットの先頭を指定するには、値を指定しないでください。プレイヤーセッション ID を提供する場合、このパラメータは無視されます。 **タイプ**: `String` **必須:** いいえ  | 
| Limit |  返される結果の最大数。プレイヤーセッション ID を提供する場合、このパラメータは無視されます。 **タイプ**: `int` **必須:** いいえ  | 

## StopMatchBackfillRequest
<a name="integration-server-sdk-go-dataypes-stopmatchbackfillrequest"></a>

マッチメーキングバックフィルリクエストのキャンセルに使用される情報。ゲームサーバーは、この情報を [StopMatchBackfill()](integration-server-sdk-go-actions.md#integration-server-sdk-go-stopmatchbackfill) 呼び出しで Amazon GameLift Servers サービスに送信します。


| プロパティ | **説明** | 
| --- | --- | 
| GameSessionArn |  キャンセルされるリクエストの一意のゲームセッション識別子。 **タイプ**: `string` **必須:** いいえ  | 
| MatchmakingConfigurationArn |  このリクエストが送信されたマッチメーカーの一意の識別子。 **タイプ**: `string` **必須:** いいえ  | 
| TicketId |  キャンセルされるバックフィルリクエストチケットの一意の識別子。 **タイプ**: `string` **必須:** いいえ  | 

## GetFleetRoleCredentialsRequest
<a name="integration-server-sdk-go-dataypes-getfleetrolecredentialsrequest"></a>

 AWS リソースへの制限付きアクセスをゲームサーバーに拡張するロール認証情報。詳細については、[Amazon GameLift Servers 用に IAM サービスロールをセットアップする](setting-up-role.md) を参照してください。


| プロパティ | **説明** | 
| --- | --- | 
| RoleArn |  AWS リソースへの制限付きアクセスを拡張するサービスロールの ARN。**タイプ**: `string`**必須:** はい | 
| RoleSessionName | ロール認証情報の使用を説明するセッションの名前。**タイプ**: `string`**必須:** はい | 

[Go サーバー SDK for Amazon GameLift Servers -- データ型](integration-server-sdk-go-datatypes.md)

**Topics**
+ [Go サーバー SDK for Amazon GameLift Servers -- データ型](integration-server-sdk-go-datatypes.md)
+ [GetSdkVersion()](#integration-server-sdk-go-getsdkversion)
+ [InitMetrics()](#integration-server-sdk-go-initmetrics)
+ [InitMetricsFromEnvironment()](#integration-server-sdk-go-initmetricsfromenv)
+ [InitSDK()](#integration-server-sdk-go-initsdk)
+ [ProcessReady()](#integration-server-sdk-go-processready)
+ [ProcessEnding()](#integration-server-sdk-go-processending)
+ [ActivateGameSession()](#integration-server-sdk-go-activategamesession)
+ [UpdatePlayerSessionCreationPolicy()](#integration-server-sdk-go-updateplayersessioncreationpolicy)
+ [GetGameSessionId()](#integration-server-sdk-go-getgamesessionid)
+ [GetTerminationTime()](#integration-server-sdk-go-getterm)
+ [AcceptPlayerSession()](#integration-server-sdk-go-acceptplayersession)
+ [RemovePlayerSession()](#integration-server-sdk-go-removeplayersession)
+ [DescribePlayerSessions()](#integration-server-sdk-go-describeplayersessions)
+ [StartMatchBackfill()](#integration-server-sdk-go-startmatchbackfill)
+ [StopMatchBackfill()](#integration-server-sdk-go-stopmatchbackfill)
+ [GetComputeCertificate()](#integration-server-sdk-go-getcomputecertificate)
+ [GetFleetRoleCredentials()](#integration-server-sdk-go-getfleetrolecredentials)
+ [Destroy()](#integration-server-sdk-go-destroy)

## GetSdkVersion()
<a name="integration-server-sdk-go-getsdkversion"></a>

サーバープロセスに組み込まれた SDK の現在のバージョン番号を返します。

### 構文
<a name="integration-server-sdk-go-getsdkversion-syntax"></a>

```
func GetSdkVersion() (string, error)
```

### 戻り値
<a name="integration-server-sdk-go-getsdkversion-return"></a>

成功した場合、文字列として現在の SDK バージョンを返します。返される文字列は、バージョン番号のみを含みます。(例: `5.0.0`) 成功しなかった場合、`common.SdkVersionDetectionFailed` などのエラーメッセージを返します。

### 例
<a name="integration-server-sdk-go-getsdkversion-example"></a>

```
version, err := server.GetSdkVersion()
```

## InitMetrics()
<a name="integration-server-sdk-go-initmetrics"></a>

Amazon GameLift Servers SDK のメトリクス収集を初期化します。このメソッドは、サーバーのパフォーマンスとヘルスのモニタリングに役立つメトリクスレポートを設定します。このメソッドは、[InitSDK()](#integration-server-sdk-go-initsdk) の後、[ProcessReady()](#integration-server-sdk-go-processready) の前に呼び出します。

### 構文
<a name="integration-server-sdk-go-initmetrics-syntax"></a>

```
func InitMetrics() error
func InitMetrics(metricsParameters MetricsParameters) error
```

### パラメータ
<a name="integration-server-sdk-go-initmetrics-parameter"></a>

MetricsParameters (オプション)  
メトリクスコレクションを設定する `MetricsParameters` オブジェクト。指定しない場合、デフォルトのメトリクス設定が使用されます。MetricsParameters 構造には、次のフィールドが含まれます。  
+ `StatsdHost` - StatsD サーバーのホスト名または IP アドレスを指定します。
+ `StatsdPort` - StatsD サーバーのポート番号を指定します。
+ `CrashReporterHost` - クラッシュレポーターサービスのホスト名または IP アドレスを指定します。
+ `CrashReporterPort` - クラッシュレポーターサービスのポート番号を指定します。
+ `FlushIntervalMs` - メトリクスデータをフラッシュする間隔 (ミリ秒) を指定します。
+ `MaxPacketSize` - メトリクスパケットの最大サイズ (バイト単位) を指定します。
MetricsParameters 構造体の詳細については、「[サーバー SDK 5.x for C\$1 のデータ型](https://docs.aws.amazon.com/gameliftservers/latest/developerguide/integration-server-sdk5-csharp-datatypes.html)」を参照してください。

### 戻り値
<a name="integration-server-sdk-go-initmetrics-return"></a>

成功すると、`nil` はメトリクス収集が正常に初期化されたことを示すエラーを返します。

### 例
<a name="integration-server-sdk-go-initmetrics-example"></a>

デフォルト設定でメトリクスを初期化します。

```
err := server.InitMetrics()
```

カスタム設定を使用してメトリクスを初期化します。

```
metricsParams := MetricsParameters{
    StatsdHost:        "localhost",
    StatsdPort:        8125,
    CrashReporterHost: "localhost",
    CrashReporterPort: 9125,
    FlushIntervalMs:   5000,
    MaxPacketSize:     1024,
}

err := server.InitMetrics(metricsParams)
```

## InitMetricsFromEnvironment()
<a name="integration-server-sdk-go-initmetricsfromenv"></a>

環境変数の設定を使用して Amazon GameLift Servers SDK のメトリクス収集を初期化します。このメソッドは、ランタイム環境から派生したデフォルト設定を使用してメトリクスレポートを設定します。

このメソッドは、[InitSDK()](#integration-server-sdk-go-initsdk) の後、[ProcessReady()](#integration-server-sdk-go-processready) の前に呼び出します。

### 構文
<a name="integration-server-sdk-go-initmetricsfromenv-syntax"></a>

```
func InitMetricsFromEnvironment() error
```

### 戻り値
<a name="integration-server-sdk-go-initmetricsfromenv-return"></a>

成功すると、`nil` エラーを返し、環境設定を使用してメトリクス収集が正常に初期化されたことを示します。

### 例
<a name="integration-server-sdk-go-initmetricsfromenv-example"></a>

```
err := server.InitMetricsFromEnvironment()
```

## InitSDK()
<a name="integration-server-sdk-go-initsdk"></a>

Amazon GameLift Servers SDK を初期化します。起動時に、他の Amazon GameLift Servers 関連の初期化が実行される前にこのメソッドを呼び出します。このメソッドで、サーバーと Amazon GameLift Servers サービスとの通信を確立します。

### 構文
<a name="integration-server-sdk-go-initsdk-syntax"></a>

```
func InitSDK(params ServerParameters) error 
```

### パラメータ
<a name="integration-server-sdk-go-initsdk-parameter"></a>

[ServerParameters](integration-server-sdk-go-datatypes.md#integration-server-sdk-go-dataypes-serverparameters)  
Amazon GameLift Servers Anywhere フリートのゲームサーバーを初期化するには、次の情報を含む `ServerParameters` オブジェクトを作成します。  
+ ゲームサーバーへの接続に使用される WebSocket の URL。
+ ゲームサーバーのホストに使用されるプロセスの ID。
+ ゲームサーバープロセスをホスティングするコンピューティングの ID。
+ Amazon GameLift Servers Anywhere コンピューティングを含む Amazon GameLift Servers フリートの ID。
+ Amazon GameLift Servers オペレーションによって生成された認可トークン。
Amazon GameLift Servers マネージド EC2 フリートのゲームサーバーを初期化するには、パラメータなしで `ServerParameters` オブジェクトを作成します。この呼び出しで、Amazon GameLift Servers エージェントがコンピューティング環境をセットアップし、お客様に代わって Amazon GameLift Servers サービスに自動的に接続します。

### 戻り値
<a name="integration-server-sdk-go-initsdk-return"></a>

成功した場合は、サーバープロセスが [ProcessReady()](#integration-server-sdk-go-processready) を呼び出す準備ができていることを示す `nil` エラーを返します。

**注記**  
Anywhere フリートにデプロイされたゲームビルドに対して `InitSDK()` への呼び出しが失敗する場合は、ビルドリソースの作成時に使用した `ServerSdkVersion` パラメータを確認してください。この値は、使用中のサーバー SDK バージョンに明示的に設定する必要があります。このパラメータのデフォルト値は 4.x で、互換性がありません。この問題を解決するには、新しいビルドを作成して新しいフリートにデプロイします。

### 例
<a name="integration-server-sdk-go-initsdk-example"></a>

Amazon GameLift Servers Anywhere の例

```
//Define the server parameters
serverParameters := ServerParameters {
  WebSocketURL: "wss://us-west-1.api.amazongamelift.com",
  ProcessID: "PID1234",
  HostID: "HardwareAnywhere",
  FleetID: "aarn:aws:gamelift:us-west-1:111122223333:fleet/fleet-9999ffff-88ee-77dd-66cc-5555bbbb44aa",
  AuthToken: "1111aaaa-22bb-33cc-44dd-5555eeee66ff"
}

//Call InitSDK to establish a local connection with the Amazon GameLift Servers Agent to enable further communication.
err := server.InitSDK(serverParameters)
```

Amazon GameLift Servers マネージド EC2 の例

```
//Define the server parameters
serverParameters := ServerParameters {}

//Call InitSDK to establish a local connection with the Amazon GameLift Servers Agent to enable further communication.
err := server.InitSDK(serverParameters)
```

## ProcessReady()
<a name="integration-server-sdk-go-processready"></a>

サーバープロセスがゲームセッションをホストする準備ができたことを Amazon GameLift Servers に通知します。[InitSDK()](#integration-server-sdk-go-initsdk) を呼び出した後にこのメソッドを呼び出します。このメソッドは、プロセスごとに 1 回だけ呼び出す必要があります。

### 構文
<a name="integration-server-sdk-go-processready-syntax"></a>

```
func ProcessReady(param ProcessParameters) error
```

### パラメータ
<a name="integration-server-sdk-go-processready-parameter"></a>

**ProcessParameters**  
サーバープロセスに関する以下の情報を伝える [ProcessParameters](integration-server-sdk-go-datatypes.md#integration-server-sdk-go-dataypes-process) オブジェクト。  
+ サーバープロセスと通信するために Amazon GameLift Servers サービスが呼び出す、ゲームサーバーコードで実装されたコールバックメソッドの名前。
+ サーバープロセスがリッスンするポートの番号。
+ Amazon GameLift Servers でキャプチャして保存するゲームセッション固有のファイルへのパスを含む [LogParameters](integration-server-sdk-go-datatypes.md#integration-server-sdk-go-dataypes-log) データ型。

### 戻り値
<a name="integration-server-sdk-go-processready-return"></a>

メソッドが失敗すると、エラーとエラーメッセージを返します。メソッドが成功した場合は、`nil` を返します。

### 例
<a name="integration-server-sdk-go-processready-example"></a>

この例では、[ProcessReady()](#integration-server-sdk-go-processready) 呼び出しと委任関数の実装の両方を示します。

```
// Define the process parameters
processParams := ProcessParameters {
  OnStartGameSession: gameProcess.OnStartGameSession,
  OnUpdateGameSession: gameProcess.OnGameSessionUpdate,
  OnProcessTerminate: gameProcess.OnProcessTerminate,
  OnHealthCheck: gameProcess.OnHealthCheck,
  Port: port,
  LogParameters: LogParameters {    // logging and error example
    []string {"C:\\game\\logs", "C:\\game\\error"}
  }
}

err := server.ProcessReady(processParams)
```

## ProcessEnding()
<a name="integration-server-sdk-go-processending"></a>

サーバープロセスが終了していることを Amazon GameLift Servers に通知します。アクティブなゲームセッションのシャットダウンを含むその他すべてのクリーンアップタスクの後そして、プロセスを終了する前にこのメソッドを呼び出します。`ProcessEnding()` の結果に応じて、プロセスは成功 (0) またはエラー (-1) で終了し、フリートイベントが生成されます。プロセスがエラーで終了した場合、生成されるフリートイベントは `SERVER_PROCESS_TERMINATED_UNHEALTHY` です。

### 構文
<a name="integration-server-sdk-go-processending-syntax"></a>

```
func ProcessEnding() error
```

### 戻り値
<a name="integration-server-sdk-go-processending-return"></a>

0 のエラーコードまたは定義済みのエラーコードを返します。

### 例
<a name="integration-server-sdk-go-processending-example"></a>

```
// operations to end game sessions and the server process
defer func() {
  err := server.ProcessEnding()
  server.Destroy()
  if err != nil {
    fmt.Println("ProcessEnding() failed. Error: ", err)
    os.Exit(-1)
  } else {
    os.Exit(0)
  }
}
```

## ActivateGameSession()
<a name="integration-server-sdk-go-activategamesession"></a>

サーバープロセスがゲームセッションをアクティブにし、プレイヤーの接続を受ける準備ができていることを Amazon GameLift Servers に通知します。このアクションは、すべてのゲームセッションの初期化の後、`onStartGameSession()` コールバック関数の一部として呼び出されます。

### 構文
<a name="integration-server-sdk-go-activategamesession-syntax"></a>

```
func ActivateGameSession() error
```

### 戻り値
<a name="integration-server-sdk-go-activategamesession-return"></a>

メソッドが失敗すると、エラーとエラーメッセージを返します。

### 例
<a name="integration-server-sdk-go-activategamesession-example"></a>

この例では、`onStartGameSession()` 委任関数の一部として呼び出された `ActivateGameSession()` を示しています。

```
func OnStartGameSession(GameSession gameSession) {
  // game-specific tasks when starting a new game session, such as loading map   
  // Activate when ready to receive players   
  err := server.ActivateGameSession();
}
```

## UpdatePlayerSessionCreationPolicy()
<a name="integration-server-sdk-go-updateplayersessioncreationpolicy"></a>

現在のゲームセッションの機能を更新し、新しいプレイヤーセッションを承諾します。ゲームセッションは、新しいプレイヤーセッションをすべて受け入れるか拒否するかを設定できます。

### 構文
<a name="integration-server-sdk-go-updateplayersessioncreationpolicy-syntax"></a>

```
func UpdatePlayerSessionCreationPolicy(policy model.PlayerSessionCreationPolicy) error
```

### パラメータ
<a name="integration-server-sdk-go-updateplayersessioncreationpolicy-parameter"></a>

**playerSessionCreationPolicy**  
ゲームセッションで新しいプレイヤーを承諾するかどうかを示す文字列値。  
有効な値を次に示します。  
+ **`model.AcceptAll`** – すべての新しいプレイヤーセッションを受け入れます。
+ **`model.DenyAll`** – すべての新しいプレイヤーセッションを拒否します。

### 戻り値
<a name="integration-server-sdk-go-updateplayersessioncreationpolicy-return"></a>

失敗が発生すると、エラーとエラーメッセージを返します。

### 例
<a name="integration-server-sdk-go-updateplayersessioncreationpolicy-example"></a>

この例は、現在のゲームセッションの参加ポリシーを、すべてのプレイヤーを受け入れるように設定します。

```
err := server.UpdatePlayerSessionCreationPolicy(model.AcceptAll)
```

## GetGameSessionId()
<a name="integration-server-sdk-go-getgamesessionid"></a>

アクティブなサーバープロセスにホストされたゲームセッションの ID を取得します。

### 構文
<a name="integration-server-sdk-go-getgamesessionid-syntax"></a>

```
func GetGameSessionID() (string, error)
```

### パラメータ
<a name="integration-server-sdk-go-getgamesessionid-parameter"></a>

このアクションにはパラメータがありません。

### 戻り値
<a name="integration-server-sdk-go-getgamesessionid-return"></a>

成功した場合、ゲームセッション ID を nil エラーを返します。ゲームセッションでアクティブ化されていないアイドルプロセスの場合、呼び出しは空の文字列と `nil` エラーを返します。

### 例
<a name="integration-server-sdk-go-getgamesessionid-example"></a>

```
gameSessionID, err := server.GetGameSessionID()
```

## GetTerminationTime()
<a name="integration-server-sdk-go-getterm"></a>

終了時刻が判る場合に、サーバープロセスがシャットダウンを予定している時刻を返します。サーバープロセスは、Amazon GameLift Servers から `onProcessTerminate()` コールバックを受信した後にこのアクションを実行します。Amazon GameLift Servers は次の理由で `onProcessTerminate()` を呼び出します。
+ サーバープロセスが健全性異常を報告したり、Amazon GameLift Servers に応答しなかった場合。
+ スケールダウンイベント中にインスタンスを終了する場合。
+ [スポットインスタンスの中断](spot-tasks.md)によりインスタンスが終了した場合。

### 構文
<a name="integration-server-sdk-go-getterm-syntax"></a>

```
func GetTerminationTime() (int64, error)
```

### 戻り値
<a name="integration-server-sdk-go-getterm-return"></a>

成功すると、サーバープロセスのシャットダウンが予定されているタイムスタンプ (エポック秒単位) と `nil` エラー終了を返します。値は終了時間で、`0001 00:00:00` からの経過ティックで表現されます。例えば、日付時刻の値 `2020-09-13 12:26:40 -000Z` は、`637355968000000000` ティックに等しくなります。終了時間がない場合は、エラーメッセージを返します。

### 例
<a name="integration-server-sdk-go-getterm-example"></a>

```
terminationTime, err := server.GetTerminationTime()
```

## AcceptPlayerSession()
<a name="integration-server-sdk-go-acceptplayersession"></a>

指定されたプレイヤーセッション ID を持つプレイヤーがサーバープロセスに接続し、検証が必要であることを、Amazon GameLift Servers に通知します。Amazon GameLift Servers は、プレイヤーセッション ID が有効であることを検証します。検証できたら、Amazon GameLift Servers はプレーヤースロットの状態を `RESERVED` から `ACTIVE` に変更します。

### 構文
<a name="integration-server-sdk-go-acceptplayersession-syntax"></a>

```
func AcceptPlayerSession(playerSessionID string) error
```

### パラメータ
<a name="integration-server-sdk-go-acceptplayersession-parameter"></a>

`playerSessionId`  
新しいプレイヤーセッションが作成されたときに Amazon GameLift Servers によって発行される一意の ID。

### 戻り値
<a name="integration-server-sdk-go-acceptplayersession-return"></a>

正常またはエラーメッセージを伴うエラーの、一般的な結果を返します。

### 例
<a name="integration-server-sdk-go-acceptplayersession-example"></a>

この例では、無効なプレイヤーセッション ID の検証と拒否を含む接続リクエストを処理します。

```
func ReceiveConnectingPlayerSessionID(conn Connection, playerSessionID string) {
    err := server.AcceptPlayerSession(playerSessionID)
    if err != nil {
        connection.Accept()
    } else {
        connection.Reject(err.Error())
    }
}
```

## RemovePlayerSession()
<a name="integration-server-sdk-go-removeplayersession"></a>

プレイヤーがサーバープロセスから切断されたことを Amazon GameLift Servers に通知します。それに応じて、Amazon GameLift Servers はプレイヤースロットを利用可能に変更します。

### 構文
<a name="integration-server-sdk-go-removeplayersession-syntax"></a>

```
func RemovePlayerSession(playerSessionID string) error
```

### パラメータ
<a name="integration-server-sdk-go-removeplayersession-parameter"></a>

**`playerSessionId`**  
新しいプレイヤーセッションが作成されたときに Amazon GameLift Servers によって発行される一意の ID。

### 戻り値
<a name="integration-server-sdk-go-removeplayersession-return"></a>

正常またはエラーメッセージを伴うエラーの、一般的な結果を返します。

### 例
<a name="integration-server-sdk-go-removeplayersession-example"></a>

```
err := server.RemovePlayerSession(playerSessionID)
```

## DescribePlayerSessions()
<a name="integration-server-sdk-go-describeplayersessions"></a>

設定、セッションメタデータ、プレイヤーデータを含む、プレイヤーセッションデータを取得します。このメソッドを使用して、以下に関する情報を取得します。
+ シングルプレイヤーセッション
+ ゲームセッションのすべてのプレイヤーセッション
+ 1 つのプレイヤー ID に関連付けられているすべてのプレイヤーセッション

### 構文
<a name="integration-server-sdk-go-describeplayersessions-syntax"></a>

```
func DescribePlayerSessions(req request.DescribePlayerSessionsRequest) (result.DescribePlayerSessionsResult, error) {
	return srv.describePlayerSessions(&req)
}
```

### パラメータ
<a name="integration-server-sdk-go-describeplayersessions-parameter"></a>

**[DescribePlayerSessionsRequest](integration-server-sdk-go-datatypes.md#integration-server-sdk-go-dataypes-playersessions)**  
取得するプレイヤーセッションを記述する `DescribePlayerSessionsRequest` オブジェクト。

### 戻り値
<a name="integration-server-sdk-go-describeplayersessions-return"></a>

成功した場合は、リクエストのパラメータに適合したプレイヤーセッションオブジェクトのセットを含む `DescribePlayerSessionsResult` オブジェクトを返します。

### 例
<a name="integration-server-sdk-go-describeplayersessions-example"></a>

この例は、指定したゲームセッションにアクティブに接続されているすべてのプレイヤーセッションのリクエストします。*NextToken* を省略し、*Limit* 値を 10 に設定すると、Amazon GameLift Servers は、リクエストに一致するプレイヤーセッションレコードの最初の 10 個を返します。

```
// create request
describePlayerSessionsRequest := request.NewDescribePlayerSessions() 
describePlayerSessionsRequest.GameSessionID, _ = server.GetGameSessionID() // get ID for the current game session
describePlayerSessionsRequest.Limit = 10                                 // return the first 10 player sessions
describePlayerSessionsRequest.PlayerSessionStatusFilter = "ACTIVE"         // Get all player sessions actively connected to the game session

describePlayerSessionsResult, err := server.DescribePlayerSessions(describePlayerSessionsRequest)
```

## StartMatchBackfill()
<a name="integration-server-sdk-go-startmatchbackfill"></a>

FlexMatch で作成されたゲームセッションの空きスロット用に新規プレイヤーを検索するリクエストを送信します。詳細については、「[FlexMatch バックフィル機能](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-backfill.html)」を参照してください。

このアクションは非同期です。新規プレイヤーが正常にマッチングされると、Amazon GameLift Servers はコールバック関数 `OnUpdateGameSession()` を使用して更新済みマッチメーカーデータを送信します。

サーバープロセスではアクティブなマッチバックフィルリクエストは一度に 1 つだけです。新しいリクエストを送信するには、まず [StopMatchBackfill()](#integration-server-sdk-go-stopmatchbackfill) を呼び出して元のリクエストをキャンセルする必要があります。

### 構文
<a name="integration-server-sdk-go-startmatchbackfill-syntax"></a>

```
func StartMatchBackfill(req request.StartMatchBackfillRequest) (result.StartMatchBackfillResult, error)
```

### パラメータ
<a name="integration-server-sdk-go-startmatchbackfill-parameter"></a>

**[StartMatchBackfillRequest](integration-server-sdk-go-datatypes.md#integration-server-sdk-go-dataypes-startmatchbackfillrequest)**  
StartMatchBackfillRequest オブジェクトは、次の情報を伝達します。  
+ バックフィルリクエストに割り当てるチケット ID。この情報はオプションです。ID が指定されていない場合は Amazon GameLift Servers が 1 つ生成します。
+ リクエストを送信するマッチメーカー。完全な設定 ARN が必要です。この値はゲームセッションのマッチメーカーデータに含まれています。
+ バックフィルするゲームセッションの ID。
+ ゲームセッションの現在のプレイヤーに利用可能なマッチメーキングデータ。

### 戻り値
<a name="integration-server-sdk-go-startmatchbackfill-return"></a>

`StartMatchBackfillResult` オブジェクトを、マッチバックフィルチケット ID またはエラーメッセージを伴うエラーとともに返します。

### 例
<a name="integration-server-sdk-go-startmatchbackfill-example"></a>

```
// form the request
startBackfillRequest := request.NewStartMatchBackfill()
startBackfillRequest.RequestID = "1111aaaa-22bb-33cc-44dd-5555eeee66ff"          // optional
startBackfillRequest.MatchmakingConfigurationArn = "arn:aws:gamelift:us-west-2:111122223333:matchmakingconfiguration/MyMatchmakerConfig"
var matchMaker model.MatchmakerData
if err := matchMaker.UnmarshalJSON([]byte(gameSession.MatchmakerData)); err != nil {    
    return
}
startBackfillRequest.Players = matchMaker.Players
res, err := server.StartMatchBackfill(startBackfillRequest)

// Implement callback function for backfill
func OnUpdateGameSession(myGameSession model.GameSession) {
    // game-specific tasks to prepare for the newly matched players and update matchmaker data as needed
}
```

## StopMatchBackfill()
<a name="integration-server-sdk-go-stopmatchbackfill"></a>

アクティブなマッチバックフィルリクエストをキャンセルします。詳細については、「[FlexMatch バックフィル機能](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-backfill.html)」を参照してください。

### 構文
<a name="integration-server-sdk-go-stopmatchbackfill-syntax"></a>

```
func StopMatchBackfill(req request.StopMatchBackfillRequest) error
```

### パラメータ
<a name="integration-server-sdk-go-stopmatchbackfill-parameter"></a>

**[StopMatchBackfillRequest](integration-server-sdk-go-datatypes.md#integration-server-sdk-go-dataypes-stopmatchbackfillrequest)**  
キャンセルするマッチメーキングチケットを識別する StopMatchBackfillRequest オブジェクト:   
+ バックフィルリクエストに割り当てるチケット ID。
+ バックフィルリクエストが送信されたマッチメーカー。
+ バックフィルリクエストに関連付けられたゲームセッション。

### 戻り値
<a name="integration-server-sdk-go-stopmatchbackfill-return"></a>

正常またはエラーメッセージを伴うエラーの、一般的な結果を返します。

### 例
<a name="integration-server-sdk-go-stopmatchbackfill-example"></a>

```
stopBackfillRequest := request.NewStopMatchBackfill()  // Use this function to create request
stopBackfillRequest.TicketID = "1111aaaa-22bb-33cc-44dd-5555eeee66ff"
stopBackfillRequest.MatchmakingConfigurationArn = "arn:aws:gamelift:us-west-2:111122223333:matchmakingconfiguration/MyMatchmakerConfig"
                
//error
err := server.StopMatchBackfill(stopBackfillRequest)
```

## GetComputeCertificate()
<a name="integration-server-sdk-go-getcomputecertificate"></a>

ゲームサーバーとゲームクライアント間のネットワーク接続を暗号化するために使用される TLS 証明書へのパスを取得します。この証明書パスは、コンピューティングデバイスを Amazon GameLift Servers Anywhere フリートに登録するときに使用できます。詳細については、「[RegisterCompute](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_RegisterCompute.html)」を参照してください。

### 構文
<a name="integration-server-sdk-go-getcomputecertificate-syntax"></a>

```
func GetComputeCertificate() (result.GetComputeCertificateResult, error)
```

### 戻り値
<a name="integration-server-sdk-go-getcomputecertificate-return"></a>

以下が含まれる `GetComputeCertificateResult` オブジェクトを返します。
+  CertificatePath: コンピューティングリソース上の TLS 証明書へのパス。Amazon GameLift Servers マネージドフリートを使用する場合、このパスには次の内容が含まれます。
  + `certificate.pem`: エンドユーザー証明書。証明書チェーン全体は、この証明書に追加された `certificateChain.pem` を組み合わせたものです。
  + `certificateChain.pem`: ルート証明書と中間証明書を含む証明書チェーン。
  + `rootCertificate.pem`: ルート証明書。
  + `privateKey.pem`: エンドユーザー証明書のプライベートキー。
+ ComputeName: コンピューティングリソースの名前。

### 例
<a name="integration-server-sdk-go-getcomputecertificate-example"></a>

```
tlsCertificate, err := server.GetFleetRoleCredentials(getFleetRoleCredentialsRequest)
```

## GetFleetRoleCredentials()
<a name="integration-server-sdk-go-getfleetrolecredentials"></a>

アクセス許可を他の に拡張するために作成したサービスロールの認証情報を取得します AWS のサービス Amazon GameLift Servers。これらの認証情報により、ゲームサーバーは AWS リソースを使用できます。詳細については、「[Amazon GameLift Servers 用に IAM サービスロールをセットアップする](setting-up-role.md)」を参照してください。

### 構文
<a name="integration-server-sdk-go-getfleetrolecredentials-syntax"></a>

```
func GetFleetRoleCredentials(
  req request.GetFleetRoleCredentialsRequest,
) (result.GetFleetRoleCredentialsResult, error) {
  return srv.getFleetRoleCredentials(&req)
}
```

### パラメータ
<a name="integration-server-sdk-go-getfleetrolecredentials-parameters"></a>

[GetFleetRoleCredentialsRequest](integration-server-sdk-go-datatypes.md#integration-server-sdk-go-dataypes-getfleetrolecredentialsrequest)  
 AWS リソースへの制限付きアクセスをゲームサーバーに拡張するロール認証情報。

### 戻り値
<a name="integration-server-sdk-go-getfleetrolecredentials-return"></a>

以下が含まれる `GetFleetRoleCredentialsResult` オブジェクトを返します。
+ AssumedRoleUserArn - サービスロールが属するユーザーの Amazon リソースネーム (ARN)。
+ AssumedRoleId - サービスロールが属するユーザーの ID。
+ AccessKeyId - AWS へのアクセスを認証して提供するためのアクセスキー ID。
+ SecretAccessKey - 認証のためのシークレットアクセスキー ID。
+ SessionToken - AWS リソースとやり取りする現在のアクティブなセッションを識別するトークン。
+ Expiration - セッション認証情報の有効期限が切れるまでの時間。

### 例
<a name="integration-server-sdk-go-getfleetrolecredentials-example"></a>

```
// form the customer credentials request
getFleetRoleCredentialsRequest := request.NewGetFleetRoleCredentials()
getFleetRoleCredentialsRequest.RoleArn = "arn:aws:iam::123456789012:role/service-role/exampleGameLiftAction"

credentials, err := server.GetFleetRoleCredentials(getFleetRoleCredentialsRequest)
```

## Destroy()
<a name="integration-server-sdk-go-destroy"></a>

Amazon GameLift Servers ゲームサーバー SDK をメモリから解放します。ベストプラクティスとして、`ProcessEnding()` の後、かつプロセスの終了前にこのメソッドを呼び出します。Anywhere フリートを使用していて、ゲームセッションのたびにサーバープロセスを終了しない場合は、`Destroy()`、`InitSDK()` の順に呼び出して再初期化してから、`ProcessReady()` でゲームセッションをホストする準備ができたことを Amazon GameLift Servers に通知します。

### 構文
<a name="integration-server-sdk-go-destroy-syntax"></a>

```
func Destroy() error {
	return srv.destroy()
}
```

### 戻り値
<a name="integration-server-sdk-go-destroy-return"></a>

メソッドが失敗すると、エラーとエラーメッセージを返します。

### 例
<a name="integration-server-sdk-go-destroy-example"></a>

```
// operations to end game sessions and the server process
defer func() {
  err := server.ProcessEnding()
  server.Destroy()
  if err != nil {
    fmt.Println("ProcessEnding() failed. Error: ", err)
    os.Exit(-1)
  } else {
    os.Exit(0)
  }
}
```