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 资源的 Events 页创建事件订阅时首先创建系统主题,然后创建主题的订阅。 可以使用 事件网格系统主题 显式创建系统主题,然后为该主题创建订阅。

使用 CLIRESTAzure 资源管理器 template 时,可以选择上述任一方法。

重要

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

未能创建系统主题

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

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

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

系统主题的位置和资源组

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

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