我无法在grrovy脚本中使用URIBuilder正确构建URL。这就是文档说它看起来应该是什么 -
https://management.azure.com/subscriptions/ {subscription-Id} /providers/Microsoft.Commerce/RateCard?api-version= {api-version}& $ filter = OfferDurableId eq'{OfferDurableId}'和Currency eq'{Currency} '和Locale eq'{Locale}'和RegionInfo eq'{RegionInfo}''
我的代码 -
def urlRATECARD = 'https://management.azure.com/subscriptions/xxxx-xxxx-xxxx-xxxx/providers/Microsoft.Commerce/RateCard'
def uriRATECARD = new URIBuilder(urlRATECARD)
uriRATECARD.addQueryParam 'api-version','2015-06-01-preview'
uriRATECARD.addQueryParam '$filter', 'OfferDurableId eq`0003P`and Locale eq `en-AU` and Regioninfo eq `AU` and Currency eq `AUD`'
输出 -
失败并出现以下错误 -
[消息:指定的查询无效。请为OfferDurableId,Currency,Locale和RegionInfo指定有效值。]
有人能提供正确的方法来创建吗?
答案 0 :(得分:1)
我使用$ filter标题的美元斜线字符串解决了这个问题 -
def urlRATECARD = 'https://management.azure.com/subscriptions/xxxx-xxxx-xxxx-xxxx/providers/Microsoft.Commerce/RateCard'
def uriRATECARD = new URIBuilder(urlRATECARD)
String Filter = $/OfferDurableId eq 'MS-AZR-0003p' and Locale eq 'en-AU' and Regioninfo eq 'AU' and Currency eq 'AUD'/$
uriRATECARD.addQueryParam 'api-version','2015-06-01-preview'
uriRATECARD.addQueryParam '$filter', Filter
创建以下内容 -
答案 1 :(得分:0)
如果您的订阅为Pay-As-You-Go
,则OfferDurableId
为MS-AZR-0003p
。
您可以在example之前检查此OFFER NUMBER
,它需要添加MS-AZR-
。