我正在尝试使用二头肌模板将策略导入到 azure api 管理,如下所示:
resource allOpsPolicy 'Microsoft.ApiManagement/service/apis/policies@2021-12-01-preview' = {
name: 'policy'
parent: apimapi_v1
properties: {
value: loadTextContent('all-ops-policy.xml')
format: 'xml'
}
}
all-ops-policy.xml文件内容如下:
<policies>
<inbound>
<base />
<choose>
<when condition="@(context.Request.OriginalUrl.ToString().EndsWith("Public") == false)">
<rewrite-uri template="@(String.Concat(context.Request.OriginalUrl.ToString(),"/", "MapServer"))" copy-unmatched-params="false" />
</when>
<otherwise />
</choose>
</inbound>
<backend>
<base />
</backend>
<outbound>
<base />
</outbound>
<on-error>
<base />
</on-error>
</policies>
运行时出现以下错误:
One or more fields contain incorrect values: (Code: ValidationError)
- 'Public' is an unexpected token. Expecting white space.
有人能看出我哪里出错了吗?
最佳答案
问题出在 allOpsPolicy 资源的 format 属性值上。
我改变了
format: 'xml'
至
format: 'rawxml'
然后就成功了!
感谢 Nisha 解决了这个问题
关于azure apim 导入策略 - 字 rune 字中的字符过多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75287776/