이는 브라우저와 NodeJS 모두에서 작동하는 Azure SDK JavaScript 클라이언트 라이브러리에서 장기 실행 작업의 기본 구현입니다. 이 라이브러리는 주로 AutoRest 및 autorest.typescript의해 생성된 코드에서 사용됩니다.
@azure/core-lro
장기 실행 작업에 대한 Azure SDK 디자인 지침을 따릅니다.
키 링크:
- 소스 코드
- 패키지(npm)
- API 참조 설명서
- 견본
시작하기
현재 지원되는 환경
- Node.js의 LTS 버전
- Safari, Chrome, Edge 및 Firefox의 최신 버전입니다.
설치
이 패키지는 주로 생성된 코드에서 사용되며 최종 사용자가 직접 사용하지 않습니다.
주요 개념
SimplePollerLike
폴러는 터미널 상태에 도달할 때까지 서버의 장기 실행 작업을 해당 상태로 폴링할 수 있는 개체입니다. 다음 메서드를 제공합니다.
-
getOperationState: 확장되는 형식으로 입력된 작업의 상태를 반환합니다.OperationState -
getResult: 작업이 완료되면 작업의 결과를 반환하고undefined, 그렇지 않으면 -
isDone: 작업이 터미널 상태인지 여부를 반환합니다. -
isStopped: 폴링이 중지되었는지 여부를 반환합니다. -
onProgress: 폴링 응답을 받을 때마다 호출할 콜백 함수를 등록합니다. -
poll: 단일 폴링 요청을 보냅니다. -
pollUntilDone: 작업 결과로 해결할 프라미스를 반환합니다. -
stopPolling: 폴링을 중지합니다. -
toString: 폴러의 상태를 serialize합니다.
OperationState
작업 상태에 대한 형식입니다. 여기에는 다음과 같은 가능한 값이 있는 필드가 statusnotStartedrunningsucceeded포함 failed 됩니다. canceled 다음과 같이 액세스할 수 있습니다.
switch (poller.operationState.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의 개체를 반환하는 함수입니다. 이 폴러는 오류가 있는 경우 다음과 같이 동작합니다.
- 를 호출하면
pollpollUntilDone옵션이 true로 설정되지 않은 한resolveOnUnsuccessful작업이 실패하거나 취소된 경우 오류가 발생합니다. -
poller.getOperationState().status는 작업이 실패하거나 오류 응답을 반환할 때 true로 설정됩니다.
예시
예제는 samples 폴더에서 찾을 수 있습니다.
문제 해결
로깅 (로그 기록)
장기 실행 작업 폴러를 구현하는 라이브러리의 재량에 따라 로그를 추가할 수 있습니다. azure-sdk-for-js 내의 패키지는 @azure/로거를 사용합니다.
다음 단계
이 라이브러리를 사용하는 방법에 대한 자세한 예제는 샘플 디렉터리를 살펴보세요.
기여(하기)
이 라이브러리에 기여하려면 기여 가이드 읽어 코드를 빌드하고 테스트하는 방법에 대해 자세히 알아보세요.
테스팅
테스트를 실행하려면 먼저 종속성( ) pnpm install을 설치한 다음 다음을 npm run unit-test사용하여 단위 테스트를 실행합니다.
행동 강령
이 프로젝트는 Microsoft 오픈 소스 행동 강령
Azure SDK for JavaScript