簡體   English   中英

如何為 ARM 模板中的服務總線邏輯應用操作設置連接字符串?

[英]How to set the connection string for a Service Bus Logic App action in an ARM template?

我正在嘗試部署一個 Azure 邏輯應用程序,其中包含使用 ARM 模板在服務總線上發送消息的操作。

除了部署邏輯應用程序,ARM 模板還部署了一個服務總線命名空間、一個隊列和兩個 AuthorizationRule(一個用於發送,一個用於偵聽)。

我想動態設置發送服務總線消息操作的連接信息,以使用為支持發送的 AuthorizationRule 生成的連接字符串。

當我在門戶編輯器中創建它時(指定用於發送的連接字符串),我注意到在代碼視圖中生成了以下內容...

"Send_message.": {
    "conditions": [
        {
            "dependsOn": "<previous action>"
        }
    ],
    "inputs": {
        "body": {
            "ContentData": "@{encodeBase64(triggerBody())}"
        },
        "host": {
            "api": {
                "runtimeUrl": "https://logic-apis-westus.azure-apim.net/apim/servicebus"
            },
            "connection": {
                "name": "@parameters('$connections')['servicebus']['connectionId']"
            }
        },
        "method": "post",
        "path": "/@{encodeURIComponent(string('<queuename>'))}/messages"
    },
    "type": "apiconnection"
}

},

我假設連接信息以某種方式隱藏在@parameters('$connections')['servicebus']['connectionId']"

然后,我使用resources.azure.com導航到邏輯應用程序,以查看是否可以獲得有關如何定義@parameters('$connections')['servicebus']['connectionId']"更多詳細信息。

我發現了這個:

"parameters": {
  "$connections": {
    "value": {
      "servicebus": {
        "connectionId": "/subscriptions/<subguid>/resourceGroups/<rgname>/providers/Microsoft.Web/connections/servicebus",
        "connectionName": "servicebus",
        "id": "/subscriptions/<subguid>/providers/Microsoft.Web/locations/westus/managedApis/servicebus"
      }
    }
  }
}

但是我仍然沒有看到連接字符串在哪里設置。

在哪里可以使用以下內容在 ARM 模板中為服務總線操作設置連接字符串?

[listkeys(variables('sendAuthRuleResourceId'), variables('sbVersion')).primaryConnectionString]

編輯:另外,我提到的是似乎是github 上有前途的 Azure 快速入門(基於標題) ,但我無法理解。 它似乎使用較舊的架構2014-12-01-preview ,並且“queueconnector”引用了 Api Gateway。 如果有針對這種情況的更新示例,我很樂意看到。

我最近在研究用於部署邏輯應用程序和服務總線連接的 ARM 模板。 這是用於在“Microsoft.Web/connections”類型中配置服務總線連接字符串的示例模板。 希望它有幫助。

 {
    "type": "Microsoft.Web/connections",
    "apiVersion": "2016-06-01",
    "name": "[parameters('connections_servicebus_name')]",
    "location": "centralus",
    "dependsOn": [
      "[resourceId('Microsoft.ServiceBus/namespaces/AuthorizationRules', parameters('ServiceBusNamespace'), 'RootManageSharedAccessKey')]"
    ],
    "properties": {
      "displayName": "ServiceBusConnection",
      "customParameterValues": {},
      "api": {
        "id": "[concat(subscription().id, '/providers/Microsoft.Web/locations/centralus/managedApis/servicebus')]"
      },
      "parameterValues": {
        "connectionString": "[listKeys(resourceId('Microsoft.ServiceBus/namespaces/authorizationRules', parameters('ServiceBusNamespace'), 'RootManageSharedAccessKey'), '2017-04-01').primaryConnectionString]"
      }
    }
  }

如您所知,連接是一種資源,因此需要先創建它,您是否參考了此https://blogs.msdn.microsoft.com/logicapps/2016/02/23/deploying-in-the-logic-apps-preview-刷新/ 您所指的快速入門鏈接適用於較舊的架構。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM