注册标识了对特定总线的订阅。注册定义的匹配条件可决定哪些消息会路由到目的地。此外,注册还会指定匹配的消息路由时应通过的流水线。借助流水线,您可以配置目标目的地,并且在将任何匹配的事件传送到目的地之前,还可以选择对这些事件进行转换。
请注意以下几点:
- 流水线和注册必须在同一 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) 主机名。
例如,您可以定位将以 HTTP
POST请求的形式接收事件的 Cloud Run 服务网址。使用首次部署 Cloud Run 托管的服务时提供的稳定的自动分配run.app网址。或者,您也可以指定一个 BigQuery 表,该表将接收 HTTPPOST请求形式的事件。定义消息绑定,以构建针对 BigQuery API 的 HTTP 请求。如需了解详情,请参阅将事件发布到 BigQuery 表。您还可以使用此目标类型为 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 作业。定义一个消息绑定,用于将事件转换为 Cloud Run Admin API 所需的格式。 如需了解详情,请参阅向 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 令牌。
向 allUsers 授予此权限,以允许公开访问。
如需了解详情,请参阅 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 作业,您必须定义一个消息绑定,用于将事件转换为 Cloud Run Admin API 所需的格式。您还可以使用此目标类型为 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 令牌。
向 allUsers 授予此权限,以允许公开访问。
如需了解详情,请参阅 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_definitionoutput_payload_format_jsonoutput_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 项目 IDLOCATION:受支持的 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项目 IDLOCATION:要部署流水线的区域,例如us-central1PIPELINE_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 作业,您必须定义一个消息绑定,将事件转换为 Cloud Run Admin API 所需的格式。您还可以使用此目标类型为 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项目 IDLOCATION:部署流水线的区域,例如us-central1。PIPELINE_NAME:流水线的名称
message_bus:标识消息来源的总线的完整资源名称,格式为projects/BUS_PROJECT_ID/locations/BUS_LOCATION/messageBuses/BUS_NAME。替换以下内容:
BUS_PROJECT_ID:总线项目的 Google Cloud 项目 IDBUS_LOCATION:部署总线的区域,例如us-central1BUS_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 Advanced 地区。
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 Advanced 地区。
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
}