在 ARM/Bicep 模板中定义 APIM 策略时,'xml' 和 'rawxml' 格式有什么区别

What is the difference between 'xml' and 'rawxml' formats when defining APIM policies in ARM/Bicep Templates

在 Bicep 或 ARM 模板中定义 Azure API 管理策略时,策略值的格式可以设置为 rawxml(和 rawxml-link)或 xml(和 xml-link)。我知道 link 格式是什么,但是 rawxmlxml.

之间的区别不明确

我已经查看了关于此的 MS 文档 (ApiManagement Policy Template Definition),但没有找到任何关于这两种格式的差异或用途的指标。谷歌搜索并没有产生一个直接的答案,至少对我的 google 技能来说是这样。

rawxmlxml有什么区别?

这篇微软文章将帮助您:

https://docs.microsoft.com/en-us/sql/relational-databases/xml/use-raw-mode-with-for-xml?view=sql-server-ver15

特定的 Microsoft 名称“rawxml”仅在显式作用于通用标识符时有所不同 <row>

xml 格式的策略必须是有效的 XML,即所有在 XML 中无效的字符都必须正确转义。例如,这就是简单的表达式必须看起来的样子

<set-variable name="var" value="@(&quot;user id:&quot; + context.User?.Id)"/>

rawxml 格式的策略使用 razor 语法,这就是您在编辑策略代码时在 Azure 门户中看到的内容。在这种格式下,您不需要转义表达式中的 XML 个无效字符,例如:

<set-variable name="var" value="@("user id:" + context.User?.Id)"/>

否则没有区别,您可以选择最适合您需要的格式。