npm 包 @microsoft.azure/classic-openapi-arm-validator 使用教程

在进行云计算开发的过程中,经常需要对 Azure 资源管理器(ARM)模板进行验证,以确保模板的正确性和可用性。而 npm 包 @microsoft.azure/classic-openapi-arm-validator 就是一种可以方便地进行 ARM 模板验证的工具。在本文中,我们将讨论如何使用该工具以及一些常见问题的解决方法。

安装 npm 包 @microsoft.azure/classic-openapi-arm-validator

使用 npm 安装该包非常简单,只需在命令行中输入以下命令即可:

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

使用 npm 包 @microsoft.azure/classic-openapi-arm-validator 进行验证

在安装完成后,即可使用该工具进行 ARM 模板的验证。只需将待验证的 ARM 模板文件(JSON 或 YAML 格式)作为参数传递给该工具,即可得到验证结果和具体错误信息。

以下是一个简单的例子,在命令行中输入以下命令:

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

其中,input.json 是待验证的 ARM 模板文件名。输出的结果将包括一些基本信息和详细的验证错误信息。例如:

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

以上提示的含义是:在 ARM 模板文件中,第1个资源的 Application Insights 延伸配置项中的 instrumentationKey 属性值为空。换言之,该 ARM 模板无法使用,需要进行修改。

使用 npm 包 @microsoft.azure/classic-openapi-arm-validator 进行验证的高级用法

通过参数修改验证模式

有些情况下,需要使用特定的验证模式来针对某个具体的场景进行验证。

可通过 --mode= 参数来指定验证模式。modes 内置有三种预定义模式:None、Validation 和 Linter。

例如,以下命令将使用验证模式为 Validation:

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

自定义规则集合

通过在 ARM 模板文件中添加 $schema 时,可以自定义规则集合。规则集合是一种自定义验证规则的方式,能够提高验证的精确度和灵活性。

例如,在 ARM 模板文件中添加以下代码,即可添加规则集合:

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

其中,validationProfile 属性是规则集合的名称,也就是说,我们可以为该 ARM 模板文件添加一个名为 profile-2019-03-01 的规则集合。

自定义规则集合的使用

启用自定义规则集合的方式和启用预定义规则相同,只需将规则集合的名称作为参数传递给 az-validator 命令。

例如,以下命令将使用名为 profile-2019-03-01 的规则集合:

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

持续集成

如果你是一名开发者或者在团队中负责开发 ARM 模板,很有可能需要将验证步骤集成到 CICD 流程中。为了实现这个目标,可以使用包管理器来确保共享的待验证代码库可用于各个环境。

为了达到这个目的,需要在每个代码库中添加以下两个文件:

  1. package.json:用于描述项目的元数据和依赖项。
  2. validation.config.json:用于指定验证模式和规则集合。

对于 package.json,需要添加以下代码:

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

对于 validation.config.json,需要添加以下代码:

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

以上配置将允许运行 npm run validate 命令,在执行时调用 az-validator 并使用配置文件 validation.config.json 中的规则集合和验证模式进行验证。

结论

在本文中,我们讨论了如何使用 npm 包 @microsoft.azure/classic-openapi-arm-validator 进行 ARM 模板的验证。首先,我们学习了如何安装该 npm 包,然后详细介绍了如何使用它以及一些常见问题的解决方法,并结合实例代码进行了演示。最后,我们还讨论了如何将该工具集成到 CICD 流程中,以实现持续集成和部署的目标。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60066bcc967216659e244777


猜你喜欢

  • npm 包 @nathanfaucett/file_utils 使用教程

    在前端开发中,文件操作是一项必备的技能。随着 Node.js 的发展和普及,npm 上出现了很多可以协助我们进行文件操作的工具包,其中 @nathanfaucett/file_utils 是一个功能强...

    4 年前
  • npm 包 @nathanfaucett/file_type 使用教程

    @nathanfaucett/file_type 是一个用于获取文件类型的 Node.js 模块。它可以用来判断文件是图片、视频、音频还是文本等。在前端开发中,我们经常需要处理文件,因此了解如何使用该...

    4 年前
  • Npm 包 @nathanfaucett/freeze 使用教程

    在前端开发过程中,我们常常需要对数据进行冻结,保证数据的不可变性,从而避免不经意之间修改了数据引发的问题。这就需要用到 freeze 方法。本篇文章将介绍如何使用 npm 包 @nathanfauce...

    4 年前
  • npm 包 @nathanfaucett/flatten_object 使用教程

    什么是 @nathanfaucett/flatten_object 包? @nathanfaucett/flatten_object 是一个 JavaScript 的 npm 包,它提供了一个简单的方...

    4 年前
  • npm 包 @nathanfaucett/focus_node 使用教程

    在前端开发中,经常需要对用户输入的表单进行校验和处理。而 @nathanfaucett/focus_node 就是一个专门用于操作 DOM 元素的 npm 包。它可以帮助我们在表单元素上设置和获取焦点...

    4 年前
  • npm 包 @nathanfaucett/format 使用教程

    在前端开发中,处理字符串是很常见的操作,但是处理字符串的方式却多种多样。其中,@nathanfaucett/format 是一个优秀的 npm 包,它提供了一种灵活且功能强大的方式来格式化字符串。

    4 年前
  • npm 包 @nathanfaucett/foreign_key 使用教程

    在前端开发中,我们经常需要处理数据的关联关系。为了方便地处理数据间的关联关系,开发者们往往会选择使用外键(foreign key)来建立表之间的联系。而 npm 包 @nathanfaucett/fo...

    4 年前
  • NPM包@nathanfaucett/dasherize的使用教程

    在前端开发中,经常需要对字符串进行处理和格式化,为了方便开发人员进行相关操作,NPM社区拥有了大量的字符串处理和格式化工具。其中,@nathanfaucett/dasherize是一款非常实用的NPM...

    4 年前
  • npm 包 @nathanfaucett/get_window 使用教程

    在前端开发中,经常需要获取浏览器窗口的各种信息。为了更加高效地获取这些信息,我们介绍一款 npm 包 @nathanfaucett/get_window,它是一个轻量的 JavaScript 工具包,...

    4 年前
  • npm 包 @nathanfaucett/has 使用教程

    简介 @nathanfaucett/has 是一个可以在 JavaScript 中判断一个对象是否具有特定属性的小型工具库。它封装了 JavaScript 中的 hasOwnProperty() 方法...

    4 年前
  • npm 包@nathanfaucett/hex_encoding 使用教程

    前言 在前端开发中,经常会用到十六进制编码的转换操作。@nathanfaucett/hex_encoding 是一个基于 JavaScript 编写的 npm 包,提供了一些方便快捷的方法,让我们在前...

    4 年前
  • npm 包 @nathanfaucett/http_error 使用教程

    什么是 @nathanfaucett/http_error 包 @nathanfaucett/http_error 是一个 npm 包,用于处理 http 请求中出现的错误。

    4 年前
  • npm 包 @nathanfaucett/get_active_element 基础教程

    随着前端技术的发展,我们常常需要获取用户当前激活的 DOM 元素以便于执行对应的操作。在这种情况下,通常需要借助一个库,其中 @nathanfaucett/get_active_element 就是一...

    4 年前
  • npm 包 @nathanfaucett/get_current_style 使用教程

    在前端开发中,获取当前样式是一个非常常见的需求。而 @nathanfaucett/get_current_style 就是一个专门用于获取当前样式的 npm 包。在本文中,我们将介绍该 npm 包的使...

    4 年前
  • npm 包 @nathanfaucett/get_event_key 使用教程

    前言 随着 Web 应用的不断发展,越来越多的交互功能需要前端实现。而事件处理对于交互功能来说是至关重要的。在事件处理中,有时需要获取事件触发时的键盘按键信息,以便针对不同按键触发不同的操作。

    4 年前
  • npm 包 @nathanfaucett/get_event_char_code 使用教程

    介绍 在前端开发中,我们经常需要对用户在输入框内输入的内容进行处理。而对于用户在输入框内输入的字符,我们需要获取其对应的字符编码。 可以使用 JavaScript 的 keydown 事件获取字符编码...

    4 年前
  • npm 包 @nathanfaucett/get_markup_wrap 使用教程

    在前端开发中,我们常常需要对网页内容进行标记和封装。使用 @nathanfaucett/get_markup_wrap 可以方便地对内容进行处理,得到我们想要的封装格式。

    4 年前
  • npm 包 @nathanfaucett/get_prototype_of 使用教程

    在前端开发中,获取一个对象的原型是一个常见的需求。虽然 JavaScript 中有内置的 Object.getPrototypeOf 方法,但是这个方法并不兼容所有的浏览器。

    4 年前
  • npm 包 @nathanfaucett/get_random_bytes 使用教程

    在前端开发中,我们常常需要生成随机数或加密字符串,这时就需要用到生成随机数的方式。@nathanfaucett/get_random_bytes 是一个 npm 包,可以帮助我们生成高质量的随机数。

    4 年前
  • npm 包 @nathanfaucett/inflections_en 使用教程

    前言 在前端开发中,我们经常需要对字符串进行格式化和变换。比如,我们要把一个单词的单数形式转换为复数形式,或者反过来。 不过,这种转换有时候需要在多个地方用到,所以最好将其封装成一个可复用的模块。

    4 年前

相关推荐

    暂无文章