Как мы можем публиковать сообщения в темах сетки событий? - PullRequest
1 голос
/ 14 мая 2019

Я создал тему сетки событий в Azure, используя схему событий = "Схема сетки событий".

Следующие шаги для меня - попытка отправить сообщения в эту тему сетки событий, чтобы подписчики могли что-то сделать, когда сообщение было успешно получено в теме сетки событий.

Однако у меня возникла проблема при отправке сообщения в раздел сетки событий. Он всегда отклоняет мой JSON-запрос с ошибкой «Не установлено обязательное свойство 'subject". Даже если я жестко задал тему в своем теле сообщения JSON.

Я также добавил значение 'aeg-sas-key' в заголовок для целей аутентификации.

Вот пример моего формата JSON:

{
    "id": "19291",
    "subject": "myapp/vehicles/motorcycles",
    "topic": "VehicleData",
    "eventType": "statusupdated",
    "eventTime": "2019-05-12T18:41:00.9584103Z",
    "data":{
         "firstName": "Jason",
         "postalAddress": "xyz"
    },
    "dataVersion": "1.0",
    "metadataVersion": "string"
  }

и вот вывод:

{
    "error": {
        "code": "BadRequest",
        "message": "Required property 'subject' was not set. Report '433759ee-6570-466e-ae12-a6dc5fccbfe1:5/14/2019 4:01:32 AM (UTC)' to our forums for assistance or raise a support ticket.",
        "details": [
            {
                "code": "InputJsonInvalid",
                "message": "Required property 'subject' was not set. Report '433759ee-6570-466e-ae12-a6dc5fccbfe1:5/14/2019 4:01:32 AM (UTC)' to our forums for assistance or raise a support ticket."
            }
        ]
    }
}

Любая идея, почему это всегда спрашивать предмет, даже если я предоставил предмет в моем JSON?

Ответы [ 2 ]

0 голосов
/ 14 мая 2019

Если вы создали тему с помощью портала Azure, вы где-то указали inputSchemaMapping?

Согласно спецификации здесь: https://docs.microsoft.com/en-us/rest/api/eventgrid/topics/createorupdate

Вам необходимо указать inputSchemaMapping при выборе CustomEventSchema.

0 голосов
/ 14 мая 2019

На основании документов:

Опубликовать в пользовательскую тему для сетки событий Azure

Схема событий таблицы событий Azure

использовать следующую полезную нагрузку:

    [
      {
        "id": "19291",
        "subject": "myapp/vehicles/motorcycles",
        "topic": null,
        "eventType": "statusupdated",
        "eventTime": "2019-05-12T18:41:00.9584103Z",
        "data": {
          "firstName": "Jason",
          "postalAddress": "xyz"
          },
        "dataVersion": "1.0",
        "metadataVersion": null
      }
   ]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...