コンテナー API の呼び出し
Service Fabric ノードにデプロイされたコンテナーでコンテナー API を呼び出します。
特定のコード パッケージの Service Fabric ノードにデプロイされているコンテナーでコンテナー API を呼び出します。
Request
Method | 要求 URI |
---|---|
POST | /Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/ContainerApi?api-version=6.2&ServiceManifestName={ServiceManifestName}&CodePackageName={CodePackageName}&CodePackageInstanceId={CodePackageInstanceId}&timeout={timeout} |
パラメーター
名前 | Type | 必須 | 場所 |
---|---|---|---|
nodeName |
string | はい | パス |
applicationId |
string | はい | パス |
api-version |
string | はい | クエリ |
ServiceManifestName |
string | はい | クエリ |
CodePackageName |
string | はい | クエリ |
CodePackageInstanceId |
string | はい | クエリ |
timeout |
integer (int64) | いいえ | クエリ |
ContainerApiRequestBody |
ContainerApiRequestBody | はい | Body |
nodeName
型: string
必須: はい
ノード名。
applicationId
型: string
必須: はい
アプリケーションの ID。 これは、通常は、'fabric:' URI スキームのないアプリケーションの完全な名前です。
バージョン 6.0 以降では、階層名は "~" 文字で区切られます。
たとえば、アプリケーション名が "fabric:/myapp/app1" の場合、6.0 以降ではアプリケーション ID は "myapp~app1" になり、前のバージョンでは "myapp/app1" になります。
api-version
型: string
必須: はい
既定値:
API のバージョン。 このパラメーターは必須であり、その値は '6.2' である必要があります。
Service Fabric REST API のバージョンは、API が導入または変更されたランタイム バージョンに基づいています。 Service Fabric ランタイムでは、複数のバージョンの API がサポートされています。 このバージョンは、サポートされている API の最新バージョンです。 より低い API バージョンが渡された場合、返される応答は、この仕様に記載されている応答とは異なる場合があります。
さらに、ランタイムは、現在のバージョンのランタイムまで、サポートされている最新バージョンより高いバージョンを受け入れます。 そのため、最新の API バージョンが 6.0 で、ランタイムが 6.1 の場合、ランタイムはその API のバージョン 6.1 を受け入れます。 ただし、API の動作は、文書化されている 6.0 バージョンに従います。
ServiceManifestName
型: string
必須: はい
Service Fabric クラスターでアプリケーションの種類の一部として登録されているサービス マニフェストの名前。
CodePackageName
型: string
必須: はい
Service Fabric クラスターでアプリケーションの種類の一部として登録されているサービス マニフェストで指定されているコード パッケージの名前。
CodePackageInstanceId
型: string
必須: はい
サービス ファブリック ノードにデプロイされているコード パッケージ インスタンスを一意に識別する ID。
timeout
型: integer (int64)
必須: いいえ
既定値:
InclusiveMaximum: 4294967295
InclusiveMinimum: 1
操作を実行するためのサーバー タイムアウト (秒単位)。 このタイムアウトは、要求した操作が完了するまでクライアントが待機できる期間を指定します。 このパラメーターの既定値は 60 秒です。
ContainerApiRequestBody
種類: ContainerApiRequestBody
必須: はい
コンテナー API 呼び出しを行うパラメーター
応答
HTTP 状態コード | 説明 | 応答スキーマ |
---|---|---|
200 (OK) | 操作が成功すると、指定されたコード パッケージの Service Fabric ノードにデプロイされたコンテナーに対する 200 の状態コードとコンテナー API 応答が返されます。 |
ContainerApiResponse |
その他のすべての状態コード | 詳細なエラー応答。 |
FabricError |
使用例
コンテナー ログを取得する
この例では、ノードにデプロイされたコード パッケージの HTTP GET を使用してコンテナー API を呼び出す方法を示します。
要求
POST http://localhost:19080/Nodes/Node01/$/GetApplications/samples/winnodejs/$/GetCodePackages/$/ContainerApi?api-version=6.2&ServiceManifestName=NodeServicePackage&CodePackageName=NodeService.Code&CodePackageInstanceId=131668159770315380
本文
{
"UriPath": "/containers/{id}/logs?stdout=true&stderr=true"
}
200 応答
本文
{
"ContainerApiResult": {
"Status": "200",
"Content-Type": "text/plain; charset=utf-8",
"Body": "vEthernet (Container NIC ec5c19b2) 172.17.201.44\n"
}
}
コンテナーを更新する
この例では、ノードにデプロイされたコード パッケージの HTTP POST を使用してコンテナー API を呼び出す方法を示します。
要求
POST http://localhost:19080/Nodes/N0020/$/GetApplications/samples/nodejs1/$/GetCodePackages/$/ContainerApi?api-version=6.2&ServiceManifestName=NodeOnSF&CodePackageName=Code&CodePackageInstanceId=131673596679688285
本文
{
"HttpVerb": "POST",
"UriPath": "/containers/{id}/update",
"Body": "{ \"CpuShares\": 512}"
}
200 応答
本文
{
"ContainerApiResult": {
"Status": "200",
"Content-Type": "application/json",
"Body": "{\"Warnings\":null}\n"
}
}