Azure Core LRO client library per JavaScript - versione 3.4.0

Si tratta dell'implementazione predefinita di operazioni a esecuzione prolungata nelle librerie client JavaScript di Azure SDK che funzionano sia nel browser che in NodeJS. Questa libreria è principalmente destinata a essere utilizzata nel codice generato dall'emettitore TypeSpec@azure-tools/typespec-ts .

@azure/core-lro segue Le linee guida per la progettazione di Azure SDK per le operazioni a esecuzione prolungata

Collegamenti chiave:

Come iniziare

Ambienti attualmente supportati

Installazione

Questo pacchetto viene usato principalmente nel codice generato e non deve essere utilizzato direttamente dagli utenti finali.

Concetti chiave

PollerLike

Un poller è un oggetto che può eseguire il polling dell'operazione a esecuzione prolungata nel server per il relativo stato fino a raggiungere uno stato terminale. Si estende Promise<TResult>anche , quindi puoi await ottenere direttamente il risultato finale. Fornisce le risorse seguenti:

  • operationState: una proprietà che restituisce lo stato attuale dell'operazione, tipata come un tipo che estende OperationState. Lo è undefined se il sondatore non è ancora stato inviato.
  • result: una proprietà che restituisce il risultato dell'operazione quando essa si completa e undefined altrimenti
  • isDone: una proprietà che restituisce se l'operazione è in uno stato terminale
  • onProgress: registra le funzioni di callback da chiamare ogni volta che viene ricevuta una risposta di polling
  • poll: invia una singola richiesta di polling
  • pollUntilDone: restituisce una promessa che verrà risolta con il risultato dell'operazione
  • serialize: restituisce una promessa che si risolve in una rappresentazione serializzata dello stato del sondaggiatore
  • submitted: restituisce una promessa che si risolve quando il poller è stato presentato con successo

OperationState

Tipo per lo stato dell'operazione. Contiene un status campo con i valori possibili seguenti: notStarted, running, succeededfailed, e canceled. È possibile accedervi come segue:

switch (poller.operationState?.status) {
  case "succeeded": // return poller.result;
  case "failed": // throw poller.operationState?.error;
  case "canceled": // throw new Error("Operation was canceled");
  case "running": // ...
  case "notStarted": // ...
}

createHttpPoller

Funzione che restituisce un oggetto di tipo PollerLike. Questo poller si comporta come segue in presenza di errori:

  • le chiamate a poll e pollUntilDone genereranno un errore nel caso in cui l'operazione non sia riuscita o annullata a meno che l'opzione resolveOnUnsuccessful non sia stata impostata su true.
  • poller.operationState?.status sarà impostato su "failed" o "canceled" quando l'operazione fallisce o restituisce una risposta di errore.

Esempi

Gli esempi sono disponibili nella cartella samples.

Risoluzione dei problemi

Registrazione

I log possono essere aggiunti a discrezione della libreria che implementa il poller operazione a esecuzione prolungata. I pacchetti all'interno di azure-sdk-for-js usano @azure/logger.

Passaggi successivi

Per esempi dettagliati su come usare questa libreria, vedere gli esempi di directory.

Contribuire

Per contribuire a questa libreria, leggere la guida contribuire per altre informazioni su come compilare e testare il codice.

Prova

Per eseguire i nostri test, installa prima le dipendenze (con pnpm install), quindi esegui gli unit test con: pnpm run test:node.

Codice di condotta

Questo progetto ha adottato il codice di comportamento Open Source di Microsoft. Per altre informazioni, vedere domande frequenti sul codice di comportamento o contattare opencode@microsoft.com con eventuali domande o commenti aggiuntivi.