Azure Event Grid Облачная схема событий V1.0 с Azure Сетка событий Домены и пользовательские темы Документация не ясна - PullRequest
0 голосов
/ 11 января 2020

Я решил использовать Azure Event Grid в многопользовательской модели предприятия. Я также хочу использовать Cloud Events вместо проприетарного формата AEG. Я использую домены AEG для каждого арендатора, а затем мне нужна топика c и тема для моих сообщений. V0.1 облачных событий имел свойство «#» с разделителями для облачных событий topi c и субъектов. Похоже, V1.0 больше нет? Это действительно не ясно в документах Azure.

Во-вторых, с Azure Доменами сетки событий кажется, что вы можете создать домен Topi c только через Powershell (https://docs.microsoft.com/en-us/cli/azure/eventgrid/domain/topic?view=azure-cli-latest* 1005). *) а не в портале. Я не могу найти четкий способ создать topi c для домена событий другим способом.

Моя топика c в настоящее время настроена на: /providers/Microsoft.EventGrid/domains/ enjtenantname‹/topics/refresh. Появляются ли темы доменов только после первой публикации?

Было бы замечательно узнать формат схемы облачных событий и управлять темами!

1 Ответ

0 голосов
/ 11 января 2020

Итак, теперь я вижу интерфейс для этого в Azure Portal. Вы просто добавляете подписку на событие в домене, и один из вариантов - подать запрос по topi c, где вы добавляете свои темы.

https://docs.microsoft.com/bs-latn-ba/azure/event-grid/how-to-event-domains?tabs=azurecli#create -topics-and-subscription

Здесь ясно, что «Нет отдельного шага для создания топи c в домене».

Во-вторых, я смог установить source = topi c для Cloud Events v1.0 и также выделить тему. Вот мой обобщенный класс CloudEvent c class:

public class CloudEvent<T> where T : class
    {
        [JsonProperty("id")]
        public string EventId
        {
            protected set { }
            get => Guid.NewGuid().ToString();
        }

        [JsonProperty("specversion")]
        public string CloudEventVersion
        {
            protected set { }
            get => "1.0";
        }

        [JsonProperty("type")]
        public string EventType { get; set; }

        [JsonProperty("eventTypeVersion")]
        public string EventTypeVersion
        {
            protected set { }
            get => "1.0";
        }

        [JsonProperty("source")]
        public string Source { get; set; }

        [JsonProperty("subject")]
        public string Subject { get; set; }

        [JsonProperty("time")]
        public string Time
        {
            protected set { }
            get => DateTime.UtcNow.ToString(CultureInfo.InvariantCulture);
        }

        [JsonProperty("data")]
        public T Data { get; set; }

    }

Моя topi c (для которого установлены свойства источника для облачных событий):

/ resourceGroups / {rgname} / поставщики / Microsoft.EventGrid / domains / {domainname} / themes / {topic}

Я думаю, это также правильно установит тему в соответствии с этой схемой.

https://docs.microsoft.com/en-us/azure/event-grid/cloudevents-schema

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...