Итак, теперь я вижу интерфейс для этого в 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