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 | Sì | Percorso |
api-version |
string | Sì | Query |
timeout |
integer (int64) | No | Query |
PropertyBatchDescriptionList |
PropertyBatchDescriptionList | sì | 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"
}