Шаблон ARM для большого двоичного объекта учетной записи хранения создать подписку на сетку событий

Я создал подписку на сетку событий в учетной записи хранения для события, созданного большим двоичным объектом. Я хочу создать то же самое, используя шаблон ARM, но у меня возникли проблемы.

Наблюдения-

  1. запуск приведенного ниже шаблона создает подписку сетки событий в группе ресурсов, а не в учетной записи хранения.
  2. В соответствии с проблемой № 563 и # 455, в качестве типа следует использовать провайдеры. Но тип «провайдеры» недействителен в версии «2020-04-01-preview».
{
      "name": "[parameters('blobcreate_eventsubscription_name')]",
      "apiVersion": "2020-04-01-preview",
      "type": "Microsoft.EventGrid/eventSubscriptions",
      "dependsOn": [
      "[variables('storageAccountResourceId')]" //,
     //"[variables('functionAppResourceId')]"
      ],
     "properties": {
        // "topic": "[variables('storageAccountResourceId')]",
        "destination": {
        "endpointType": "AzureFunction",
        "properties": {
           "resourceId": "[variables('azureFunctionResourceId')]",
           "maxEventsPerBatch": 1,
           "preferredBatchSizeInKilobytes": 64
         } 
       },
       "filter": {
       "subjectBeginsWith": "[concat('/blobServices/default/containers', parameters('storageAccounts_blobname'))]",
       "subjectEndsWith": ".xml",
       "includedEventTypes": [
        "Microsoft.Storage.BlobCreated"
       ],
       "advancedFilters": []
     },
     "labels": [],
     "eventDeliverySchema": "EventGridSchema",
     "retryPolicy": {
       "maxDeliveryAttempts": "[parameters('eventgrid_maxDeliveryAttemps')]",
       "eventTimeToLiveInMinutes": "[parameters('eventgrid_eventTimeToLiveInMinutes')]"
     },
     "deadLetterDestination": {
       "endpointType": "StorageBlob",
       "properties": {
          "resourceId": "[variables('storageAccountResourceId')]",
          "blobContainerName": "[parameters('storageAccounts_deadletterblob_name')]"
        }
      }
    }
}

person user2848940    schedule 06.04.2020    source источник


Ответы (1)


вот официальный пример, который можно использовать в качестве базы:

{
    "type": "Microsoft.Storage/storageAccounts/providers/eventSubscriptions",
    "name": "[concat(parameters('storageName'), '/Microsoft.EventGrid/', parameters('eventSubName'))]",
    "apiVersion": "2018-01-01",
    "dependsOn": [
        "[parameters('storageName')]"
    ],
    "properties": {
        "destination": {
            "endpointType": "WebHook",
            "properties": {
                "endpointUrl": "[parameters('endpoint')]"
            }
        },
        "filter": {
            "subjectBeginsWith": "",
            "subjectEndsWith": "",
            "isSubjectCaseSensitive": false,
            "includedEventTypes": [
                "All"
            ]
        }
    }
}

обратите внимание на resourceType и имя ресурса.

https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-event-grid-subscription-and-storage/azuredeploy.json

person 4c74356b41    schedule 06.04.2020
comment
в соответствии с инструментами расширения кода vs, указанный выше тип недействителен. Но это работает при развертывании .. спасибо :) - person user2848940; 06.04.2020
comment
не обращайте внимания на intellisense в vscode, он основан на схемах. схемы ПЛОХО - person 4c74356b41; 06.04.2020