我在 azure 中有一个资源组,其中包含一个包含混合连接的中继。我正在尝试部署另一个包含 Web 应用程序的资源组,该应用程序应链接另一个资源组中的现有混合连接。
在 azure 门户中执行此任务很简单,但由于我想在 ARM 模板部署期间运行“完整模式”,因此我需要在部署期间执行此操作。
我找不到任何好的文档,而且很多答案似乎已经过时了。这是否可能,如果可以,如何实现?
我在 azure 中有一个资源组,其中包含一个包含混合连接的中继。我正在尝试部署另一个包含 Web 应用程序的资源组,该应用程序应链接另一个资源组中的现有混合连接。
在 azure 门户中执行此任务很简单,但由于我想在 ARM 模板部署期间运行“完整模式”,因此我需要在部署期间执行此操作。
我找不到任何好的文档,而且很多答案似乎已经过时了。这是否可能,如果可以,如何实现?
您可以使用此代码在 Relay 上创建混合连接:
{
"name": "[concat(relayName, '/', hybridConnectionName]",
"type": "Microsoft.Relay/namespaces/hybridConnections",
"apiVersion": "2017-04-01",
"dependsOn": [
"relayName"
],
"properties": {
"requiresClientAuthorization": true,
"userMetadata": [
{
"key": "endpoint",
"value": "google.com:443"
}
]
},
"resources": []
}
然后将其连接到网络应用程序:
"variables": {
"hybridConnectionResourceId": "[resourceId(relayResourceGroup, 'Microsoft.Relay/Namespaces/Hybridconnections', relayName, hybridConnectionName)]"
},
{
"name": "[concat(webAppName, '/', relayName, '/', hybridConnectionName)]",
"type": "Microsoft.Web/sites/hybridConnectionNamespaces/relays",
"apiVersion": "2018-02-01",
"dependsOn": [
"webAppName"
],
"location": "[resourceGroup().location]",
"properties": {
"serviceBusNamespace": "relayName",
"relayName": "hybridConnectionName",
"relayArmUri": "[variables('hybridConnectionResourceId')]",
"hostName": "[split(json(reference(variables('hybridConnectionResourceId'), '2017-04-01').userMetadata)[0].value, ':')[0]]",
"port": "[split(json(reference(variables('hybridConnectionResourceId'), '2017-04-01').userMetadata)[0].value, ':')[1]]",
"sendKeyName": "defaultSender",
"sendKeyValue": "[listkeys(concat(variables('hybridConnectionResourceId'), '/authorizationRules/defaultSender'), '2017-04-01').primaryKey]"
}
}
希望这可以帮助。