Partilhar via


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