我在azure中有一个资源组,其中包含一个包含混合连接的Relay。我正在尝试部署包含Web应用程序的另一个资源组,该应用程序应链接其他资源组中的现有混合连接。
在天蓝色门户网站中执行此任务是微不足道的,但因为我想运行"完成模式"在我的ARM模板部署期间,我需要在部署期间执行此操作。
我找不到任何好的文档,很多答案似乎已经过时了。这是可能的,如果那样的话,它怎么能完成呢?
答案 0 :(得分:1)
Azure似乎目前不支持通过ARM模板将Azure App Service连接到混合连接。
这是user feedback,您可以投票。
答案 1 :(得分:1)
您可以使用以下代码在中继上创建混合连接:
{
"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": []
}
然后将其连接到Web应用程序:
"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]"
}
}
希望这会有所帮助。