[英]API URL suffix in API Management ARM Template
[英]ARM Template API Management Deploy PolicyContent
我正在嘗試使用ARM模板來部署我的API管理服務,並使除policyContent之外的所有內容正常工作。 基本上,它希望policyContent為“ Json轉義了策略的Xml編碼內容”。 這很難維護,並試圖找到一種獲取XML文件並將內容注入此字符串的方法,或者是更好的方法。 我不想寫一個程序來維護這些字符串,因為它看起來應該不太復雜。
{ "name": "policy", "type": "Microsoft.ApiManagement/service/apis/policies", "apiVersion": "2017-03-01", "properties": { "policyContent": "string" } }
您可以將策略維護到XML文件中,並像這樣引用它:
{
"apiVersion": "2018-01-01",
"name": "policy",
"type": "Microsoft.ApiManagement/service/policies",
"properties": {
"policyContent": "[concat(parameters('repoBaseUrl'), '/policy.xml')]",
"contentFormat": "rawxml-link"
},
"dependsOn": [
"[resourceId('Microsoft.ApiManagement/service/', parameters('ApimServiceName'))]"
]
}
您的policy.xml
文件必須在線可用,如下所示:
<policies>
<inbound>
<rate-limit calls="3" renewal-period="10" />
<base />
</inbound>
<outbound>
<base />
</outbound>
<backend>
<base />
</backend>
<on-error>
<base />
</on-error>
</policies>
好吧,我唯一能想到的(因為arm模板中的任何本機都無法幫助您)是從文件中讀取輸入並將其轉換為JSON:
$xml = (Get-Content file -Raw).ToString()
($xml | ConvertTo-Json -Compress) -replace '\\u003c','<' ) -replace '\\u003e','>'
如果不將那些unicode替換回<>
,可能會起作用,不知道。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.