

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

# GetIceServerConfig
<a name="API_signaling_GetIceServerConfig"></a>

 **注:** この API を使用する前に、 `GetSignalingChannelEndpoint` API を呼び出して HTTPS エンドポイントをリクエストする必要があります。次に、`GetIceServerConfig` API リクエストでエンドポイントとリージョンを指定します。

WebRTC 接続の設定に使用できる URI、ユーザー名、パスワードなどの ICE (Interactive Connectivity Establishment) サーバー構成情報を取得します。ICE コンポーネントはこの構成情報を使用して WebRTC 接続を設定します。これには、TURN (Traversal Using Relays around NAT) リレーを使用したトラバーサルでの認証も含まれます。

TURN は、ピアツーピアアプリケーションの接続性を向上させるために使用されるプロトコルです。1 つまたは複数のピアが直接ピアツーピア接続できない場合でも、TURN を使用すればクラウドベースのリレーサービスを提供することで接続を確立できるようになります。詳細については、「[A REST API For Access To TURN Services](https://tools.ietf.org/html/draft-uberti-rtcweb-turn-rest-00)」を参照してください。

 どちらの方法でもシグナリングチャネルを介して直接ピアツーピア接続が確立できない場合に、この API を呼び出してフォールバックメカニズムを確立できます。この API を呼び出すには、シグナリングチャネルの Amazon リソースネーム (ARN) を指定する必要があります。

## リクエストの構文
<a name="API_signaling_GetIceServerConfig_RequestSyntax"></a>

```
POST /v1/get-ice-server-config HTTP/1.1
Content-type: application/json

{
   "ChannelARN": "{{string}}",
   "ClientId": "{{string}}",
   "Service": "{{string}}",
   "Username": "{{string}}"
}
```

## URI リクエストパラメータ
<a name="API_signaling_GetIceServerConfig_RequestParameters"></a>

リクエストでは URI パラメータを使用しません。

## リクエストボディ
<a name="API_signaling_GetIceServerConfig_RequestBody"></a>

リクエストは以下の JSON 形式のデータを受け入れます。

 ** [ChannelARN](#API_signaling_GetIceServerConfig_RequestSyntax) **   <a name="KinesisVideo-signaling_GetIceServerConfig-request-ChannelARN"></a>
設定されたピア間のピアツーピア接続に使用されるシグナリングチャネルの ARN。  
タイプ: 文字列  
長さの制限: 最小長は 1 です。最大長は 1,024 です。  
パターン: `arn:[a-z\d-]+:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+`   
必須: はい

 ** [ClientId](#API_signaling_GetIceServerConfig_RequestSyntax) **   <a name="KinesisVideo-signaling_GetIceServerConfig-request-ClientId"></a>
ビューワー用の一意の識別子。シグナリングチャネル内で一意である必要があります。  
タイプ: 文字列  
長さの制約: 最小長は 1 です。最大長は 256 です。  
パターン: `[a-zA-Z0-9_.-]+`   
必須: いいえ

 ** [Service](#API_signaling_GetIceServerConfig_RequestSyntax) **   <a name="KinesisVideo-signaling_GetIceServerConfig-request-Service"></a>
目的のサービスを指定します。現在、`TURN` のみが有効な値です。  
型: 文字列  
有効な値：`TURN`  
必須：いいえ

 ** [Username](#API_signaling_GetIceServerConfig_RequestSyntax) **   <a name="KinesisVideo-signaling_GetIceServerConfig-request-Username"></a>
認証情報に関連付けられるオプションのユーザー ID。  
タイプ: 文字列  
長さの制約: 最小長は 1 です。最大長は 256 です。  
パターン: `[a-zA-Z0-9_.-]+`   
必須: いいえ

## レスポンスの構文
<a name="API_signaling_GetIceServerConfig_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "IceServerList": [ 
      { 
         "Password": "string",
         "Ttl": number,
         "Uris": [ "string" ],
         "Username": "string"
      }
   ]
}
```

## レスポンス要素
<a name="API_signaling_GetIceServerConfig_ResponseElements"></a>

アクションが成功すると、サービスは HTTP 200 レスポンスを返します。

サービスから以下のデータが JSON 形式で返されます。

 ** [IceServerList](#API_signaling_GetIceServerConfig_ResponseSyntax) **   <a name="KinesisVideo-signaling_GetIceServerConfig-response-IceServerList"></a>
ICE サーバ情報オブジェクトのリスト。  
型: [IceServer](API_signaling_IceServer.md) オブジェクトの配列

## エラー
<a name="API_signaling_GetIceServerConfig_Errors"></a>

すべてのアクションに共通のエラーについては、「[一般的なエラータイプ](CommonErrors.md)」を参照してください。

 ** ClientLimitExceededException **   
許可されたクライアントコールの制限を超えているため、リクエストが調整されました。後で呼び出しを試みてください。  
HTTP ステータスコード: 400

 ** InvalidArgumentException **   
この入力パラメータの値は無効です。  
HTTP ステータスコード: 400

 ** InvalidClientException **   
指定したクライアントは無効です。  
HTTP ステータスコード: 400

 ** NotAuthorizedException **   
呼び出し元には、この操作を実行するための権限がありません。  
HTTP ステータスコード: 401

 ** ResourceNotFoundException **   
指定したリソースは見つかりませんでした。  
HTTP ステータスコード: 404

 ** SessionExpiredException **   
クライアントセッションの有効期限が切れている場合。クライアントが接続されると、セッションは 45 分間有効です。クライアントはチャネルに再接続して、メッセージの送受信を続行する必要があります。  
HTTP ステータスコード: 400

## 以下の資料も参照してください。
<a name="API_signaling_GetIceServerConfig_SeeAlso"></a>

言語固有の AWS SDKs のいずれかでこの API を使用する方法の詳細については、以下を参照してください。
+  [AWS コマンドラインインターフェイス V2](https://docs.aws.amazon.com/goto/cli2/kinesis-video-signaling-2019-12-04/GetIceServerConfig) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/kinesis-video-signaling-2019-12-04/GetIceServerConfig) 
+  [AWS SDK for C\+\+](https://docs.aws.amazon.com/goto/SdkForCpp/kinesis-video-signaling-2019-12-04/GetIceServerConfig) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/kinesis-video-signaling-2019-12-04/GetIceServerConfig) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/kinesis-video-signaling-2019-12-04/GetIceServerConfig) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/kinesis-video-signaling-2019-12-04/GetIceServerConfig) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/kinesis-video-signaling-2019-12-04/GetIceServerConfig) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/kinesis-video-signaling-2019-12-04/GetIceServerConfig) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/kinesis-video-signaling-2019-12-04/GetIceServerConfig) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/kinesis-video-signaling-2019-12-04/GetIceServerConfig) 