Skip to main content
Element Software
È disponibile una versione più recente di questo prodotto.
La versione in lingua italiana fornita proviene da una traduzione automatica. Per eventuali incoerenze, fare riferimento alla versione in lingua inglese.

Ottieni risultato asincrono

Collaboratori netapp-pcarriga

Puoi usare GetAsyncResult per recuperare il risultato delle chiamate di metodi asincroni. L'esecuzione di alcune chiamate di metodo richiede un po' di tempo e potrebbe non essere completata quando il sistema invia la risposta iniziale. Per ottenere lo stato o il risultato della chiamata al metodo, utilizzare GetAsyncResult per interrogare il valore asyncHandle restituito dal metodo.

`GetAsyncResult`restituisce lo stato generale dell'operazione (in corso, completata o errore) in modo standard, ma i dati effettivamente restituiti per l'operazione dipendono dalla chiamata al metodo originale e i dati restituiti sono documentati con ciascun metodo.

Se il parametro keepResult è mancante o falso, asyncHandle diventa inattivo quando viene restituito il risultato e i successivi tentativi di interrogare tale asyncHandle restituiscono un errore. È possibile mantenere attivo asyncHandle per query future impostando il parametro keepResult su true.

Parametri

Questo metodo ha i seguenti parametri di input:

Nome Descrizione Tipo Valore predefinito Necessario

asyncHandle

Un valore restituito dalla chiamata al metodo asincrono originale.

intero

Nessuno

Mantieni il risultato

Se è vero, GetAsyncResult non rimuove il risultato asincrono quando lo restituisce, consentendo future query a tale asyncHandle.

booleano

falso

NO

Valori di ritorno

Questo metodo ha i seguenti valori di ritorno:

Nome Descrizione Tipo

stato

Stato della chiamata al metodo asincrono. Valori possibili:

  • in esecuzione: il metodo è ancora in esecuzione.

  • completo: il metodo è completo e il risultato o l'errore sono disponibili.

corda

risultato

Se il metodo asincrono è stato completato correttamente, questo è il risultato dell'operazione asincrona. Se l'operazione asincrona non riesce, questo membro non è presente.

corda

errore

Se lo stato è completo e il metodo asincrono non è riuscito, questo membro include i dettagli dell'errore. Se l'operazione asincrona è riuscita, questo membro non è presente.

corda

tipo di risultato

Tipo di operazione eseguita o eseguita dalla chiamata al metodo asincrono.

corda

dettagli

Se lo stato è in esecuzione, questo membro include informazioni rilevanti per l'operazione corrente del metodo. Se il metodo asincrono non è in esecuzione, questo membro non è presente.

Oggetto JSON

createTime

Ora in cui è stato chiamato il metodo asincrono, nel formato UTC+0.

Stringa di data ISO 8601

ultimoAggiornamento

Ora dell'ultimo aggiornamento dello stato del metodo asincrono, nel formato UTC+0.

Stringa di data ISO 8601

Nota: il valore restituito da GetAsyncResult è essenzialmente una versione annidata della risposta JSON standard con un campo di stato aggiuntivo.

Richiedi esempio

Le richieste per questo metodo sono simili al seguente esempio:

{
  "method": "GetAsyncResult",
  "params": {
      "asyncHandle" : 389
},
"id" : 1
}

Esempio di risposta: errore di metodo

Questo metodo restituisce una risposta simile al seguente esempio:

{
   "error": {
      "code": 500,
      "message": "DBClient operation requested on a non-existent path at [/asyncresults/1]",
      "name": "xDBNoSuchPath"
   },
   "id": 1
}

Se "response" fosse l'oggetto di risposta JSON dalla chiamata GetAsyncResult, allora "response.error" corrisponderebbe a un errore con il metodo GetAsyncResult stesso (ad esempio la query di un asyncHandle inesistente).

Esempio di risposta: errore di attività asincrona

Questo metodo restituisce una risposta simile al seguente esempio:

{
   "id": 1,
   "result": {
     "createTime": "2016-01-01T02:05:53Z",
     "error": {
       "bvID": 1,
       "message": "Bulk volume job failed",
       "name": "xBulkVolumeScriptFailure",
       "volumeID": 34
     },
     "lastUpdateTime": "2016-01-21T02:06:56Z",
     "resultType": "BulkVolume",
     "status": "complete"
   }
}

“response.result.error” corrisponderebbe a un risultato di errore dalla chiamata al metodo originale.

Esempio di risposta: successo dell'attività asincrona

Questo metodo restituisce una risposta simile al seguente esempio:

{
   "id": 1,
   "result": {
     "createTime": "2016-01-01T22:29:18Z",
     "lastUpdateTime": "2016-01-01T22:45:51Z",
     "result": {
       "cloneID": 25,
       "message": "Clone complete.",
       "volumeID": 47
     },
     "resultType": "Clone",
     "status": "complete"
   }
}

“response.result.result” è il valore restituito per la chiamata al metodo originale se la chiamata è stata completata correttamente.

Nuovo dalla versione

9,6