問題描述
在使用Terraform部署Service Bus時候,遇見了如下報錯:
Error: Error making Read request on Azure ServiceBus Topic Authorization Rule : servicebus.TopicsClient#GetAuthorizationRule: Invalid input: autorest/validation: validation failed: parameter=authorizationRuleName constraint=MinLength value="" details: value length must be greater than or equal to 1
問題解答
在檢視Teffaform的日誌後,定位到問題發生的原因是 authorizationrules 這個關鍵字出現了大小寫問題。
出問題的部署使用的小寫authorizationrules, 而請求真正使用的引數是authorizationRules.
其實,如果檢視Azure的官方文件,它標明瞭Azure資源是不區分大小寫的,也就是說:不論大寫/小寫,都是支援的。
(Source: https://learn.microsoft.com/zh-cn/azure/azure-resource-manager/management/resource-name-rules)
為了解決Terraform釋出Service Bus問題,最後透過升級 azure provider 到最新版本來解決此問題。
為了最佳的體驗,需要確保使用最新 Terraform azurerm 元件!