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

前言

@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


猜你喜欢

  • npm 包 @types/raven 使用教程

    什么是 @types/raven 在前端工程中经常使用到包管理工具npm,@types/raven 是 npm 上的一个包,它提供了sentry上写事件代码ble的api。

    4 年前
  • npm 包 @types/uniqid 使用教程

    @types/uniqid 是一个在 TypeScript 中使用 uniqid 库的声明文件包,使得在使用时可以有更好的类型检查和智能提示。 安装 在项目中安装 @types/uniqid: ---...

    4 年前
  • NPM 包 @azure/core-paging 使用教程

    什么是 @azure/core-paging @azure/core-paging 是 Azure 官方提供的用于分页数据的 JavaScript 库,可用于处理 Azure 所有支持分页的服务。

    4 年前
  • npm包aws-event-mocks使用教程

    在前端开发中,我们经常会使用AWS服务作为后端提供支持,AWS服务提供了不同类型的事件,如Lambda函数执行、Kinesis流事件、SNS通知等。为了在前端应用程序中实现这些事件的测试,我们需要一些...

    4 年前
  • npm 包 joi-assert 使用教程

    什么是 joi-assert joi-assert 是一个轻量级的 npm 包,它提供了一种方便的方式来测试 joi 验证器的行为。joi 是一个非常流行的 Node.js 库,用于数据验证和类型转换...

    4 年前
  • npm 包 @opencensus/web-types 使用教程

    介绍 @opencensus/web-types 是一个由 OpenCensus 提供的 JavaScript 库,旨在提供 TypeScript 类型支持,使得前端开发人员能够更轻松地使用 Open...

    4 年前
  • npm 包 @azure/core-tracing 使用教程

    简介 @azure/core-tracing 是 Microsoft Azure 提供的一个 npm 包,用于帮助开发人员在应用程序中实现分布式追踪。使用该包可以追踪分布式应用的各个部分,并分析它们之...

    4 年前
  • npm 包 on-change 使用教程

    在前端开发中,我们经常需要监听对象或数组的变化,以及在变化后执行一些特定的操作。而 on-change 这个 npm 包就能够帮助我们轻松实现这个功能,本文将介绍如何使用 on-change 包来实现...

    4 年前
  • npm 包 @azure/logger 使用教程

    随着前端技术的发展,越来越多的应用需要与后端服务进行交互,因此在前端项目中,对于日志管理的需求也越来越高。为了解决这个问题,微软推出了 npm 包 @azure/logger,本文将详细介绍其用法与注...

    4 年前
  • npm 包 @opentelemetry/api 使用教程

    前言 随着云原生发展,微服务逐渐成为主流,复杂的分布式系统使得用户体验监测愈加困难。OpenTelemetry 提供了一套 API 和 SDK 来跨多个语言、跨多个应用程序或服务进行的观察性数据捕获,...

    4 年前
  • npm 包 @cpmech/envars 使用教程

    在日常前端开发中,我们常常需要使用环境变量来控制应用程序的不同行为,如生产环境、测试环境和开发环境。但是,在项目很复杂或者环境变量较多的情况下,手动管理环境变量会变得困难且繁琐。

    4 年前
  • npm 包 @azure/identity 使用教程

    @azure/identity 是一个非常牛逼的 npm 包,它为 Azure Cloud 上访问受保护的资源提供了简单、一致、可扩展的方式。它帮助你提供多种认证协议、包括支持公共云、国际、高度机密的...

    4 年前
  • npm 包 @types/mailparser 使用教程

    在前端开发中,处理邮件常常是必要的。MailParser 是一个流式的 Node.js 模块,用于解析电子邮件。在这篇文章中,我们会介绍如何使用 npm 包 @types/mailparser 来解析...

    4 年前
  • npm 包 @cpmech/util 使用教程

    前言 在前端领域,我们经常需要使用一些工具函数来提高效率。@cpmech/util 是一个功能强大的 JavaScript 工具函数库,可以帮助我们快速地解决开发中遇到的问题。

    4 年前
  • npm包 downlevel-dts 使用教程

    最近在使用Typescript编写前端代码的过程中,遇到了一些困难。其中一个问题是,我希望将库编译为ES5版本,但是TypeScript会生成本地代码。这意味着,即使我使用ES5覆盖上我的库,也无法使...

    4 年前
  • npm 包 @aws-cdk/aws-cloudwatch 使用教程

    简介 AWS CloudWatch 是 Amazon Web Services(AWS)提供的一项监控服务,可以监控您的 AWS 资源以及应用程序在 AWS 中运行时的性能和资源利用率。

    4 年前
  • npm 包 @aws-cdk/aws-kms 使用教程

    #npm 包 @aws-cdk/aws-kms 使用教程 在云计算时代,安全问题成为了一个越来越严重的议题,所以加密技术显得尤为重要。AWS 公司在其云平台上提供了 KMS(Key Managemen...

    4 年前
  • npm 包 karma-json-preprocessor 使用教程

    在前端开发过程中,我们经常需要测试代码的结果是否正确。而执行 JavaScript 测试时,如果需要测试一些 JSON 数据的输出是否正确,就需要使用 karma-json-preprocessor ...

    4 年前
  • npm 包 jsii-diff 使用教程

    前言 在编写 JavaScript 程序时,不可避免会需要在两个对象之间比较差异。在这个过程中,我们可能会使用一些比较简单的 JS 比较函数,但是,在更复杂的情况下,比较函数可能会变得更加复杂。

    4 年前
  • npm 包 jsii-release 使用教程

    什么是 jsii-release jsii-release 是一个发布 JSII 包的工具。JSII 是一个在不同编程语言中编写的 API 类型系统,它可让你使用 TypeScript、Python ...

    4 年前

相关推荐

    暂无文章