带有Azure事件网格域和自定义主题文档的Azure事件网格云事件架构V1.0不清楚

时间:2020-01-11 14:26:05

标签: azure azure-eventgrid cloudevents

我选择在企业多租户模型应用程序中利用Azure事件网格。我也想使用Cloud Events而不是专有的AEG格式。我为每个租户都使用AEG域,然后我想为消息定义一个自定义主题。云事件v0.1具有用于云事件主题和主题的“#”定界属性。看起来V1.0不再了吗?在Azure文档中确实不清楚。

其次,使用Azure事件网格域似乎只能通过Powershell(https://docs.microsoft.com/en-us/cli/azure/eventgrid/domain/topic?view=azure-cli-latest)创建域主题,而不能在门户中创建域主题。我找不到其他方法为事件域创建主题的明确方法。

我的主题当前设置为:/providers/Microsoft.EventGrid/domains/{tenantname}/topics/refresh。 域主题是否在首次发布后才出现?

任何对云事件模式的格式和主题管理的见解都是很棒的!

1 个答案:

答案 0 :(得分:0)

因此,我现在在Azure门户中看到此用户界面。您只需在域上添加事件订阅,选项之一就是按主题提交,然后在其中添加主题。

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

很明显,“没有单独的步骤可以在域中创建主题。”

第二,我能够为Cloud Events v1.0设置source = topic,也可以将主题分开。这是我的CloudEvent通用类:

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; }

    }

我的主题(设置为云事件的源属性)是

/ resourceGroups / {rgname} /providers/Microsoft.EventGrid/domains/ {domainname} / topics / {topic}

我认为这也会根据此模式正确设置主题。

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