Submeter Lote de Propriedades

Submete um lote de propriedades.

Submete um lote de operações de propriedade. Todas ou nenhuma das operações será consolidada.

Pedir

Método URI do pedido
POST /Names/{nameId}/$/GetProperties/$/SubmitBatch?api-version=6.0&timeout={timeout}

Parâmetros

Nome Tipo Necessário Localização
nameId string Yes Caminho
api-version string Yes Consulta
timeout número inteiro (int64) No Consulta
PropertyBatchDescriptionList PropertyBatchDescriptionList Yes Corpo

nameId

Tipo: cadeia
Obrigatório: Sim

O nome do Service Fabric, sem o esquema de URI "fabric:".


api-version

Tipo: cadeia
Obrigatório: Sim
Predefinição: 6.0

A versão da API. Este parâmetro é obrigatório e o respetivo valor tem de ser "6.0".

A versão da API REST do Service Fabric baseia-se na versão de runtime na qual a API foi introduzida ou alterada. O runtime do Service Fabric suporta mais do que uma versão da API. Esta é a versão suportada mais recente da API. Se for transmitida uma versão inferior da API, a resposta devolvida poderá ser diferente da documentada nesta especificação.

Além disso, o runtime aceita qualquer versão superior à versão suportada mais recente até à versão atual do runtime. Por isso, se a versão mais recente da API for a 6.0, mas se o runtime for 6.1, para facilitar a escrita 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 6.0 documentada.


timeout

Tipo: número inteiro (int64)
Obrigatório: Não
Predefinição: 60
InclusiveMaximum: 4294967295
InclusiveMinimum: 1

O tempo limite do servidor para executar a operação em segundos. Este tempo limite especifica a duração de tempo que o cliente está disposto a aguardar que a operação pedida seja concluída. O valor predefinido para este parâmetro é 60 segundos.


PropertyBatchDescriptionList

Tipo: PropertyBatchDescriptionList
Obrigatório: Sim

Descreve as operações de lote de propriedades a submeter.

Respostas

Código de Estado HTTP Description Esquema de Resposta
200 (OK) Uma resposta com êxito 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 consolidada.
FailedPropertyBatchInfo
Todos os outros códigos de estado A resposta detalhada ao erro.
FabricError

Exemplos

Operação do lote de propriedades

Este exemplo mostra como submeter um lote de propriedades. Este lote garante que existe uma propriedade, verifica se a propriedade tem o número de sequência esperado e edita a propriedade apenas se as condições anteriores forem bem-sucedidas. Em seguida, executa uma operação get para obter as informações atuais da propriedade. Se todas as operações forem bem-sucedidas, o lote é consolidado de forma transacional e é devolvida uma resposta com êxito com o código de estado 200. Se o lote falhar, é devolvida uma resposta falhada com o código de estado 409. A resposta falhada abaixo mostra a falha do lote porque a propriedade não tem o número de sequência esperado.

Pedir

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