azure apim 导入策略 - 字 rune 字中的字符过多

标签 azure azure-api-management

我正在尝试使用二头肌模板将策略导入到 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/

相关文章:

azure - ADF 映射数据流,是否可以在源上执行 SQL?

azure - AAD 差异查询速度慢

Azure 文本到语音 API 音频输出未播放

azure - 如何使用 Azure API 管理集主体中的液体模板解析查询字符串?

json - 如何从API管理策略中的响应体获取值(value)?

Azure APIM导入graphql api

Azure Batch Pool启动任务从Blob FileShare下载资源文件

powershell - Powershell Azure 管理 cmdlet 的凭据

azure - 将文件从 cron 作业的 pod 复制到 AKS 中的本地目录

面向 SAP 网关的 Azure APIM 客户端证书