다음을 통해 공유


JavaScript용 Azure Core LRO 클라이언트 라이브러리 - 버전 2.7.2

이는 브라우저와 NodeJS 모두에서 작동하는 Azure SDK JavaScript 클라이언트 라이브러리에서 장기 실행 작업의 기본 구현입니다. 이 라이브러리는 주로 AutoRestautorest.typescript에 의해 생성된 코드에서 사용하기 위한 것입니다.

@azure/core-lro장기 실행 작업에 대한 Azure SDK 디자인 지침을 따릅니다.

주요 링크:

시작

현재 지원되는 환경

설치

이 패키지는 주로 생성된 코드에서 사용되며 최종 사용자가 직접 사용할 수 없습니다.

주요 개념

SimplePollerLike

폴러는 터미널 상태에 도달할 때까지 서버에서 장기 실행 작업을 해당 상태로 폴링할 수 있는 개체입니다. 다음 메서드를 제공합니다.

  • getOperationState: 확장되는 형식으로 입력된 작업의 상태를 반환합니다. OperationState
  • getResult: 작업이 완료되면 작업의 결과를 반환하고 undefined , 그렇지 않으면 를 반환합니다.
  • isDone: 작업이 터미널 상태인지 여부를 반환합니다.
  • isStopped: 폴링이 중지되었는지 여부를 반환합니다.
  • onProgress: 폴링 응답을 받을 때마다 호출할 콜백 함수를 등록합니다.
  • poll: 단일 폴링 요청을 보냅니다.
  • pollUntilDone: 작업 결과와 함께 resolve 약속을 반환합니다.
  • stopPolling: 폴링을 중지합니다.
  • toString: 폴러의 상태를 serialize합니다.

OperationState

작업 상태에 대한 형식입니다. , 및 canceled와 같은 가능한 값notStartedrunningsucceededfailed이 있는 필드가 포함 status 됩니다. 다음과 같이 액세스할 수 있습니다.

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

createHttpPoller

형식의 개체를 반환하는 함수입니다 SimplePollerLike. 이 폴러는 오류가 있는 경우 다음과 같이 동작합니다.

  • 을 호출하면 옵션이 true로 pollpollUntilDone 설정되지 않은 한 resolveOnUnsuccessful 작업이 실패하거나 취소된 경우 오류가 발생합니다.
  • poller.getOperationState().status 는 작업이 실패하거나 오류 응답을 반환할 때 true로 설정됩니다.

예제

예제는 samples 폴더에서 찾을 수 있습니다.

문제 해결

로깅

장기 실행 작업 폴러를 구현하는 라이브러리의 재량에 따라 로그를 추가할 수 있습니다. azure-sdk-for-js 내의 패키지는 @azure/로거를 사용합니다.

다음 단계

이 라이브러리를 사용하는 방법에 대한 자세한 예제는 샘플 디렉터리를 참조하세요.

참여

이 라이브러리에 기여하려면 기여 가이드 를 참조하여 코드를 빌드하고 테스트하는 방법에 대해 자세히 알아보세요.

테스트

테스트를 실행하려면 먼저 또는 를 사용하여 종속성을 npm installrush install설치한 다음 를 사용하여 단위 테스트를 실행합니다 npm run unit-test.

준수 사항

이 프로젝트는 Microsoft 오픈 소스 준수 사항을 채택했습니다. 자세한 내용은 Code of Conduct FAQ(규정 FAQ)를 참조하세요. 또는 추가 질문이나 의견은 opencode@microsoft.com으로 문의하세요.

Impressions