您可以创建一个 Eventarc 触发器,以便 Cloud Run 服务接收指定的一个事件或一组事件的通知。通过为触发器指定过滤条件,您可以配置事件的路由,包括事件来源以及目标 Cloud Run 服务。
发送到 Cloud Run 服务的事件会被以 HTTP 请求的形式接收。
以下事件类型会触发对您的服务的请求:
本页面介绍如何通过 Cloud Run 控制台页面创建触发器。
您还可以使用 Google Cloud CLI 或通过 Eventarc 控制台页面创建 Eventarc 触发器。按照说明为特定提供商、事件类型和目标创建触发器。
准备创建触发器
在创建触发器之前,请先完成以下前提条件:
每个 Eventarc 触发器在创建时都会与一个 Identity and Access Management (IAM) 服务账号相关联。您可以指定用户管理的服务账号,供触发器作为其默认身份。请务必向触发器的服务账号授予所需的角色和权限。
例如,如需将事件发送到需要身份验证的 Cloud Run 服务,Eventarc 触发器的服务账号必须具有 Cloud Run Invoker 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 服务的服务账号。
或者,您也可以创建新的服务账号。
这用于指定与触发器关联的 IAM 服务账号电子邮件。对于 Cloud Run 目标,此服务账号用于在调用服务时生成身份令牌。
(可选)指定要将传入请求发送到的服务网址路径。
这是触发器的事件应该发送到的目标服务的相对路径。例如:
/
、/route
、route
、route/subroute
。创建触发器后,通过确保触发器标签上有对勾标记 check_circle 来验证触发器运行状况良好。