Azure Core LRO client library for JavaScript - version 3.4.0

これは、ブラウザーと NodeJS の両方で動作する Azure SDK JavaScript クライアント ライブラリでの実行時間の長い操作の既定の実装です。 このライブラリは主に TypeSpec@azure-tools/typespec-ts エミッターによって生成されるコードで使用されることを意図しています。

@azure/core-lro、実行時間の長い操作に関する Azure SDK 設計ガイドラインに従います

主要なリンク:

作業の開始

現在サポートされている環境

  • Node.js の LTS バージョンを する
  • Safari、Chrome、Edge、Firefox の最新バージョン。

取り付け

このパッケージは主に生成されたコードで使用され、エンド ユーザーが直接使用するためのものではありません。

重要な概念

PollerLike

ポーリングは、サーバーで実行時間の長い操作をポーリングして、その状態が終了状態になるまでポーリングできるオブジェクトです。 また、 Promise<TResult>を延長できるので、直接で最終結果を得るために await できます。 以下が提供されます。

  • operationState: は、演算の現在の状態を返すプロパティで、 OperationStateを拡張する型として型付けします。 投票がまだ提出されていない場合は undefined です。
  • result: これは演算が完了したときに結果を返し、それ以外は返undefined
  • isDone: これは操作が終端状態にあるかどうかを返す性質です。
  • onProgress: ポーリング応答を受信するたびに呼び出されるコールバック関数を登録します。
  • poll: 1 つのポーリング要求を送信します
  • pollUntilDone: 操作の結果で解決される Promise を返します。
  • serializeはポーラーの状態をシリアライズされた表現に解決する約束を返します
  • submitted:はポーラーが正常に提出されたときに解決される約束を返します

OperationState

操作状態の型。 これには、statusnotStartedrunningsucceeded、およびfailedの値を含むcanceled フィールドが含まれています。 次のようにアクセスできます。

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

createHttpPoller

PollerLike型のオブジェクトを返す関数。 このポーリングは、エラーが発生した場合に次のように動作します。

  • pollpollUntilDoneの呼び出しは、resolveOnUnsuccessful オプションが true に設定されていない限り、操作が失敗または取り消された場合にエラーをスローします。
  • poller.operationState?.status 操作が失敗するかエラー応答を返すと、 "failed" または "canceled" に設定されます。

例示

例は、samples フォルダーにあります。

トラブルシューティング

ロギング(記録)

ログは、長時間実行操作ポーリングを実装するライブラリの判断で追加できます。 azure-sdk-for-js 内のパッケージでは、@azure/logger が使用されます

次のステップ

このライブラリの使用方法の詳細な例については、ディレクトリ サンプルを参照してください。

投稿

このライブラリに投稿する場合は、コードをビルドしてテストする方法の詳細については、投稿ガイド を参照してください。

テスティング

テストを実行するには、まず依存関係を ( pnpm install を使用して) インストールし、次に pnpm run test:node を使用して単体テストを実行します。

行動規範

このプロジェクトは、「Microsoft のオープン ソースの倫理規定」を採用しています。 詳細については、行動規範に関する FAQ を参照するか、その他の質問やコメントを opencode@microsoft.com にお問い合わせください。