Как отследить сообщение о доставке сетки неудачных / просроченных событий Azure?

Приятно видеть, что сетка событий Azure имеет 24-часовую политику повторов с экспоненциальным откатом для доставки событий с доступностью 99,99%. Однако я столкнулся со сценарием, в котором одно из ожидаемых сообщений сетки событий не достигалось даже через 24 часа.

У меня настроена веб-ловушка для события с темой /subscription/id/resourcegroups/name/providers/Microsoft.Resources/deployments/name, которую я ожидаю после завершения развертывания группы ресурсов, что и было успешно, как я вижу на портале Azure.

Не могли бы вы помочь уточнить вопросы ниже,

  1. Чтобы проверить, была ли предпринята попытка повторения в течение 24 часов, где я могу найти логи
  2. Если попытка и повторные попытки исчерпаны, где я могу найти журналы
  3. Если доставка не произошла, даже если потребитель был доступен из-за сбоя или недоступности сетки событий, где я могу найти журналы

1 ответ

Решение

Как уже упоминалось в комментарии Шона, эта поддержка скоро появится.

На основе Microsoft.Azure.Management.EventGrid версии =2.0.0.0 можно ожидать появления нового свойства, такого как deadletterdestination, в подписке на событие, см. Следующий фрагмент полезной нагрузки образца для создания подписки OrUpdating:

    {
      "properties": {
        "deadletterdestination": {
          "endpointType": "StorageBlob",
          "properties": {
            "blobContainerName": "{myContainerName}",
            "resourceId": "/subscriptions/{mySubscriptionId}/resourceGroups/{myResourceGroup}/providers/Microsoft.Storage/storageAccounts/{myStorageAccount}"
          }
        },
        "destination": {
          "endpointType": "WebHook",
          "properties": {
          "endpointUrl": "{myEndpointUrl}"
          }
        },
        "filter": {
          "isSubjectCaseSensitive": false,
          "subjectBeginsWith": null,
          "subjectEndsWith": null
        },
        "labels": ["xxx"],
        "eventDeliverySchema": "InputEventSchema",
        "retryPolicy": {
         "maxDeliveryAttempts": 30,
         "eventTimeToLiveInMinutes": 1440
        }
      }
    }

Когда вы помещаете запрос REST (api-version=2018-05-01-preview) для создания подписки на событие с вышеуказанной полезной нагрузкой, ответ не получается со следующим сообщением:

    {
      "error": {
        "code": "InvalidRequest",
        "message": "DeadLettering is currently not enabled in the service and support for it is coming soon. Until then, please re-issue the event subscription creation/update request without setting a deadletter destination."
    }
  }

Я с нетерпением жду этой замечательной функции, в которой каждая подписка может быть источником события для рассылки новостей, и я надеюсь, что будет больше конечных типов для назначения рассылки, таких как EventHub, StorageQueue, ServiceBus, WebHook и т. Д.

Обновить:

Спасибо команде Azure Grid за выпуск предварительного просмотра функции deadletterdestination. Теперь каждая подписка может быть решена, когда будет отправлено письмо. Сегодня мы можем отправить его в хранилище.

Следующий фрагмент экрана показывает тупик, хранящийся в хранилище BLOB-объектов:

Смотрите подробности здесь.

Другие вопросы по тегам