Condividi tramite


Batch di proprietà Submit

Invia un batch di proprietà.

Invia un batch di operazioni sulle proprietà. Verrà eseguito il commit di tutte o nessuna delle operazioni.

Richiesta

Metodo URI richiesta
POST /Names/{nameId}/$/GetProperties/$/SubmitBatch?api-version=6.0&timeout={timeout}

Parametri

Nome Tipo Necessario Posizione
nameId string Percorso
api-version string Query
timeout integer (int64) No Query
PropertyBatchDescriptionList PropertyBatchDescriptionList Corpo

nameId

Tipo: string
Obbligatorio: Sì

Nome di Service Fabric, senza lo schema URI "fabric:".


api-version

Tipo: string
Obbligatorio: Sì
Impostazione predefinita: 6.0

Versione dell'API. Questo parametro è obbligatorio e il relativo valore deve essere '6.0'.

La versione dell'API REST di Service Fabric è basata sulla versione di runtime in cui è stata introdotta o modificata l'API. Il runtime di Service Fabric supporta più versioni dell'API. Questa è la versione più recente supportata dell'API. Se viene passata una versione precedente dell'API, la risposta restituita può essere diversa da quella documentata in questa specifica.

Inoltre, il runtime accetta qualsiasi versione superiore alla versione supportata più recente fino alla versione corrente del runtime. Se quindi la versione più recente dell'API è 6.0, ma se il runtime è 6.1, per semplificare la scrittura dei client, il runtime accetterà la versione 6.1 per tale API. Tuttavia, il comportamento dell'API sarà in base alla versione 6.0 documentata.


timeout

Tipo: integer (int64)
Obbligatorio: No
Impostazione predefinita: 60
InclusiveMaximum: 4294967295
InclusiveMinimum: 1

Timeout del server per l'esecuzione dell'operazione in secondi. Questo timeout specifica la durata di attesa che il client è disposto a attendere il completamento dell'operazione richiesta. Il valore predefinito per questo parametro è 60 secondi.


PropertyBatchDescriptionList

Tipo: PropertyBatchDescriptionList
Obbligatorio: Sì

Descrive le operazioni batch di proprietà da inviare.

Risposte

Codice di stato HTTP Descrizione Schema di risposta
200 (OK) Una risposta con esito positivo indica che il batch di proprietà è riuscito.
SuccessfulPropertyBatchInfo
409 (Conflitto) Una risposta 409 indica che una delle operazioni batch di proprietà ha avuto esito negativo e contiene altre informazioni sull'errore. Nessuna delle operazioni è stata sottoposta a commit.
FailedPropertyBatchInfo
Tutti gli altri codici di stato Risposta dettagliata all'errore.
FabricError

Esempio

Operazione batch di proprietà

Questo esempio illustra come inviare un batch di proprietà. Questo batch garantisce che esista una proprietà, controlli che la proprietà abbia il numero di sequenza previsto e modifica la proprietà solo se le condizioni precedenti hanno esito positivo. Esegue quindi un'operazione get per ottenere le informazioni correnti della proprietà. Se tutte le operazioni hanno esito positivo, viene eseguito il commit del batch in modo transazionale e viene restituita una risposta di esito positivo con codice di stato 200. Se il batch non riesce, viene restituita una risposta non riuscita con codice di stato 409. La risposta non riuscita seguente mostra l'errore batch perché la proprietà non ha il numero di sequenza previsto.

Richiesta

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

200 Risposta

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

Risposta 409

Corpo
{
  "Kind": "Failed",
  "ErrorMessage": "FABRIC_E_PROPERTY_CHECK_FAILED",
  "OperationIndex": "1"
}