Azure Core LRO client library for JavaScript - versión 3.4.0

Esta es la implementación predeterminada de operaciones de larga duración en las bibliotecas cliente de JavaScript del SDK de Azure que funcionan tanto en el explorador como en NodeJS. Esta biblioteca está pensada principalmente para ser utilizada en código generado por el emisor TypeSpec@azure-tools/typespec-ts .

@azure/core-lro sigue las directrices de diseño del SDK de Azure para las operaciones de larga duración

Vínculos clave:

Cómo empezar

Entornos admitidos actualmente

Instalación

Este paquete se usa principalmente en el código generado y no está pensado para ser consumido directamente por los usuarios finales.

Conceptos clave

PollerLike

Un sondeo es un objeto que puede sondear la operación de larga duración en el servidor para su estado hasta que alcanza un estado de terminal. También extiende Promise<TResult>, así que puedes await hacerlo directamente para obtener el resultado final. Ofrece lo siguiente:

  • operationState: una propiedad que devuelve el estado actual de la operación, tipado como un tipo que extiende OperationState. Lo es undefined si el encuestador aún no ha sido presentado.
  • result: una propiedad que devuelve el resultado de la operación cuando se completa y undefined en caso contrario
  • isDone: una propiedad que devuelve si la operación está en estado terminal
  • onProgress: registra las funciones de devolución de llamada a las que se llamará cada vez que se recibe una respuesta de sondeo.
  • poll: envía una única solicitud de sondeo.
  • pollUntilDone: devuelve una promesa que se resolverá con el resultado de la operación.
  • serialize: devuelve una promesa que se resuelve a una representación serializada del estado del encuestador
  • submitted: devuelve una promesa que se resuelve cuando el encuestador ha sido presentado con éxito

OperationState

Tipo para el estado de la operación. Contiene un status campo con los siguientes valores posibles: notStarted, running, succeeded, failedy canceled. Se puede acceder a ella de la siguiente manera:

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

Función que devuelve un objeto de tipo PollerLike. Este sondeo se comporta de la siguiente manera en presencia de errores:

  • las llamadas a poll y pollUntilDone producirán un error en caso de que la operación haya fallado o cancelado, a menos que la resolveOnUnsuccessful opción se haya establecido en true.
  • poller.operationState?.status se pondrá en "failed" o "canceled" cuando la operación falle o devuelve una respuesta de error.

Ejemplos

Puede encontrar ejemplos en la carpeta samples.

Solución de problemas

Registro

Los registros se pueden agregar a discreción de la biblioteca que implementa el sondeo de operación de larga duración. Los paquetes dentro de azure-sdk-for-js usan @azure/registrador.

Pasos siguientes

Eche un vistazo al directorio ejemplos para obtener ejemplos detallados sobre cómo usar esta biblioteca.

Contribución

Si desea contribuir a esta biblioteca, lea la guía de contribución de para obtener más información sobre cómo compilar y probar el código.

Ensayo

Para ejecutar nuestras pruebas, primero instale las dependencias (con pnpm install), luego ejecute las pruebas unitarias con: pnpm run test:node.

Código de conducta

Este proyecto ha adoptado el Código de Conducta de Código Abierto de Microsoft. Para obtener más información, consulte el Preguntas Frecuentes sobre el Código de Conducta o póngase en contacto con opencode@microsoft.com si tiene preguntas o comentarios adicionales.