注册标识了对特定总线的订阅。注册定义的匹配条件可决定哪些消息会路由到目的地。此外,注册还会指定匹配的消息路由时应通过的流水线。借助流水线,您可以配置目标目的地,并且在将任何匹配的事件传送到目的地之前,还可以选择对这些事件进行转换。
请注意以下几点:
- 流水线和注册必须在同一 Google Cloud 项目中。(订阅的总线既可以在与此相同的项目中,也可以在其他项目中。)
- 一个流水线可用于多个注册。
- 只有一个目的地可以是通过流水线路由的消息的目标。
准备工作
在配置流水线或注册之前,您应该已经创建 Eventarc Advanced 总线。
所需的角色
Identity and Access Management (IAM) 角色包含一组允许您对 Google Cloud 资源执行特定操作的权限。在创建流水线和注册以路由消息时,您需要具备以下角色和权限:
- 如需获得创建流水线所需的权限,请让管理员向您授予用于处理流水线项目的 Eventarc Developer (roles/eventarc.developer) IAM 角色。此预定义角色包含创建流水线所需的eventarc.pipelines.create权限。
- 如需获得创建注册所需的权限,请让管理员向您授予用于处理注册项目的 Eventarc Developer (roles/eventarc.developer) IAM 角色。此预定义角色包含创建注册所需的eventarc.enrollments.create权限。
- 如需获得使用总线所需的权限,请让管理员向您授予用于处理总线项目的 Eventarc Message Bus User (roles/eventarc.messageBusUser) IAM 角色。此预定义角色包含使用总线所需的eventarc.buses.use权限。
如需详细了解如何授予角色,请参阅管理访问权限。此外,您可能还可以使用自定义角色或其他预定义角色来获取这些权限。
创建注册和流水线
您可以通过以下方式创建流水线和注册:
- 在 Google Cloud 控制台中
- 在终端或 Cloud Shell 中使用 Google Cloud CLI
- 向 Eventarc API 发送请求
控制台
在 Google Cloud 控制台中,您可以通过流水线页面同时创建流水线和注册。
- 如需创建注册,请在 Google Cloud 控制台中前往 Eventarc > 流水线页面。 
- 点击 创建流水线。 
- 在流水线详情窗格中,执行以下操作: - 输入流水线名称。这是您的流水线的 ID。
- 在区域列表中,选择要部署流水线的区域。流水线必须在与总线相同的区域内创建。如需了解详情,请参阅 Eventarc Advanced 位置。
- 可选:在日志严重性列表中,为日志条目中所述的事件选择最低严重性。默认值为 None。如需了解详情,请参阅 LogSeverity。
- 可选:在重试政策部分中,您可以修改默认配置以重试事件。
- 对于加密部分,接受默认的 Google-managed encryption key 或选择 Cloud KMS 密钥。如需了解详情,请参阅使用客户管理的加密密钥 (CMEK)。
- 如果您选择 Cloud KMS 密钥,请执行以下操作: - 在密钥类型列表中,选择一种密钥管理方法。 - 您可以手动管理密钥,也可以使用 Autokey 按需生成密钥环和密钥。如果 Autokey 选项处于停用状态,则表明其尚未与当前的资源类型集成。 
- 在选择客户管理的密钥中,选择一个密钥。 - 请注意,您必须先选择区域,然后才能查看客户管理的密钥。 
- 可选:如需手动输入密钥的资源名称,请在选择客户管理的密钥列表中,点击手动输入密钥,然后以指定的格式输入密钥名称。 
- 如果出现提示,请将 - cloudkms.cryptoKeyEncrypterDecrypter角色授予 Eventarc 服务代理。
 
- 可选:如需添加标签,请点击 添加标签。标签是有助于您整理Google Cloud 资源的键值对。如需了解详情,请参阅什么是标签? 
- 点击继续。 
 
- 在注册窗格中,执行以下操作: - 点击添加注册。
- 输入注册名称。
- 在总线列表中,选择要订阅的总线。
- 在 CEL 表达式字段中,使用 CEL 编写评估表达式。例如: - message.type == "google.cloud.dataflow.job.v1beta3.statusChanged"- 请注意,默认表达式 true 表示所有消息均会被路由,而不会被过滤。 
- 点击完成。 
- 您可以添加其他注册,或点击继续。 
 
- 可选:在事件中介窗格中,执行以下操作或点击继续: - 选中应用转换复选框。
- 在入站格式列表中,选择适用的格式。 - 请注意,在应用转换时,您必须为流水线指定入站数据格式,并且所有事件都必须符合该格式。 
- 对于 Avro 或 Protobuf 格式,您必须指定入站架构。(可选)您可以上传入站架构。如需了解详情,请参阅设置已接收事件的格式。 
- 在 CEL 表达式字段中,使用 CEL 编写转换表达式。 
- 点击继续。 
 
- 在目标窗格中,执行以下操作: - 在目标类型列表中,选择要将消息路由到的目标类型。根据目标类型,执行以下操作: - HTTP 端点:指定目标 URI。主机可以是可从虚拟私有云 (VPC) 网络寻址的静态 IP,也可以是可使用 Cloud DNS 解析的服务的内部域名系统 (DNS) 主机名。 - 例如,您可以指定一个 Cloud Run 服务网址,该网址将以 HTTP - POST请求的形式接收事件。使用首次部署 Cloud Run 托管的服务时提供的稳定的自动分配- run.app网址。或者,您也可以指定一个 BigQuery 表,该表将接收 HTTP- POST请求形式的事件。定义消息绑定,以构建针对 BigQuery API 的 HTTP 请求。- 您还可以使用此目标类型为 Cloud Run 函数(第 1 代和当前版本)指定 HTTP 端点。当您为 Cloud Run 函数指定 HTTP 触发器时,系统会为函数分配一个网址,用于接收请求。 
- Eventarc Advanced 总线:选择 Eventarc Advanced 总线。 总线必须部署在与流水线相同的项目和区域中。 
- Workflows 工作流:选择 Workflows 工作流。 您可以触发工作流的执行,即单次运行工作流定义中包含的逻辑。工作流必须部署在与流水线相同的项目中。 
- Pub/Sub 主题:选择或创建 Pub/Sub 主题。必须先创建主题,然后才能将消息路由到该主题,并且主题必须与流水线位于同一项目中。如果使用主题架构,请务必对事件消息进行适当转换。 
- Cloud Run 服务(通过 HTTP):选择 Cloud Run 服务,该服务将以 HTTP - POST请求的形式接收已发送到其根网址路径 (- /) 的事件;您也可以在目标服务上指定事件应该被发送到的相对网址路径。
- Cloud Run 作业(通过 HTTP):选择将以 HTTP - POST请求的形式接收事件的 Cloud Run 作业。
 
- 如果适用,请在出站格式列表中选择一种格式。 - 请注意,如果没有为流水线指定入站数据格式,则无法设置出站格式。 
- 如果适用,请应用消息绑定。如需了解详情,请参阅定义消息绑定。 
- 如需启用身份验证,请选中启用身份验证复选框。 - 在身份验证标头列表中,选择要生成的令牌类型,并在 HTTP 请求中作为 - Authorization标头附加:- 通常,只有在调用 - *.googleapis.com上托管的 Google API 时,才应使用 OAuth 令牌。(可选)指定此令牌的范围;否则,默认为- https://www.googleapis.com/auth/cloud-platform。对于Google Cloud 服务,最佳实践是使用- https://www.googleapis.com/auth/cloud-platform范围,其中包括所有 Google Cloud API 以及可提供精细访问权限控制的 Identity and Access Management (IAM)。- 请注意,所有对其他 Eventarc Advanced 总线、Pub/Sub 或 Workflows 的请求都必须具有 HTTP 授权标头,其中包含由 Google 为其中一个已获授权的服务账号签名的 OAuth 令牌。 
- OIDC 令牌可用于许多场景,其中包括您打算自行验证令牌的端点。此外,指定此令牌的目标受众群体。通常,它应与目标流水线的网址匹配。如果它尚未指定,那么系统会使用整个网址(包括所有请求参数)。 - 请注意,Cloud Run 会对每个请求执行 IAM 检查,您可以使用 - run.routes.invoke权限通过以下任一方式配置谁可以访问您的 Cloud Run 服务:- 向选定的服务账号或群组授予此权限,以允许访问服务。所有请求都必须具有 HTTP 授权标头,其中包含由 Google 为其中一个已获授权的服务账号签名的 OpenID Connect 令牌。 
- 向所有用户授予此权限,以允许未经身份验证的访问。 
 - 如需了解详情,请参阅 Cloud Run 的访问权限控制。 
 - 详细了解令牌类型。 
- 在服务账号列表中,选择将调用目标服务的服务账号。或者,您可以创建新的服务账号。 - 这会指定与流水线关联且您之前向其授予了 Eventarc Advanced 所需的特定角色的 IAM 服务账号电子邮件。 
 
 
- 点击创建。 
gcloud
当使用 gcloud CLI 时,请使用相应命令,首先创建流水线,然后再创建注册。
流水线
- 打开终端。 
- 使用 - gcloud eventarc pipelines create命令创建流水线:- gcloud eventarc pipelines create PIPELINE_NAME \ --destinations=DESTINATION_KEY \ --location=LOCATION - 替换以下内容: - PIPELINE_NAME:流水线的 ID 或完全限定名称
- DESTINATION_KEY:一个或多个键值对,用于为流水线配置目标- 您必须只设置以下其中一个键: - http_endpoint_uri- 目标 URI。主机可以是可从虚拟私有云 (VPC) 网络寻址的静态 IP,也可以是可使用 Cloud DNS 解析的服务的内部域名系统 (DNS) 主机名。(可选)您也可以设置- http_endpoint_message_binding_template以指定消息绑定。- 例如,您可以使用此键来定位 Cloud Run 服务网址,该网址将以 HTTP - POST请求的形式接收事件。使用首次部署 Cloud Run 托管的服务时提供的稳定的自动分配- run.app网址。或者,您可以将数据定向到 BigQuery 表或 Cloud Run 作业。 如有必要,请确保您定义了消息绑定,以构建目标 API 的 HTTP 请求。- 您还可以使用此目标类型为 Cloud Run 函数(第 1 代和当前版本)指定 HTTP 端点。当您为 Cloud Run 函数指定 HTTP 触发器时,系统会为函数分配一个网址,用于接收请求。 - 如需了解详情,请参阅以下事件目标位置的快速入门:BigQuery 表、Cloud Run 作业和 Cloud Run 服务。 
- message_bus- Eventarc Advanced 总线的 ID。 总线必须部署在与流水线相同的项目和区域中。
- pubsub_topic- Pub/Sub 主题的 ID。必须先创建主题,然后才能将消息路由到该主题;如果使用主题架构,请务必对事件消息进行适当的转换。
- workflow- Workflows 工作流的 ID。 您可以触发工作流的执行,即单次运行工作流定义中包含的逻辑。工作流必须部署在与流水线相同的项目中。
 - 如需启用身份验证,您可以设置以下其中一个键: - google_oidc_authentication_service_account- 用于生成 OIDC 令牌的服务账号电子邮件,该令牌可用于许多场景,其中包括您打算自行验证令牌的端点。(可选)您可以设置- google_oidc_authentication_audience以指定此令牌的目标受众群体。通常,它应与目标流水线的网址匹配。如果它尚未指定,那么系统会使用整个网址(包括所有请求参数)。- 请注意,Cloud Run 会对每个请求执行 IAM 检查,您可以使用 - run.routes.invoke权限通过以下任一方式配置谁可以访问您的 Cloud Run 服务:- 向选定的服务账号或群组授予此权限,以允许访问服务。所有请求都必须具有 HTTP 授权标头,其中包含由 Google 为其中一个已获授权的服务账号签名的 OpenID Connect 令牌。 
- 向所有用户授予此权限,以允许未经身份验证的访问。 
 - 如需了解详情,请参阅 Cloud Run 的访问权限控制。 
- oauth_token_authentication_service_account- 用于生成 OAuth 令牌的服务账号电子邮件,通常,只有在调用- *.googleapis.com上托管的 Google API 时,才应使用该令牌。(可选)您可以设置- oauth_token_authentication_scope以指定此令牌的范围;否则,它将默认为- https://www.googleapis.com/auth/cloud-platform。对于Google Cloud 服务,最佳实践是使用- https://www.googleapis.com/auth/cloud-platform范围,其中包括所有 Google Cloud API 以及可提供精细访问权限控制的 Identity and Access Management (IAM)。- 请注意,所有对其他 Eventarc Advanced 总线、Pub/Sub 或 Workflows 的请求都必须具有 HTTP 授权标头,其中包含由 Google 为其中一个已获授权的服务账号签名的 OAuth 令牌。 - 详细了解令牌类型。 
 - 可选:您可以设置以下其中一个键: - output_payload_format_avro_schema_definition
- output_payload_format_json
- output_payload_format_protobuf_schema_definition- 请注意,如果您设置了输出格式,则还必须指定输入格式(请参阅以下 - input-payload-format-*标志)。
 - 可选:如果您没有将 - http_endpoint_uri用作目标键,则可以设置以下键:- project- 目标资源的 Google Cloud 项目 ID;默认情况下,系统会使用流水线的项目 ID。
- location- 目标资源的位置;默认情况下,系统会使用流水线的位置。
 
- LOCATION:受支持的 Eventarc Advanced 区域- 或者,您也可以设置 gcloud CLI 位置属性: - gcloud config set eventarc/location LOCATION
 - 可选:您可以使用以下标志: - --async- 立即从命令返回,而无需等待正在进行的操作完成。
- --crypto-key- 指定客户管理的加密密钥的完全限定名称;如果它尚未指定,那么系统将使用 Google-owned and managed keys 。
- --logging-config- 配置日志记录级别,这必须是以下之一:- NONE、- DEBUG、- INFO、- NOTICE、- WARNING、- ERROR、- CRITICAL、- ALERT、- EMERGENCY。
- --mediations- 应用转换;- transformation_template是唯一受支持的模板,并且每个流水线仅支持一个中介;例如:- --mediations=transformation_template='message.removeFields(["id\ ","credit_card_number","age"])'- 请注意,如果您要应用转换,则必须使用以下某个标志来指定输入格式。 
- 以下其中一项可指定输入格式: - --input-payload-format-avro-schema-definition
- --input-payload-format-json
- --input-payload-format-protobuf-schema-definition
 
- --max-retry-attempts、- --max-retry-delay和- --min-retry-delay,用于重试事件
 - 例如: - gcloud eventarc pipelines create my-pipeline \ --destinations=http_endpoint_uri='https://example-endpoint.com',oauth_token_authentication_service_account=example-service-account@example-project.gserviceaccount.iam.com,oauth_token_authentication_scope='https://www.googleapis.com/auth/cloud-platform',output_payload_format_avro_schema_definition='{"type": "record","name": "my_record", "fields": [{"name": "my_field", "type":"string"}]}' \ --input-payload-format-avro-schema-definition='{"type":"record", "name": "my_record", "fields": [{"name": "my_field","type": "string"}]}' \ --location=us-central1 \ --async- 如需了解详情和查看示例,请参阅 gcloud CLI 文档。 
注册
- 打开终端。 
- 使用 - gcloud eventarc enrollments create命令创建注册:- gcloud eventarc enrollments create ENROLLMENT_NAME \ --cel-match=MATCH_EXPRESSION \ --destination-pipeline=PIPELINE_NAME \ --message-bus=BUS_NAME \ --message-bus-project=PROJECT_ID \ --location=LOCATION - 替换以下内容: - ENROLLMENT_NAME:注册的 ID 或完全限定名称
- MATCH_EXPRESSION:此注册的匹配表达式(使用 CEL)- 例如- "message.type == 'google.cloud.dataflow.job.v1beta3.statusChanged'"
- PIPELINE_NAME:用于此注册的目标流水线 ID 或其完全限定名称
- BUS_NAME:Eventarc Advanced 总线的 ID 或其完全限定名称
- PROJECT_ID:该总线的 Google Cloud 项目 ID
- LOCATION:受支持的 Eventarc Advanced 区域- 或者,您也可以设置 gcloud CLI 位置属性: - gcloud config set eventarc/location LOCATION
 - 可选:您可以使用以下标志: - --async- 立即从命令返回,而无需等待正在进行的操作完成
 - 例如: - gcloud eventarc enrollments create my-enrollment \ --cel-match="message.type == 'google.cloud.dataflow.job.v1beta3.statusChanged'" \ --destination-pipeline=my-pipeline \ --message-bus=my-message-bus \ --message-bus-project=another-google-cloud-project \ --location=us-central1 \ --async
REST API
向 Eventarc API 发送请求时,请先创建流水线,然后再创建注册。
流水线
如需创建流水线,请使用 projects.locations.pipelines.create 方法。
在使用任何请求数据之前,请先进行以下替换:
- name:流水线的完整资源名称,格式为- projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME- 替换以下内容: - PROJECT_ID:流水线项目的 Google Cloud项目 ID
- LOCATION:要部署流水线的区域,例如- us-central1
- PIPELINE_NAME:流水线的名称
 
- LABEL_KEY和- LABEL_VALUE:可选。标签键值对映射,可帮助您整理 Google Cloud 资源。如需了解详情,请参阅什么是标签?
- ANNOTATION_KEY和- ANNOTATION_VALUE:可选。自由形式文本的注解键值对的映射。您可以使用它们来附加与资源关联的任意信息。如需了解详情,请参阅注解。
- LOG_SEVERITY:可选。日志条目中所述事件的最低严重性。以下之一:- NONE、- DEBUG、- INFO、- NOTICE、- WARNING、- ERROR、- CRITICAL、- ALERT、- EMERGENCY。默认值为- NONE。如需了解详情,请参阅- LogSeverity。
- destinations:消息将转发到的目标。(可选)您可以设置- messageBindingTemplate以指定消息绑定。 如需了解详情,请参阅- Destination目标。仅支持一个目的地:- httpEndpoint:目标 URI (- HTTP_URI)。主机可以是可从虚拟私有云 (VPC) 网络寻址的静态 IP,也可以是可使用 Cloud DNS 解析的服务的内部域名系统 (DNS) 主机名。- 例如,您可以指定一个 Cloud Run 服务网址,该网址将以 HTTP - POST请求的形式接收事件。使用首次部署 Cloud Run 托管的服务时提供的稳定的自动分配- run.app网址。或者,您可以将目标设为 BigQuery 表或 Cloud Run 作业。如有必要,请务必定义消息绑定,以构造目标 API 的 HTTP 请求。- 您还可以使用此目标类型为 Cloud Run functions 函数(第 1 代和当前版本)指定 HTTP 端点。当您为 Cloud Run 函数指定 HTTP 触发器时,系统会为函数分配一个网址,用于接收请求。 - 如需了解详情,请参阅以下事件目标位置的快速入门: BigQuery 表、 Cloud Run 作业和 Cloud Run 服务。 
- messageBus:Eventarc Advanced 总线。总线必须部署在与流水线相同的项目和区域中。
- topic:一个 Pub/Sub 主题,必须先在与流水线相同的项目中创建该主题。如果使用主题架构,请务必对事件消息进行适当的转换。
- workflow:Workflows 工作流。您可以触发工作流的执行,即单次运行工作流定义中包含的逻辑。工作流必须部署在与流水线相同的项目中。
 
- SERVICE_ACCOUNT_EMAIL:用于生成 OIDC 令牌的服务账号电子邮件的名称,该令牌可用于许多场景,其中包括您打算自行验证令牌的端点。(可选)您可以设置- audience以指定此令牌的目标受众群体。通常,它应与目标流水线的网址匹配。如果它尚未指定,那么系统会使用整个网址(包括所有请求参数)。- 或者,您可以使用 - oauthToken指定用于生成 OAuth 令牌的服务账号电子邮件,通常,只有在调用- *.googleapis.com上托管的 Google API 时,才应使用该令牌。(可选)您可以设置- scope以指定此令牌的范围;否则,它将默认为- https://www.googleapis.com/auth/cloud-platform。对于 Google Cloud服务,最佳实践是使用- https://www.googleapis.com/auth/cloud-platform范围,其中包括所有 Google Cloud API 以及可提供精细访问权限控制的 Identity and Access Management (IAM)。- 请注意,所有对其他 Eventarc Advanced 总线、Pub/Sub 或 Workflows 的请求都必须具有 HTTP 授权标头,其中包含由 Google 为其中一个已获授权的服务账号签名的 OAuth 令牌。 - 详细了解令牌类型。 
请求 JSON 正文:
{
  "name": "projects/PROJECT_ID/regions/LOCATION/pipelines/PIPELINE_NAME",
  "labels": {"LABEL_KEY":"LABEL_VALUE"},
  "annotations": {"ANNOTATION_KEY":"ANNOTATION_VALUE"},
  "loggingConfig": {"logSeverity":"LOG_SEVERITY"},
  "destinations": [{"httpEndpoint": {"uri": "HTTP_URI"},
  "authenticationConfig": {"googleOidc": {"serviceAccount": "SERVICE_ACCOUNT_EMAIL"}}}]
}
如需发送您的请求,请展开以下选项之一:
  如果成功,响应正文将包含一个新创建的 Operation 实例:
{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.eventarc.v1.OperationMetadata",
    "createTime": "2024-01-25T17:17:45.782370139Z",
    "target": "projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}
注册
如需创建注册,请使用 projects.locations.enrollments.create 方法。
在使用任何请求数据之前,请先进行以下替换:
- ENROLLMENT_NAME:注册的显示名称,例如- my_enrollment。
- MATCH_EXPRESSION:CEL 表达式,用于标识此注册适用于哪些消息。例如- message.type == 'hello-world-type'。
- destination:目标流水线的完整资源名称,格式为- projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME。- 替换以下内容: - PROJECT_ID:流水线项目的 Google Cloud项目 ID
- LOCATION:部署流水线的区域,例如- us-central1。
- PIPELINE_NAME:流水线的名称
 
- message_bus:标识消息来源的总线的完整资源名称,格式为- projects/BUS_PROJECT_ID/locations/BUS_LOCATION/messageBuses/BUS_NAME。- 替换以下内容: - BUS_PROJECT_ID:总线项目的 Google Cloud 项目 ID
- BUS_LOCATION:部署总线的区域,例如- us-central1
- BUS_NAME:消息总线的名称
 
请求 JSON 正文:
{
  "display_name": "ENROLLMENT_NAME",
  "cel_match": "MATCH_EXPRESSION",
  "message_bus": "projects/BUS_PROJECT_ID/locations/BUS_LOCATION/messageBuses/BUS_NAME",
  "destination": "projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME"
}
如需发送您的请求,请展开以下选项之一:
  如果成功,响应正文将包含一个新创建的 Operation 实例:
{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.eventarc.v1.OperationMetadata",
    "createTime": "2024-01-25T17:17:45.782370139Z",
    "target": "projects/PROJECT_ID/locations/LOCATION/enrollments/ENROLLMENT_NAME",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}
列出注册
您可以通过以下方式列出注册:
- 在 Google Cloud 控制台中
- 在终端或 Cloud Shell 中使用 gcloud CLI
- 向 Eventarc API 发送请求 
控制台
- 如需列出特定流水线的注册,请在 Google Cloud 控制台中,前往 Eventarc > 流水线页面。 
- 点击要列出注册的流水线的名称。 - 系统会打开流水线详情页面。 - 在注册标签页中,系统会列出与流水线关联的所有注册。 
gcloud
- 打开终端。 
- 使用 - gcloud eventarc enrollments list命令列出注册:- gcloud eventarc enrollments list \ --location=LOCATION - 将 - LOCATION替换为受支持的 Eventarc 高级版地区。
REST API
如需列出注册,请使用 projects.locations.enrollments.list 方法。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud项目 ID。
- LOCATION:创建注册的区域,例如- us-central1。
如需发送您的请求,请展开以下选项之一:
  如果成功,则响应正文包含 Enrollment 的实例,并且响应应类似如下内容:
{
  "enrollments": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/enrollments/ENROLLMENT_NAME",
      "uid": "06e396f5-2d4f-43d2-961f-fd2c88403326",
      "createTime": "2025-03-26T17:57:25.214845320Z",
      "updateTime": "2025-03-26T17:57:45.136172180Z",
      "celMatch": "message.type == \"hello-world-type\"",
      "messageBus": "projects/PROJECT_ID/locations/LOCATION/messageBuses/BUS_NAME",
      "destination": "projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME"
    },
    {...}
  ]
}
删除注册
您可以通过以下方式删除注册:
- 在 Google Cloud 控制台中
- 在终端或 Cloud Shell 中使用 gcloud CLI
- 向 Eventarc API 发送请求 
控制台
- 如需删除注册,请在 Google Cloud 控制台中依次前往 Eventarc > 流水线页面。 
- 点击要从中删除注册的流水线的名称。 - 此时会打开流水线详情窗格。 
- 点击 修改。 
- 点击继续。 - 此时会打开注册窗格。 
- 对于要删除的注册,请点击 删除图标。 
- 点击保存。 
gcloud
- 打开终端。 
- 使用 - gcloud eventarc enrollments delete命令删除注册:- gcloud eventarc enrollments delete ENROLLMENT_NAME \ --location=LOCATION - 替换以下内容: - ENROLLMENT_NAME:注册的 ID 或完全限定名称
- LOCATION:注册的受支持的 Eventarc Advanced 区域
 
REST API
如需删除注册,请使用 projects.locations.enrollments.delete 方法。
在使用任何请求数据之前,请先进行以下替换:
- ENROLLMENT_NAME:要删除的注册的显示名称,例如- my_enrollment。
- PROJECT_ID:您的 Google Cloud项目 ID。
- LOCATION:部署注册的区域,例如- us-central1。
如需发送您的请求,请展开以下选项之一:
  如果成功,响应正文将包含一个新创建的 Operation 实例:
{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.eventarc.v1.OperationMetadata",
    "createTime": "2024-01-25T17:17:45.782370139Z",
    "target": "projects/PROJECT_ID/locations/LOCATION/enrollments/ENROLLMENT_NAME",
    "verb": "delete",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}
列出流水线
您可以通过以下方式列出流水线:
- 在 Google Cloud 控制台中
- 在终端或 Cloud Shell 中使用 gcloud CLI
- 向 Eventarc API 发送请求 
控制台
在 Google Cloud 控制台中,前往 Eventarc > 流水线页面。
系统会列出所有流水线。您可以选择使用 过滤条件来限制搜索范围。
gcloud
- 打开终端。 
- 使用 - gcloud eventarc pipelines list命令列出注册:- gcloud eventarc pipelines list \ --location=LOCATION - 将 - LOCATION替换为受支持的 Eventarc 高级版地区。
REST API
如需列出流水线,请使用 projects.locations.pipelines.list 方法。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud项目 ID。
- LOCATION:创建流水线的区域,例如- us-central1。
如需发送您的请求,请展开以下选项之一:
  如果成功,则响应正文包含 Pipeline 的实例,并且响应应类似如下内容:
{
  "pipelines": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME",
      "createTime": "2025-01-10T20:32:11.606516066Z",
      "updateTime": "2025-03-26T18:02:34.886616683Z",
      "uid": "7d58dd18-323a-43f6-a456-4f8c20a70218",
      "destinations": [
        {
          "httpEndpoint": {
            "uri": "HTTP_URI"
          },
          "authenticationConfig": {
            "googleOidc": {
              "serviceAccount": "SERVICE_ACCOUNT_EMAIL"
            }
          }
        }
      ],
      "loggingConfig": {
        "logSeverity": "NONE"
      },
      "retryPolicy": {
        "maxAttempts": 5,
        "minRetryDelay": "1s",
        "maxRetryDelay": "60s"
      }
    },
    {...}
  ]
}
删除流水线
您可以通过以下方式删除流水线:
- 在 Google Cloud 控制台中
- 在终端或 Cloud Shell 中使用 gcloud CLI
- 向 Eventarc API 发送请求
请注意,删除流水线可能需要 10 多分钟时间。
控制台
- 如需删除流水线,请在 Google Cloud 控制台中依次前往 Eventarc > 流水线页面。 
- 在流水线列表中,选中要删除的流水线名称旁边的复选框。 
- 点击 删除。 
- 输入 - Delete以确认删除。
- 点击删除。 
gcloud
- 打开终端。 
- 使用 - gcloud eventarc pipelines delete命令删除流水线:- gcloud eventarc pipelines delete PIPELINE_NAME \ --location=LOCATION - 替换以下内容: - PIPELINE_NAME:流水线的 ID 或完全限定名称
- LOCATION:流水线的受支持的 Eventarc Advanced 区域
 
REST API
如需删除流水线,请使用 projects.locations.pipelines.delete 方法。
在使用任何请求数据之前,请先进行以下替换:
- PIPELINE_NAME:要删除的流水线的显示名称,例如- my_pipeline。
- PROJECT_ID:您的 Google Cloud项目 ID。
- LOCATION:部署流水线的区域,例如- us-central1。
如需发送您的请求,请展开以下选项之一:
  如果成功,响应正文将包含一个新创建的 Operation 实例:
{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.eventarc.v1.OperationMetadata",
    "createTime": "2024-01-25T17:17:45.782370139Z",
    "target": "projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME",
    "verb": "delete",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}