借助 Eventarc Advanced 总线,您可以集中管理、监控和跟踪系统中的消息流,并充当路由器。它会接收来自消息来源或由提供方发布的事件,并根据注册对其进行评估。注册会标识对特定总线的订阅,并定义消息的匹配条件,以便相应地路由消息。如需了解详情,请参阅创建注册以接收事件。
总线可供项目或其他项目中的事件提供方和目的地使用。如需了解详情,请参阅项目布局。
所需的角色
Identity and Access Management (IAM) 角色包含一组权限,可让您对 Google Cloud 资源执行特定操作。创建用于路由消息的总线时,需要具备以下角色和权限:
- 如需获得创建消息总线所需的权限,请让您的管理员为您授予消息总线项目的 Eventarc Admin (
roles/eventarc.admin
) 或 Eventarc Message Bus Admin (roles/eventarc.messageBusAdmin
) IAM 角色。这些预定义角色包含创建公交车所需的eventarc.messageBuses.create
权限。 - 如需获得使用消息队列所需的权限,请让您的管理员为您授予消息队列项目的 Eventarc Message Bus User (
roles/eventarc.messageBusUser
) IAM 角色。此预定义角色包含eventarc.buses.use
权限,使用公交车需要该权限。 - 如需创建流水线和注册,您需要拥有额外的权限。如需了解详情,请参阅创建注册时所需的角色。
如需详细了解如何授予角色,请参阅管理访问权限。您也可以使用自定义角色或其他预定义角色来获取这些权限。
创建总线
您可以在 Google Cloud 控制台中或使用 gcloud CLI 创建公交车。
控制台
在 Google Cloud 控制台中,依次前往 Eventarc > Bus 页面。
点击
创建公交车。在创建公交车页面上,执行以下操作:
- 输入总线名称。这是您的巴士的 ID。
- 可选:输入要在总线详情页面上显示的总线显示名称。
- 在区域列表中,选择要部署您的巴士的受支持的区域。
- 对于加密,接受默认的 Google 管理的加密密钥或选择 Cloud KMS 密钥。如需了解详情,请参阅使用客户管理的加密密钥 (CMEK)。
如果您选择 Cloud KMS 密钥,请执行以下操作:
在密钥类型列表中,选择用于管理密钥的方法。
您可以手动管理密钥,也可以使用 Autokey,以按需生成密钥环和密钥。如果 Cloud KMS with Autokey 选项不可用,则表明其尚未与当前的资源类型集成。
在选择 Cloud KMS 密钥中,选择一个密钥。
请注意,您必须先选择区域,然后才能查看客户管理的密钥。
可选:如需手动输入密钥的资源名称,请在选择客户管理的密钥列表中,点击手动输入密钥,然后以指定格式输入密钥名称。
如果出现提示,请向 Eventarc Service Agent 授予
cloudkms.cryptoKeyEncrypterDecrypter
角色。
可选:如需添加消息来源,请点击
添加来源。- 在添加消息来源窗格中,对于 Google API 消息提供程序,接受默认值
google-api-source
或输入其他来源名称。 点击创建。
这样,系统便会自动收集直接来自 Google 来源的事件。
请注意,系统只会发布与该总线位于同一 Google Cloud 项目中的资源发出的事件。如需了解详情,请参阅发布来自 Google 来源的事件。
- 在添加消息来源窗格中,对于 Google API 消息提供程序,接受默认值
可选:如需添加标签,请点击 什么是标签?
添加标签。标签是有助于您整理 Google Cloud 资源的键值对。如需了解详情,请参阅
点击创建。
gcloud
打开终端。
使用
gcloud beta eventarc message-buses create
命令创建总线。gcloud beta eventarc message-buses create BUS_NAME \ --location=REGION
替换以下内容:
BUS_NAME
:总线的 ID 或完全限定标识符REGION
:公交车的受支持的位置或者,您也可以设置 Google Cloud CLI 位置属性:
gcloud config set eventarc/location REGION
可选:您还可以使用以下标志:
--async
以立即从命令返回,而无需等待正在进行的操作完成。--crypto-key
用于指定客户管理的加密密钥的完全限定名称;如果未指定,则使用 Google 管理的密钥。--logging-config
,用于配置日志记录级别,该级别必须为以下之一:NONE
、DEBUG
、INFO
、NOTICE
、WARNING
、ERROR
、CRITICAL
、ALERT
、EMERGENCY
。
删除公交
您可以在 Google Cloud 控制台中或使用 gcloud CLI 删除公交车。
控制台
在 Google Cloud 控制台中,依次前往 Eventarc > Bus 页面。
点击要删除的公交车的名称。
系统随即会打开巴士详情页面。
点击
删除。当系统提示您删除总线时,请选中您是否要继续?复选框,以确认配置为使用该总线的所有消息来源都将无法再使用它。
如需确认删除,请输入
Delete
。点击删除。
gcloud
打开终端。
使用
gcloud beta eventarc message-buses delete
命令删除公交车。gcloud beta eventarc message-buses delete BUS_NAME \ --location=REGION
替换以下内容:
BUS_NAME
:总线的 ID 或完全限定标识符REGION
:公交车的支持的位置