Biblioteca cliente Azure Core LRO para JavaScript - versão 3.4.0

Essa é a implementação padrão de operações de execução longa nas bibliotecas de clientes JavaScript do SDK do Azure que funcionam no navegador e no NodeJS. Esta biblioteca é destinada principalmente a ser usada em código gerado pelo emissor TypeSpec@azure-tools/typespec-ts .

@azure/core-lro segue as diretrizes de design do SDK do Azure para operações de execução longa

Links de chave:

  • código-fonte
  • do pacote (npm)
  • documentação de referência da API
  • Amostras

Como começar

Ambientes com suporte no momento

Instalação

Esse pacote é usado principalmente no código gerado e não deve ser consumido diretamente pelos usuários finais.

Conceitos principais

PollerLike

Um sondador é um objeto que pode sondar a operação de execução prolongada no servidor para seu estado até atingir um estado terminal. Também estende Promise<TResult>, então você pode await usar diretamente para obter o resultado final. Elas fornecem o seguinte:

  • operationState: uma propriedade que retorna o estado atual da operação, tipada como um tipo que estende .OperationState É undefined isso se a empresa de votação ainda não foi enviada.
  • result: uma propriedade que retorna o resultado da operação quando ela é concluída e undefined caso contrário
  • isDone: uma propriedade que retorna se a operação está em estado terminal
  • onProgress: registra funções de retorno de chamada a serem chamadas sempre que uma resposta de sondagem é recebida
  • poll: envia uma única solicitação de sondagem
  • pollUntilDone: retorna uma promessa que será resolvida com o resultado da operação
  • serialize: retorna uma promessa que resolve para uma representação serializada do estado do pesquisador
  • submitted: retorna uma promessa que se resolve quando o poller foi submetido com sucesso

OperationState

Um tipo para o estado da operação. Ele contém um status campo com os seguintes valores possíveis: notStarted, , running, succeeded, e failedcanceled. Ele pode ser acessado da seguinte maneira:

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

Uma função que retorna um objeto do tipo PollerLike. Este sondador se comporta da seguinte maneira na presença de erros:

  • chama e pollpollUntilDone gerará um erro caso a operação tenha falhado ou cancelada, a menos que a opção resolveOnUnsuccessful tenha sido definida como true.
  • poller.operationState?.status será definido como "failed" ou "canceled" quando a operação falhar ou retorna uma resposta de erro.

Exemplos

Exemplos podem ser encontrados na pasta samples.

Resolução de problemas

Registro

Os logs podem ser adicionados a critério da biblioteca que implementa o poller de Operação de Execução Longa. Pacotes dentro do azure-sdk-for-js usam @azure/agente.

Próximas etapas

Examine os exemplos de diretório para obter exemplos detalhados sobre como usar essa biblioteca.

Contribuindo

Se você quiser contribuir com essa biblioteca, leia o guia de contribuição para saber mais sobre como criar e testar o código.

Teste

Para executar nossos testes, primeiro instale as dependências (com pnpm install), depois execute os testes de unidade com: pnpm run test:node.

Código de conduta

Este projeto adotou o Código de Conduta de Software Livre da Microsoft. Para obter mais informações, consulte as perguntas frequentes sobre o Código de Conduta ou entre em contato com opencode@microsoft.com com perguntas ou comentários adicionais.