npm 包 @azure/core-lro 使用教程

阅读时长 8 分钟读完

前言

@azure/core-lro 是一款面向 Azure 云服务的 npm 包,主要作用是帮助开发者处理长时间运行 (Long Running Operation,简称 LRO) 的任务。

LRO 操作包括但不限于、创建、更新、删除资源等,由于 LRO 操作需要一定的时间才能完成,因此我们需要使用异步编程方式处理此类操作。而 @azure/core-lro 提供了一种简化异步操作的方式,用于加速开发流程。

本文将为读者介绍 npm 包 @azure/core-lro 的基础使用方式,并通过示例代码及详细解释,帮助读者更好地理解这一 npm 包的使用方法。

正文

安装

在 npm 仓库中,@azure/core-lro 的安装方式很简单,只需要使用以下命令:

该命令将自动从 npm 仓库中下载并安装最新版本的 @azure/core-lro 包。

使用

引入 @azure/core-lro 包:

其中 LROPoller 是 @azure/core-lro 包提供的一个核心类,用于处理 LRO 操作。

在使用 LROPoller 处理 LRO 操作时,我们需要先实例化 LROPoller 类,并为其指定需要处理的 LRO 操作、操作类型、以及操作完成后的处理回调函数等参数。

下面通过一个简单的创建 Azure 资源的案例,展示如何使用 LROPoller。

创建 Azure 资源

创建 Azure 资源的过程中,我们需要先创建一个 resource group(资源组),再创建名为 "sample-resource" 的资源。

-- -------------------- ---- -------
----- - ----- - - ---------------------------
----- - --------- - - --------------------------- 

----- ------ - --- ------------------------------------------- ----------------

----- ---------- - -
    --------- ---------
    ----------- -
        ----------- -
            ------
        - -- --------------
    -
--

----- ----------------- - ------------------
----- ------------------------- - ---------------------
----- ------------------ - ---
----- ------------ - -----------------
----- ------------ - ------------------
----- ---------- - ---------------------

----- -------------------- - ----- -------------------------------------
  ------------------
  --------------------------
  -------------------
  -------------
  -------------
  -----------
  ----------
--

----- --------- - --- -----------
  ----------------- ---------------------
  ------------- -----
  ---------------- ----- -- -- -
    ------ ----- ------------------------------------
  -
---

在上面的代码中,我们首先使用 Azure 套件提供的 ResourceManagementClient 类,获取资源管理的客户端对象。该客户端对象提供了多种操作方法,包括创建资源、更新资源、获取资源等操作。接下来,我们使用资源管理客户端对象中的 beginCreateOrUpdate 方法创建一个 resource group,然后在创建 resource group 完成后,即可开始创建 "sample-resource" 资源。创建 "sample-resource" 资源需要首先获得 LRO 操作的 PolledOperation 实例,然后再利用该实例按步骤实现 LRO 操作的处理过程。

在上面的代码中,我们首先实例化一个 LROPoller 类,然后为其指定好所需参数。其中,initialOperation 参数是必须指定的,它表示第一次执行 LRO 操作;intervalInMs 参数表示每次轮询的时间间隔,单位为毫秒;updateOperation 参数表示在执行 LRO 操作过程中,如何获取 LRO 操作的状态。

最后,我们可以通过事件 (event) 或回调函数 (callback) 的方式获取 LRO 操作的最终结果。下面给出事件的写法示例:

示例代码

完整的创建 Azure 资源的代码如下:

-- -------------------- ---- -------
----- - ----- - - ---------------------------
----- - --------- - - --------------------------- 

----- -------- ------ -
  ----- ------ - --- ------------------------------------------- ----------------

  ----- ---------- - -
      --------- ---------
      ----------- -
          ----------- -
              ------
          - -- --------------
      -
  --

  ----- ----------------- - ------------------
  ----- ------------------------- - ---------------------
  ----- ------------------ - ---
  ----- ------------ - -----------------
  ----- ------------ - ------------------
  ----- ---------- - ---------------------

  ----- -------------------- - ----- -------------------------------------
    ------------------
    --------------------------
    -------------------
    -------------
    -------------
    -----------
    ----------
  --

  ----- --------- - --- -----------
    ----------------- ---------------------
    ------------- -----
    ---------------- ----- -- -- -
      ------ ----- ------------------------------------
    -
  ---

  ---------------------------- -- -
    ------------------------- ------- ---------------------------
  ---

  -------------------------- -------- -- -
    ----------------------- ----------------------------
    -- --- ----------- -- ----------------- -------
    ----- -------------- - ----- ---------------------
      ------------------
      ------------------------------------
      -----------------
    --
    ------------------------------------------ ----- ----
  ---
-

结论

@azure/core-lro 是一款能够帮助开发者简化 LRO 操作的 npm 包,我们可以利用该包,使用异步编程模型来处理异步的 LRO 操作。在使用过程中,我们可以根据具体的业务需求,为 LROPoller 实例指定合适的 initialOperation、intervalInMs、updateOperation 参数,以及各种回调函数等,在实现 LRO 操作的过程中,该包能够为开发者提供便利和实用的支持。

本文主要介绍了如何使用 @azure/core-lro 包实现一个简单的 Azure 资源创建过程,若读者有需要,可以在此基础上进一步探索和开发相关应用场景。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedab55b5cbfe1ea061072b

纠错
反馈