これは、ブラウザーと NodeJS の両方で動作する Azure SDK JavaScript クライアント ライブラリでの実行時間の長い操作の既定の実装です。 このライブラリは主に、AutoRest および autorest.typescriptによって生成されるコードで使用することを目的としています。
@azure/core-lroは、実行時間の長い操作に関する Azure SDK 設計ガイドラインに従います
主要なリンク:
作業の開始
現在サポートされている環境
- Node.js の LTS バージョンを
する - Safari、Chrome、Edge、Firefox の最新バージョン。
取り付け
このパッケージは主に生成されたコードで使用され、エンド ユーザーが直接使用するためのものではありません。
重要な概念
SimplePollerLike
ポーリングは、サーバーで実行時間の長い操作をポーリングして、その状態が終了状態になるまでポーリングできるオブジェクトです。 次のメソッドが提供されます。
-
getOperationState: 拡張する型として型指定された、操作の状態を返します。OperationState -
getResult: 操作の完了時に操作の結果を返し、それ以外の場合undefined返します。 -
isDone: 操作が終了状態であるかどうかを返します。 -
isStopped: ポーリングが停止したかどうかを返します。 -
onProgress: ポーリング応答を受信するたびに呼び出されるコールバック関数を登録します。 -
poll: 1 つのポーリング要求を送信します -
pollUntilDone: 操作の結果で解決される Promise を返します。 -
stopPolling: ポーリングを停止します。 -
toString: ポーラーの状態をシリアル化します。
OperationState
操作状態の型。 これには、status、notStarted、running、succeeded、および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型のオブジェクトを返す関数。 このポーリングは、エラーが発生した場合に次のように動作します。
-
pollとpollUntilDoneの呼び出しは、resolveOnUnsuccessfulオプションが true に設定されていない限り、操作が失敗または取り消された場合にエラーをスローします。 -
poller.getOperationState().statusは、操作が失敗した場合、またはエラー応答が返された場合に true に設定されます。
例示
例は、samples フォルダーにあります。
トラブルシューティング
ロギング(記録)
ログは、長時間実行操作ポーリングを実装するライブラリの判断で追加できます。 azure-sdk-for-js 内のパッケージでは、@azure/logger が使用されます。
次のステップ
このライブラリの使用方法の詳細な例については、ディレクトリ
投稿
このライブラリに投稿する場合は、コードをビルドしてテストする方法の詳細については、投稿ガイド を参照してください。
テスティング
テストを実行するには、まず依存関係を ( pnpm install を使用して) インストールし、次に npm run unit-test を使用して単体テストを実行します。
行動規範
このプロジェクトは、「Microsoft のオープン ソースの倫理規定」を採用しています。 詳細については、行動規範に関する FAQ を参照するか、その他の質問やコメントを opencode@microsoft.com にお問い合わせください。
Azure SDK for JavaScript