教程:将 Azure 媒体服务事件存储在 Azure Log Analytics 中

媒体服务徽标 v3


警告

Azure 媒体服务将于 2024 年 6 月 30 日停用。 有关详细信息,请参阅 AMS 停用指南

Azure 媒体服务事件

Azure 媒体服务 v3 在 Azure 事件网格上发出事件。 你可以通过多种方式订阅事件并将其存储在数据存储中。 在本教程中,你将使用逻辑应用流订阅媒体服务事件。 系统将为每个事件触发逻辑应用,并将事件的主体存储在 Azure Log Analytics 中。 一旦将事件存储到 Azure Log Analytics 中,就可以使用其他 Azure 服务来创建仪表板、监视这些事件并针对其发出警报,但本教程不会对此进行介绍。

将了解如何执行以下操作:

  • 创建无代码逻辑应用流
  • 订阅 Azure 媒体服务事件主题
  • 分析事件并存储到 Azure Log Analytics
  • 从 Azure Log Analytics 查询事件

如果还没有 Azure 订阅,可以在开始前创建一个免费帐户

先决条件

使用逻辑应用订阅媒体服务事件

  1. 在 Azure 门户中,如果尚未执行此操作,则创建一个 Log Analytics 工作区。 你需要工作区 ID 和其中一个密钥,因此请使该浏览器窗口保持打开状态。 然后,在另一个选项卡或窗口中打开门户。
  2. 导航到要使用的媒体服务帐户。
  3. 选择“事件”。 这将显示订阅 Azure 媒体服务事件的所有方法。
  4. 选择“逻辑应用”以创建逻辑应用。 这将打开逻辑应用设计器,你可以在其中创建流来捕获事件,并将其推送到 Log Analytics。
  5. 选择“登录”进行 Azure 事件网格连接。
  6. 选择要使用的租户(订阅)。 将显示登录屏幕。
  7. 登录到 Microsoft 帐户。
  8. 选择“登录”。 逻辑应用将连接到该订阅的 Azure 事件网格。
  9. 选择“继续”。 将出现“当资源事件发生时”屏幕。
  10. 将“订阅”字段中的值保留为原样。
  11. 从“资源类型”下拉列表中选择“Microsoft.Media.MediaServices”。
  12. 选择“事件类型项”。 此时将列出 Azure 媒体服务发出的所有事件。 可以选择要跟踪的事件。可以添加多个事件类型。 (稍后将对逻辑应用流进行一些小的更改,以将每个事件类型存储在单独的 Log Analytics 日志中,并将事件类型名称动态传播到 Log Analytics 日志名称。)
  13. 选择“另存为”。
  14. 为逻辑应用命名。 默认情况下,资源组处于选中状态。 其他设置保持不变,然后选择“创建”。 你将返回到 Azure 主屏幕。

创建操作

你已订阅事件,接下来创建操作。

  1. 如果门户已将你带回主屏幕,请导航回到刚刚创建的逻辑应用,方法是在“所有资源”中搜索应用名称。
  2. 选择要使用的应用。
  3. 选择“逻辑应用设计器”。 将显示设计器屏幕。
  4. 选择“+ 新步骤”。
  5. 搜索“Azure Log Analytics 数据收集器”,然后选择它。
  6. 返回到 Log Analytics 工作区的标签页或窗口。
  7. 选择“代理”。 这将显示已生成的代理密钥。
  8. 选择 Log Analytics 代理说明旁边的向下箭头。
  9. 复制“工作区 ID”值。
  10. 在另一个浏览器选项卡或窗口中的 Azure Log Analytics 数据收集器下,选择“发送数据”,为连接命名,然后将工作区 ID 粘贴到“工作区 ID”字段中。
  11. 返回到“工作区”浏览器标签页或窗口,然后复制“主密钥”值。
  12. 在另一个浏览器标签页或窗口中,将主密钥值粘贴到“工作区密钥”字段中。
  13. 选择“创建” 。 现在,你将创建 JSON 请求正文和自定义日志名称。
  14. 选择“JSON 请求正文”字段。 此时将显示指向“添加动态内容”的链接。
  15. 选择“添加动态内容”。
  16. 选择“主题”。
  17. 选择“自定义日志名称”。 此时将显示指向“添加动态内容”的链接。
  18. 选择“主题”
  19. 选择逻辑应用的代码视图。 查找“Inputs”和“Log-Type”行。
  20. 在“操作”下查找项。
  21. body 的值从 "@triggerBody()?['topic']" 更改为 "@{triggerBody()}"。 这是为了向 Log Analytics 分析整条消息。
  22. Log-Type"@triggerBody()?['topic']" 更改为 "@replace(triggerBody()?['eventType'],'.','')"。 (这将替换“.”,因为它们不能出现在 Log Analytics 日志名称中。)
  23. 选择“保存” 。
  24. 若要进行验证,请选择“逻辑应用设计器”。
  25. 当你检查资源组中的所有资源时,系统会列出一个逻辑应用和两个逻辑应用 API 连接器(一个用于事件,一个用于 Log Analytics)。 有关事件网格系统主题的详细信息,请阅读事件网格系统主题

测试

创建逻辑应用后,创建实时事件并使用本地实时编码器启动实时传送流。 如果之前尚未为媒体服务设置实时事件,请尝试 OBS 快速入门

验证事件

在实时流中,Azure 媒体服务会发出各种触发逻辑应用流的事件。 若要进行验证,请导航到逻辑应用,并确定媒体服务中的事件是否触发了任何触发器。

  1. 导航到逻辑应用概述页,应会看到“运行历史记录”列出了已成功完成的作业。
  2. 选择一个成功的作业。 系统将显示运行时作业的详细信息。
  3. 选择“发送数据”将其展开。 在本例中,MicrosoftMediaLiveEventEncoderConnected 事件显示它已被捕获,并显示分析后的正文。 这是推送到 Azure Log Analytics 工作区的内容。

验证日志

  1. 导航到先前创建的 Log Analytics 工作区。

  2. 选择“日志”。

  3. 关闭“示例查询”弹出窗口。

  4. 将出现一个“自定义日志”列表。 选择向下箭头将其展开。 在这里,你将看到事件名称 MicrosoftMediaLiveEventEncoderConnected

  5. 选择该事件名称将其展开。

  6. 选择“眼睛”图标时,它将显示查询结果的预览。

  7. 选择“在查询编辑器中查看”,然后选择“TimeGenerated UTC”列表下的项,以将其展开并查看原始数据。

删除资源

如果不想继续使用在本教程中创建的资源,请确保删除资源组中的所有资源,否则系统将继续收费。

获得帮助和支持

如果有任何疑问,可以联系媒体服务,或者使用以下方法之一关注我们的更新: