0

我已经使用 arm 模板创建了 azure 函数应用程序。但我想在 azure 功能的网络下创建几个混合连接,如下所示:

在此处输入图像描述

那么,谁能建议我如何做到这一点?

4

2 回答 2

1

示例适用于我:

为您的混合连接端点添加一个数组列表:

"parameters": {
        ......
        "endpoint": {
            "defaultValue": [
                "test6:3306",
                "test6:8081",
                "test6:8082"
            ],
            "type": "Array"
        }
    },

在资源部分复制使用情况:

{
    "type": "Microsoft.Relay/namespaces/HybridConnections",
    "apiVersion": "2017-04-01",
    "name": "[concat(parameters('relayName'), '/', copyIndex())]",
    "location": "Central US",
    "dependsOn": [
        "[resourceId('Microsoft.Relay/namespaces', parameters('relayName'))]"],
    "properties": {
        "requiresClientAuthorization": false,
        "userMetadata": "[[{\"key\":\"endpoint\",\"value\":\"[parameters('endpoint')[copyIndex()]]\"}]"
    },
    "copy": {
        "name": "datacopy",
        "count": 3
    }
},
{
    "type": "Microsoft.Relay/namespaces",
    "apiVersion": "2018-01-01-preview",
    "name": "[parameters('relayName')]",
    "location": "Central US",
    "sku": {
        "name": "Standard",
        "tier": "Standard"
    },
    "properties": {}
}

这是我的参考:

  1. 使用模板创建混合连接

  2. 通过 ARM 模板将现有混合连接链接到 Azure Web 应用

  3. 复制索引使用

于 2020-12-10T09:34:38.157 回答
0

要使用二头肌为网络创建混合连接,您需要:

param appServiceName string

var cfg = json(loadTextContent('../../bicepConsts.json'))
var hc = cfg.HybridConnection

resource appService 'Microsoft.Web/sites@2021-02-01' existing = {
  name: appServiceName
}

var relayId = resourceId(hc.ResourceGroup, 'Microsoft.Relay/namespaces', hc.Namespace)
var connectionId = '${relayId}/hybridConnections/${hc.Name}'
var senderKeyName = 'defaultSender'

var key = listKeys('${connectionId}/authorizationRules/${senderKeyName}', '2017-04-01').primaryKey


resource hybridConnection 'Microsoft.Web/sites/hybridConnectionNamespaces/relays@2021-02-01' = {
  name: '${appService.name}/${hc.Namespace}/${hc.Name}'
  location: hc.NamespaceLocation
  dependsOn: [
    appService
  ]
  properties: {
    serviceBusNamespace: hc.Namespace
    relayName: hc.Name
    relayArmUri: connectionId
    hostname: hc.Host
    port: hc.Port
    sendKeyName: senderKeyName
    sendKeyValue: key
    serviceBusSuffix: '.servicebus.windows.net'
  }
}

此 bicepConsts 文件包含的位置如下:

{ 
    "..." : "...",
    "HybridConnection": {
        "ResourceGroup": "resource group of your HybridConnection from Azure",
        "Name": "Name of hybrid connection",
        "Namespace": "Namespace of hybrid connection",
        "NamespaceLocation": "Location (e.g. 'West US 2') of your hybrid connection namespace",
        "Host": "Host of your hybrid connection",
        "Port": "Port of your hybrid connection AS INTEGER!",
    }
}
于 2022-01-09T10:49:43.107 回答