Enviar Lote de Propriedades
Envia um lote de propriedades.
Envia um lote de operações de propriedade. Todas ou nenhuma das operações será confirmada.
Solicitação
Método | URI da solicitação |
---|---|
POST | /Names/{nameId}/$/GetProperties/$/SubmitBatch?api-version=6.0&timeout={timeout} |
Parâmetros
Nome | Type | Obrigatório | Location |
---|---|---|---|
nameId |
string | Sim | Caminho |
api-version |
string | Sim | Consulta |
timeout |
inteiro (int64) | Não | Consulta |
PropertyBatchDescriptionList |
PropertyBatchDescriptionList | Sim | Corpo |
nameId
Tipo: string
Obrigatório: sim
Nome da malha do serviço, sem o ' malha:' esquema de URI.
api-version
Tipo: string
Obrigatório: sim
Padrão: 6.0
A versão da API. Esse parâmetro é necessário e seu valor deve ser '6.0'.
A versão da API REST do Service Fabric é baseada na versão de runtime na qual a API foi introduzida ou alterada. O runtime do Service Fabric dá suporte a mais de uma versão da API. Esta é a versão mais recente com suporte da API. Se uma versão inferior da API for passada, a resposta retornada poderá ser diferente daquela documentada nessa especificação.
Além disso, o runtime aceita qualquer versão maior do que a versão mais recente com suporte até a versão atual do runtime. Portanto, se a versão mais recente da API for 6.0, mas se o runtime for 6.1, para facilitar a gravação dos clientes, o runtime aceitará a versão 6.1 para essa API. No entanto, o comportamento da API será de acordo com a versão documentada 6.0.
timeout
Tipo: inteiro (int64)
Obrigatório: não
Padrão: 60
InclusiveMaximum: 4294967295
InclusiveMinimum: 1
Tempo limite do servidor para executar a operação em segundos. Especifica o tempo que o cliente está disposto a esperar para que operação solicitada seja concluída. O valor padrão desse parâmetro é 60 segundos.
PropertyBatchDescriptionList
Tipo: PropertyBatchDescriptionList
Obrigatório: sim
Descreve as operações do lote de propriedades a serem enviadas.
Respostas
Código de status HTTP | Descrição | Esquema de Resposta |
---|---|---|
200 (OK) | Uma resposta bem-sucedida significa que o lote de propriedades foi bem-sucedido. |
SuccessfulPropertyBatchInfo |
409 (Conflito) | Uma resposta 409 significa que uma das operações do lote de propriedades falhou e contém mais informações sobre a falha. Nenhuma das operações foi confirmada. |
FailedPropertyBatchInfo |
Todos os outros códigos status | A resposta de erro detalhada. |
FabricError |
Exemplos
Operação do lote de propriedades
Este exemplo mostra como enviar um lote de propriedades. Esse lote garante que exista uma propriedade, verifica se a propriedade tem o número de sequência esperado e edita a propriedade somente se as condições anteriores tiverem êxito. Em seguida, ele executa uma operação get para obter as informações atuais da propriedade. Se todas as operações forem bem-sucedidas, o lote será confirmado de maneira transacional e uma resposta de êxito será retornada com 200 status código. Se o lote falhar, uma resposta com falha será retornada com 409 status código. A resposta com falha abaixo mostra a falha em lote porque a propriedade não tem o número de sequência esperado.
Solicitação
POST http://localhost:19080/Names/samples/apps/$/GetProperties/$/SubmitBatch?api-version=6.0
Corpo
{
"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
}
]
}
Resposta 200
Corpo
{
"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"
}
}
}
}
Resposta 409
Corpo
{
"Kind": "Failed",
"ErrorMessage": "FABRIC_E_PROPERTY_CHECK_FAILED",
"OperationIndex": "1"
}