0

我正在尝试测试订阅事件网格的函数。

我找到了以下创建自定义事件的代码:

string topicEndpoint = "https://<topic-name>.<region>-1.eventgrid.azure.net/api/events";
string topicKey = "<topic-key>";
string topicHostname = new Uri(topicEndpoint).Host;

TopicCredentials topicCredentials = new TopicCredentials(topicKey);
EventGridClient client = new EventGridClient(topicCredentials);

client.PublishEventsAsync(topicHostname, GetEventsList()).GetAwaiter().GetResult();
Console.Write("Published events to Event Grid.");

static IList<EventGridEvent> GetEventsList()
{
    List<EventGridEvent> eventsList = new List<EventGridEvent>();
    for (int i = 0; i < 1; i++)
    {
        eventsList.Add(new EventGridEvent()
        {
            Id = Guid.NewGuid().ToString(),
            EventType = "Contoso.Items.ItemReceivedEvent",
            Data = new ContosoItemReceivedEventData()
            {
                ItemUri = "ContosoSuperItemUri"
            },

            EventTime = DateTime.Now,
            Subject = "Door1",
            DataVersion = "2.0"
        });
    }
    return eventsList;
}

现在,我如何检查该函数是否实际被触发以及它是否使用 C# 代码发送发送响应?

另外,在上面的代码中,是EventType要触发的函数的名称吗?或者事件网格如何知道要运行哪个函数?

4

1 回答 1

0

上述函数用于通过指定所需事件网格主题的主题端点和主题键来将事件发送到事件网格主题。在手动执行此功能时,事件将被发送到事件网格主题,您可以通过您为事件网格主题创建的事件网格订阅进一步订阅这些主题。

要了解有关事件网格实体的更多详细信息,请参阅此链接

为了测试事件是否已发送到事件网格主题并由事件网格订阅成功订阅,您可以在 azure 门户中查看它们的指标。

传递指标 门户显示传递事件消息状态的指标。

对于主题,指标是:

Publish Succeeded:事件成功发送到主题,并以 2xx 响应进行处理。

发布失败:事件发送到主题但被错误代码拒绝。

不匹配:事件成功发布到主题,但与事件订阅不匹配。该事件已被删除。

对于订阅,指标是:

Delivery Succeeded:事件成功传递到订阅的端点,并收到 2xx 响应。

Delivery Failed:事件发送到订阅的端点,但收到 4xx 或 5xx 响应。

已过期事件:未传递事件并且已发送所有重试尝试。该事件已被删除。

匹配事件:主题中的事件被事件订阅匹配。

您可以使用这些指标来测试您的功能,以测试将事件发送到您的事件网格主题

于 2018-10-16T03:57:57.427 回答