Submit Property Batch
Submits a property batch.
Submits a batch of property operations. Either all or none of the operations will be committed.
Request
Method | Request URI |
---|---|
POST | /Names/{nameId}/$/GetProperties/$/SubmitBatch?api-version=6.0&timeout={timeout} |
Parameters
Name | Type | Required | Location |
---|---|---|---|
nameId |
string | Yes | Path |
api-version |
string | Yes | Query |
timeout |
integer (int64) | No | Query |
PropertyBatchDescriptionList |
PropertyBatchDescriptionList | Yes | Body |
nameId
Type: string
Required: Yes
The Service Fabric name, without the 'fabric:' URI scheme.
api-version
Type: string
Required: Yes
Default: 6.0
The version of the API. This parameter is required and its value must be '6.0'.
Service Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.
Additionally the runtime accept any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0, but if the runtime is 6.1, in order to make it easier to write the clients, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.
timeout
Type: integer (int64)
Required: No
Default: 60
InclusiveMaximum: 4294967295
InclusiveMinimum: 1
The server timeout for performing the operation in seconds. This timeout specifies the time duration that the client is willing to wait for the requested operation to complete. The default value for this parameter is 60 seconds.
PropertyBatchDescriptionList
Type: PropertyBatchDescriptionList
Required: Yes
Describes the property batch operations to be submitted.
Responses
HTTP Status Code | Description | Response Schema |
---|---|---|
200 (OK) | A successful response means that the property batch succeeded. |
SuccessfulPropertyBatchInfo |
409 (Conflict) | A 409 response means that one of the property batch operations failed, and contains more information about the failure. None of the operations were committed. |
FailedPropertyBatchInfo |
All other status codes | The detailed error response. |
FabricError |
Examples
Property batch operation
This example shows how to submit a property batch. This batch ensures that a property exists, checks that the property has the expected sequence number, and edits the property only if the previous conditions succeed. It then performs a get operation to get the property's current info. If all of the operations succeed, the batch is committed in a transactional manner and a success response is returned with 200 status code. If the batch fails then a failed response is returned with 409 status code. The failed response below shows batch failure because the property does not have expected sequence number.
Request
POST http://localhost:19080/Names/samples/apps/$/GetProperties/$/SubmitBatch?api-version=6.0
Body
{
"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 Response
Body
{
"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 Response
Body
{
"Kind": "Failed",
"ErrorMessage": "FABRIC_E_PROPERTY_CHECK_FAILED",
"OperationIndex": "1"
}