Search code examples
azureazure-functionsazure-rm-templateazure-hybrid-connections

How to create hybrid connection inside azure function using arm template


I have created azure function app using arm template. But I want to create few hybrid connections under networking of the azure function like this below:

enter image description here

So, can anyone suggest me how to do this?


Solution

  • Example works on my side:

    Add an array list for your hybrid connection endpoint:

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

    Copy Usage in resources section:

    {
        "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": {}
    }
    

    Here are my reference:

    1. create hybridconnection using template

    2. Link existing hybrid connection to an azure web app through ARM-template

    3. copyIndex usage