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 Maps 等全局 Azure 事件源,事件网格会在全局位置创建系统主题。

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

后续步骤

请参阅以下文章: