<nav id="center-doc-outline" class="doc-outline is-hidden-desktop display-none-print margin-bottom-sm" data-bi-name="intopic toc" aria-label="本文内容"> </nav><p>Azure 资源管理器模板(ARM 模板)的基本语法是 JavaScript 对象表示法 (JSON)。 但是,可以使用表达式来扩展模板中可用的 JSON 值。 表达式分别以方括号 与 开头和结尾。 部署模板时会计算表达式的值。 表达式可以返回字符串、整数、布尔值、数组或对象。</p>
讯享网
模板表达式不能超过 24,576 个字符。
Azure 资源管理器提供了可在模板中使用的函数。 以下示例显示了一个在参数的默认值中使用函数的表达式:
讯享网
在该表达式中,语法 调用资源管理器提供的、在模板中使用的某个函数。 在本例中,它是 resourceGroup 函数。 如同在 JavaScript 中一样,函数调用的格式为 。 语法 从该函数返回的对象中检索一个属性。
模板函数及其参数不区分大小写。 例如,资源管理器将 和 解析为相同内容。 在求值时,除非函数明确修改大小写(例如 或 ),否则函数保留大小写。 某些资源类型可能有独立于函数求值方式的大小写要求。
若要将字符串值作为参数传递给函数,请使用单引号。
无论是部署到资源组、订阅、管理组还是租户,大多数函数的工作原理都相同。 以下函数根据范围有限制:
- resourceGroup - 只能在部署到资源组时使用。
- resourceId - 可以在任何范围内使用,但有效参数会根据范围而发生变化。
- subscription - 只能在部署到资源组或订阅时使用。
要使文本字符串以左方括号 开头,以右方括号 结尾,但不将其解释为表达式,请添加额外的方括号使字符串以 开头。 例如,变量:
讯享网
解析为 。
但是,如果文本字符串没有以方括号结束,则不要转义第一个方括号。 例如,变量:
解析为 。
若要转义表达式中的双引号(例如,在模板中添加 JSON 对象),请使用反斜杠。
讯享网
若要转义 ARM 表达式输出中的单引号,请将单引号重复一次。 以下模板的输出会生成 JSON 值 。
在资源定义中,对表达式中的值进行双重转义。 以下模板中的 为 。
讯享网
使用 languageVersion 2.0 时,不再需要双重转义。 可以将前面的示例编写为以下 JSON 以获取相同的结果 。
传入参数值时,转义字符的使用取决于在何处指定了参数值。 如果在模板中设置默认值,则需要额外的左括号。

讯享网
如果使用默认值,则模板会返回 。
但是,如果通过命令行传入参数值,则将按原义解释这些字符。 使用以下命令部署上一个模板:
返回 。 请改用:
讯享网
从参数文件传入值时,将应用相同的格式设置。 将按原义解释字符。 与上述模板一起使用时,以下参数文件将返回 :
若要将属性设置为 null,可使用 或 。 将 作为参数提供时,json 函数返回空对象。 在这两种情况下,资源管理器模板都会按照属性不存在的情况对其进行处理。
讯享网
若要完全删除某个元素,可以使用 filter() 函数。 例如:
- 有关模板函数的完整列表,请参阅 ARM 模板函数。
- 若要详细了解模板文件,请参阅了解 ARM 模板的结构和语法。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/206271.html