Azure 事件网格 中的系统主题

事件网格中的系统主题表示由 Azure 服务发布的一个或多个 events,例如Azure 存储和Azure 事件中心。 例如,系统主题可以表示所有 Blob 事件,也可以仅表示为特定存储帐户发布的 blob 创建和 blob 删除的事件。 在此示例中,将 blob 上传到存储帐户时,Azure 存储服务会将创建 blob 的事件发布到事件网格中的系统主题,然后将该事件转发到接收和处理该事件的主题订阅者。

注释

只有 Azure 服务才能将事件发布到系统专题。 因此,不会获得可用于发布事件(如自定义 主题 或 事件域)的终结点或访问密钥。

支持系统主题的 Azure 服务

以下 Azure 服务支持系统主题。

系统主题作为Azure资源

系统主题显示为Azure资源,并提供以下功能:

注释

  • Azure 事件网格 对于每个源(例如订阅或资源组)仅允许有一个系统主题。
  • 订阅级别的系统主题需要一个资源组。 在删除系统主题或将其移动到另一个订阅之前,无法更改资源组。
  • 事件网格在具有事件源的同一Azure订阅中创建系统主题资源。 例如,如果在 Azure 订阅 ContosoStorage 中创建存储帐户 ContosoSubscription的系统主题,事件网格会在 ContosoSubscription 中创建系统主题。 不能在与事件源所在 Azure 订阅不同的 Azure 订阅中创建系统主题。

系统主题的生命周期

可以通过两种方式创建系统主题:

  • 在Azure资源上创建一个 event 订阅作为扩展资源,该订阅会自动创建格式为:<Azure resource name>-<GUID> 的系统主题。 删除该主题的最后一个事件订阅时,以这种方式创建的系统主题将会自动删除。

  • 为Azure资源创建系统主题,然后为该系统主题创建事件订阅。 使用此方法时,可以为系统主题指定名称。 删除最后一个事件订阅时,系统主题不会自动删除。 需要手动删除它。

    使用 Azure 门户时,始终使用此方法。 当你通过 Azure 资源的事件页面创建事件订阅时,系统主题会先被创建,然后才创建该主题的订阅。 可以使用 事件网格系统主题 页 显式创建系统主题,然后为该主题创建订阅。

使用 CLI、REST 或 Azure 资源管理器 template 时,可以选择上述任一方法。

重要

首先创建系统主题,然后在主题上创建订阅。 此方法是创建系统主题的建议方法。

未能创建系统主题

如果Azure策略阻止事件网格服务创建系统主题,则系统主题创建失败。 例如,策略可能只允许在订阅中创建某些资源类型(例如Azure 存储和Azure 事件中心)。

在这种情况下,事件流功能将继续工作。 但是,你不能使用系统主题的指标和诊断功能。

如果需要此功能,请允许创建系统主题类型的资源,并按照 系统主题的生命周期 部分中的说明创建缺失的系统主题。

系统主题的位置和资源组

对于特定区域/位置中的Azure事件源,事件网格会在Azure事件源所在的同一位置创建系统主题。 例如,如果为中国北部的 Azure blob 存储创建事件订阅,事件网格将在中国北部创建系统主题。 对于全局Azure事件源(例如Azure订阅、资源组或Azure Maps),事件网格会在全局位置创建系统主题。

通常,事件网格在与Azure事件源相同的资源组中创建系统主题。 对于Azure订阅范围内的事件订阅,事件网格会在“中国北部 2”区域的 Default-EventGrid 资源组中创建系统主题。 如果资源组不存在,Azure 事件网格在创建系统主题之前创建它。