事件网格中的系统主题表示由 Azure 服务发布的一个或多个 events,例如Azure 存储和Azure 事件中心。 例如,系统主题可以表示所有 Blob 事件,也可以仅表示为特定存储帐户发布的 blob 创建和 blob 删除的事件。 在此示例中,将 blob 上传到存储帐户时,Azure 存储服务会将创建 blob 的事件发布到事件网格中的系统主题,然后将该事件转发到接收和处理该事件的主题订阅者。
支持系统主题的 Azure 服务
以下 Azure 服务支持系统主题。
- Azure 应用配置
- Azure 应用服务
- Azure Blob 存储
- Azure Cache for Redis
- Azure 容器注册表
- Azure 事件中心
- Azure IoT 中心
- Azure 密钥保管库
- Azure 机器学习
- Azure 媒体服务
- Azure Policy
- Azure资源组
- Azure 服务总线
- Azure SignalR
- Azure订阅
系统主题作为Azure资源
系统主题显示为Azure资源,并提供以下功能:
- 在 Azure 门户中查看系统主题
- 在 Azure 门户中导出用于系统主题和事件订阅的 资源管理器 模板
- 为系统主题设置诊断日志
- 设置关于发布和传递失败的通知
注释
- Azure 事件网格 对于每个源(例如订阅或资源组)仅允许有一个系统主题。
- 订阅级别的系统主题需要一个资源组。 在删除系统主题或将其移动到另一个订阅之前,无法更改资源组。
- 事件网格在具有事件源的同一Azure订阅中创建系统主题资源。 例如,如果在 Azure 订阅
ContosoStorage中创建存储帐户ContosoSubscription的系统主题,事件网格会在ContosoSubscription中创建系统主题。 不能在与事件源所在 Azure 订阅不同的 Azure 订阅中创建系统主题。
系统主题的生命周期
可以通过两种方式创建系统主题:
在Azure资源上创建一个 event 订阅作为扩展资源,该订阅会自动创建格式为:
<Azure resource name>-<GUID>的系统主题。 删除该主题的最后一个事件订阅时,以这种方式创建的系统主题将会自动删除。为Azure资源创建系统主题,然后为该系统主题创建事件订阅。 使用此方法时,可以为系统主题指定名称。 删除最后一个事件订阅时,系统主题不会自动删除。 需要手动删除它。
使用 Azure 门户时,始终使用此方法。 使用 Azure 资源的 Events 页创建事件订阅时首先创建系统主题,然后创建主题的订阅。 可以使用 事件网格系统主题 页 显式创建系统主题,然后为该主题创建订阅。
使用 CLI、REST 或 Azure 资源管理器 template 时,可以选择上述任一方法。
重要
首先创建系统主题,然后在主题上创建订阅。 此方法是创建系统主题的建议方法。
未能创建系统主题
如果Azure策略阻止事件网格服务创建系统主题,则系统主题创建失败。 例如,策略可能只允许在订阅中创建某些资源类型(例如Azure 存储和Azure 事件中心)。
在这种情况下,事件流功能将继续工作。 但是,你不能使用系统主题的指标和诊断功能。
如果需要此功能,请允许创建系统主题类型的资源,并按照 系统主题的生命周期 部分中的说明创建缺失的系统主题。
系统主题的位置和资源组
对于特定区域/位置中的Azure事件源,事件网格会在Azure事件源所在的同一位置创建系统主题。 例如,如果为中国北部的 Azure blob 存储创建事件订阅,事件网格将在中国北部创建系统主题。 对于全局Azure事件源(例如Azure订阅、资源组或Azure Maps),事件网格会在全局位置创建系统主题。
通常,事件网格在与Azure事件源相同的资源组中创建系统主题。 对于Azure订阅范围内的事件订阅,事件网格会在“中国北部 2”区域的 Default-EventGrid 资源组中创建系统主题。 如果资源组不存在,Azure 事件网格在创建系统主题之前创建它。
相关内容
- 使用 Azure 门户创建、查看和管理系统主题
使用 Azure CLI - 使用Azure 资源管理器模板创建事件网格系统主题