【Azure Service Bus】建立 ServiceBus 的Terraform指令碼報錯GetAuthorizationRule: Invalid input

路边两盏灯發表於2024-09-10

問題描述

在使用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資源是不區分大小寫的,也就是說:不論大寫/小寫,都是支援的。

【Azure Service Bus】建立 ServiceBus 的Terraform指令碼報錯GetAuthorizationRule: Invalid input

(Source: https://learn.microsoft.com/zh-cn/azure/azure-resource-manager/management/resource-name-rules)

為了解決Terraform釋出Service Bus問題,最後透過升級 azure provider 到最新版本來解決此問題。

為了最佳的體驗,需要確保使用最新 Terraform azurerm 元件!

相關文章