次の方法で共有


JavaScript 用 Azure Core LRO クライアント ライブラリ - バージョン 3.2.0

これは、ブラウザーと 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

操作状態の型。 これには、notStartedrunningsucceededfailed、および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型のオブジェクトを返す関数。 このポーリングは、エラーが発生した場合に次のように動作します。

  • pollpollUntilDoneの呼び出しは、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 にお問い合わせください。