您可以创建一个 Eventarc 触发器,以便 Cloud Run 服务接收指定的一个事件或一组事件的通知。通过为触发器指定过滤条件,您可以配置事件的路由,包括事件来源以及目标 Cloud Run 服务。
发送到 Cloud Run 服务的事件会被以 HTTP 请求的形式接收。
以下事件类型会触发对您的服务的请求:
- 创建与触发器的过滤条件匹配的审核日志
- 直接事件,例如 Cloud Storage 存储桶更新
- 发布到 Pub/Sub 主题的消息
本页面介绍如何通过 Cloud Run 控制台页面创建触发器。
您还可以使用 Google Cloud CLI 或通过 Eventarc 控制台页面创建 Eventarc 触发器。按照说明为特定提供商、事件类型和目标创建触发器。
准备创建触发器
在创建触发器之前,请先完成以下前提条件:
Eventarc 使用客户提供的服务账号作为触发器的身份。请务必向触发器的服务账号授予所需的角色和权限。
例如,如需将事件发送到需要身份验证的 Cloud Run 服务,Eventarc 触发器的服务账号必须具有 Cloud Run Invoker Identity and Access Management (IAM) 角色。
如果要为来自 Cloud Storage 的直接事件创建触发器,请将
pubsub.publisher
角色授予 Cloud Storage 服务账号:SERVICE_ACCOUNT="$(gsutil kms serviceaccount -p PROJECT_ID)" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:${SERVICE_ACCOUNT}" \ --role='roles/pubsub.publisher'
将
PROJECT_ID
替换为您的 Google Cloud 项目 ID。您可以在 Google Cloud 控制台的欢迎页面上找到项目 ID。
通过控制台创建触发器
您可以使用 Cloud Run 控制台页面创建 Eventarc 触发器。
如有必要,请启用 Eventarc API。
在 Google Cloud 控制台中,转到 Cloud Run。
从服务列表中,点击现有服务或创建新服务。
在“服务详情”页面上,点击触发器标签页。
点击
添加 Eventarc 触发器。Eventarc 触发器窗格随即会打开。如需确定如何最好地路由事件,请参阅事件路由选项。
按照说明为特定提供商、事件类型和 Cloud Run 目标创建触发器,并参阅“创建触发器”部分中的控制台说明。
选择用于调用您的 Cloud Run 服务的服务账号。
或者,您也可以创建新的服务账号。
这用于指定与触发器关联的 IAM 服务账号电子邮件。对于 Cloud Run 目标,此服务账号用于在调用服务时生成身份令牌。
(可选)指定要将传入请求发送到的服务网址路径。
这是触发器的事件应该发送到的目标服务的相对路径。例如:
/
、/route
、route
、route/subroute
。创建触发器后,通过确保触发器标签上有对勾标记 check_circle 来验证触发器运行状况良好。