Hung Nguyen Duy
Hung Nguyen Duy

Reputation: 175

How to create Event Subscription for Event Grid Domain Topic using arm template

I want to use the arm template to create the Event Subscription for the Event Grid Domain Topic. It's ok when I create Event Grid Domain and Event Grid Domain Topic but when I try to create the Event Subscription to listen to messages from Event Grid Domain Topic. It always fails. I think I defined the wrong "scrope" or "dependsOn". Actually, I can't find the document or tutorial to create the Event Subscription for Event Grid Domain Topic. Almost document guide the way to create the Event Subscription for Event Grid Topic.

Thanks for support

This is my arm template

{
  "type": "Microsoft.EventGrid/eventSubscriptions",
  "apiVersion": "2021-06-01-preview",
  "name": "[parameters('eventSubscription')]",
  "scope": "[format('Microsoft.EventGrid/domains/topics/{0}', concat(variables('eventGridDomainName'), '/',parameters('topic')))]",
  "properties": {
    "deadletterdestination": {
      "endpointType": "StorageBlob",
      "properties": {
        "blobContainerName": "parameters('containerName')",
        "resourceId": "/subscriptions/{subscriptions}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{containerName}"
      }
    },
    "destination": {
      "endpointType": "WebHook",
      "properties": {
        "endpointUrl": "string"
      }
    },
    "eventDeliverySchema": "EventGridSchema",
    "filter": {
      "advancedFilters": [],
      "enableAdvancedFilteringOnArrays": true
    },
    "labels": []
  },
  "dependsOn": [
   "[resourceId('Microsoft.EventGrid/domains/topics',variables('eventGridDomainName'),parameters('topic')]"
  ]
}

Upvotes: 1

Views: 639

Answers (1)

Jdresc
Jdresc

Reputation: 688

I had to modify the scope a bit to get it working, take a look at the snippet below.

  "scope": "[concat('Microsoft.EventGrid/domains', '/', parameters('domains_azdomaineg_name'), '/', 'topics', '/', parameters('topicName'))]"

/

{
      "type": "Microsoft.EventGrid/eventSubscriptions",
      "apiVersion": "2020-06-01",
      "name": "[concat(parameters('domains_azdomaineg_name'), 'topic-dommain-subscription')]",
      "dependsOn": [
        "[resourceId('Microsoft.EventGrid/domains', parameters('domains_azdomaineg_name'))]",
        "[resourceId('Microsoft.EventHub/namespaces/eventHubs', parameters('eventHubNamespace'), parameters('eventHubName'))]"
      ],
      "properties": {
        "destination": {
          "endpointType": "EventHub",
          "properties": {
            "resourceId": "[resourceId('Microsoft.EventHub/namespaces/eventhubs', parameters('eventHubNamespace'), parameters('eventHubName'))]"
          }
        },
        "filter": {
          "includedEventTypes": [
            "first, last"
          ],
          "advancedFilters": [
            {
              "key": "dataversion",
              "operatorType": "StringIn",
              "values": [
                "test"
              ]
            }
          ]
        }
      },
      "scope": "[concat('Microsoft.EventGrid/domains', '/', parameters('domains_azdomaineg_name'), '/', 'topics', '/', parameters('topicName'))]"

    }
  ]
}

Upvotes: 1

Related Questions