Submit プロパティ Batch
プロパティ バッチを送信します。
プロパティ操作のバッチを送信します。 すべての操作がコミットされるか、コミットされません。
Request
Method | 要求 URI |
---|---|
POST | /Names/{nameId}/$/GetProperties/$/SubmitBatch?api-version=6.0&timeout={timeout} |
パラメーター
名前 | Type | 必須 | 場所 |
---|---|---|---|
nameId |
string | はい | パス |
api-version |
string | はい | クエリ |
timeout |
integer (int64) | いいえ | クエリ |
PropertyBatchDescriptionList |
PropertyBatchDescriptionList | はい | Body |
nameId
型: string
必須: はい
"fabric:" URI スキームを除いた Service Fabric の名前。
api-version
型: string
必須: はい
既定値:
API のバージョン。 このパラメーターは必須であり、その値は '6.0' である必要があります。
Service Fabric REST API のバージョンは、API が導入または変更されたランタイム バージョンに基づいています。 Service Fabric ランタイムでは、複数のバージョンの API がサポートされています。 これは、サポートされている API の最新バージョンです。 より低い API バージョンが渡された場合、返される応答は、この仕様に記載されている応答とは異なる場合があります。
さらに、ランタイムは、現在のバージョンのランタイムまで、サポートされている最新バージョンより高いバージョンを受け入れます。 そのため、最新の API バージョンが 6.0 ですが、ランタイムが 6.1 の場合、クライアントの記述を容易にするために、ランタイムはその API のバージョン 6.1 を受け入れます。 ただし、API の動作は、文書化されている 6.0 バージョンに従います。
timeout
型: integer (int64)
必須: いいえ
既定値:
InclusiveMaximum: 4294967295
InclusiveMinimum: 1
操作を実行するためのサーバー タイムアウト (秒単位)。 このタイムアウトは、要求した操作が完了するまでクライアントが待機できる期間を指定します。 このパラメーターの既定値は 60 秒です。
PropertyBatchDescriptionList
型: PropertyBatchDescriptionList
必須: はい
送信するプロパティ バッチ操作について説明します。
応答
HTTP 状態コード | 説明 | 応答スキーマ |
---|---|---|
200 (OK) | 応答が成功したということは、プロパティ バッチが成功したことを意味します。 |
SuccessfulPropertyBatchInfo |
409 (Conflict) | 409 応答は、いずれかのプロパティ バッチ操作が失敗し、エラーに関する詳細情報が含まれていることを意味します。 どの操作もコミットされませんでした。 |
FailedPropertyBatchInfo |
その他のすべての状態コード | 詳細なエラー応答。 |
FabricError |
使用例
プロパティ バッチ操作
この例では、プロパティ バッチを送信する方法を示します。 このバッチは、プロパティが存在することを確認し、プロパティに予期されるシーケンス番号があることを確認し、前の条件が成功した場合にのみプロパティを編集します。 次に、get 操作を実行して、プロパティの現在の情報を取得します。 すべての操作が成功した場合、バッチはトランザクション方式でコミットされ、成功応答は 200 状態コードで返されます。 バッチが失敗した場合、失敗した応答が 409 状態コードで返されます。 次の失敗した応答は、 プロパティに予期されるシーケンス番号がないため、バッチエラーを示しています。
要求
POST http://localhost:19080/Names/samples/apps/$/GetProperties/$/SubmitBatch?api-version=6.0
本文
{
"Operations": [
{
"Kind": "CheckExists",
"PropertyName": "PersistentQueueAppData",
"Exists": true
},
{
"Kind": "CheckSequence",
"PropertyName": "PersistentQueueAppData",
"SequenceNumber": "12"
},
{
"Kind": "Put",
"PropertyName": "PersistentQueueAppData",
"Value": {
"Kind": "Binary",
"Data": [
"1",
"2",
"3",
"4",
"5"
]
},
"CustomTypeId": "InitializationData"
},
{
"Kind": "Get",
"PropertyName": "PersistentQueueAppData",
"IncludeValue": false
}
]
}
200 応答
本文
{
"Kind": "Successful",
"Properties": {
"3": {
"Name": "PersistentQueueAppData",
"Metadata": {
"TypeId": "Binary",
"CustomTypeId": "InitializationData",
"Parent": "fabric:/samples/apps",
"SizeInBytes": "5",
"LastModifiedUtcTimestamp": "2017-07-17T05:01:19.049Z",
"SequenceNumber": "13"
}
}
}
}
409 応答
本文
{
"Kind": "Failed",
"ErrorMessage": "FABRIC_E_PROPERTY_CHECK_FAILED",
"OperationIndex": "1"
}