これは、ブラウザーと 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
操作状態の型。 これには、notStarted
、running
、succeeded
、failed
、およびcanceled
の値を含むstatus
フィールドが含まれています。 次のようにアクセスできます。
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 が使用されます。
次のステップ
このライブラリの使用方法の詳細な例については、ディレクトリ
投稿
このライブラリに投稿する場合は、コードをビルドしてテストする方法の詳細については、投稿ガイド を参照してください。
テスティング
テストを実行するには、最初に依存関係 ( npm install
または rush install
) をインストールしてから、次のコマンドで単体テストを実行 npm run unit-test
。
行動規範
このプロジェクトは、「Microsoft のオープン ソースの倫理規定」を採用しています。 詳細については、行動規範に関する FAQ を参照するか、その他の質問やコメントを opencode@microsoft.com にお問い合わせください。
Azure SDK for JavaScript