Azure 事件网格中的系统主题

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

注释

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

支持系统主题的 Azure 服务

下面是支持创建系统主题的 Azure 服务的当前列表。

将系统主题视为 Azure 资源

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

注释

  • 每个源只允许一个 Azure 事件网格系统主题(例如订阅、资源组等)。
  • 资源组对于订阅级别系统主题而言为必需,并且无法更改(除非删除或移动到另一个订阅)。
  • 事件网格在具有事件源的同一 Azure 订阅中创建系统主题资源。 例如,如果在 Azure 订阅ContosoSubscription中为存储帐户ContosoStorage创建系统主题,事件网格会在其中ContosoSubscription创建系统主题。 无法在与事件源的 Azure 订阅不同的 Azure 订阅中创建系统主题。

系统主题的生命周期

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

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

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

    使用 Azure 门户时,始终使用此方法。 使用 Azure 资源的“事件”创建事件订阅时,系统会先创建系统主题,然后创建该主题的订阅。 可以使用 事件网格系统主题 显式创建系统主题,然后为该主题创建订阅。

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

重要

建议先创建系统主题,然后基于主题创建订阅,因为它是创建系统主题的最新方法。

未能创建系统主题

如果您设置 Azure 策略的方式使事件网格服务无法创建系统主题,则系统主题创建会失败。 例如,可以有一个策略,该策略只允许在订阅中创建某些类型的资源(例如:Azure 存储、Azure 事件中心等)。

在这种情况下,将保留事件流功能。 但是,系统主题的指标和诊断功能不可用。

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

系统主题的位置和资源组

对于位于特定区域/位置的 Azure 事件源,系统会在与 Azure 事件源相同的位置创建系统主题。 例如,如果为美国东部的 Azure Blob 存储创建事件订阅,则会在美国东部创建系统主题。 对于全局 Azure 事件源(例如 Azure 订阅、资源组或 Azure Maps),事件网格会在 全局 位置创建系统主题。

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

后续步骤

请参阅以下文章: