Compartilhar via


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"
}