管理和发现端点

如需有效管理代理舰队,您需要确保端点网络准确无误。本文档详细介绍了如何发现可用端点、更新其连接详细信息,或在端点不再使用时将其移除。

准备工作

如需管理端点, 您必须先在 Agent Registry 中注册端点。 您还需要 项目 ID 才能执行这些任务。

如需使用本文档中的 gcloud CLI 命令,请确保您已 设置 Google Cloud CLI 环境

所需角色

如需获得在 Agent Registry 中管理端点所需的权限,请让管理员向您授予项目的以下 IAM 角色:

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

您也可以通过自定义 角色或其他预定义 角色来获取所需的权限。

发现端点

如需浏览在您的环境中注册的目标网址和 REST API,请列出可用的端点资源。

列出所有端点

列出您环境中的所有已注册端点:

控制台

  1. 在 Google Cloud 控制台中,前往 Agent Registry

    前往 Agent Registry

  2. 在项目选择器中,选择您在其中 设置了 Agent Registry的 Google Cloud 项目。

  3. 选择端点 标签页。

    该页面会显示所有已注册端点的列表及其详细信息,例如名称、说明和位置。

  4. 如需查看端点的完整连接详细信息,请点击 端点的名称。

gcloud

如需列出特定位置的所有端点,请使用 endpoints list 命令:

gcloud agent-registry endpoints list \
  --project=PROJECT_ID \
  --location=REGION

替换以下内容:

  • PROJECT_ID:项目 ID。
  • REGION:注册表区域。

过滤已注册端点

如果您有多个端点,可以按端点的元数据过滤列表:

控制台

  1. 在 Google Cloud 控制台中,前往 Agent Registry

    前往 Agent Registry

  2. 在项目选择器中,选择您在其中 设置了 Agent Registry的 Google Cloud 项目。

  3. 选择端点 标签页。

    该页面会显示所有已注册端点的列表及其详细信息,例如名称、说明和位置。

  4. 如需按位置过滤,请点击位置 菜单,选择要过滤的位置,然后点击应用

    该页面会显示已注册端点的过滤列表,其中包含您选择的条件。

gcloud

使用 --filter 标志过滤列表,以仅返回与特定元数据匹配的资源:

gcloud agent-registry endpoints list \
  --project=PROJECT_ID \
  --location=REGION \
  --filter="FILTER_EXPRESSION"

FILTER_EXPRESSION 替换为您要过滤的端点的过滤表达式。例如,如需按显示 名称过滤,请使用 displayName='DISPLAY_NAME'

Terraform

如需通过针对元数据进行过滤来检索特定的已注册端点,请使用 filter 实参配置 google_agent_registry_endpoint 数据源:

data "google_agent_registry_endpoint" "filtered_endpoint" {
  location = "REGION"
  filter   = "displayName=\"DISPLAY_NAME\""
}

替换以下内容:

  • REGION:注册表区域。
  • DISPLAY_NAME:端点的易记名称,用于过滤,例如 Example API Endpoint

查看端点的详细信息

查看特定端点的详细信息,包括其连接详细信息和协议绑定:

控制台

  1. 在 Google Cloud 控制台中,前往 Agent Registry

    前往 Agent Registry

  2. 在项目选择器中,选择您在其中 设置了 Agent Registry的 Google Cloud 项目。

  3. 选择端点 标签页。

    该页面会显示所有已注册端点的列表及其详细信息,例如名称、说明和位置。

  4. 点击您要查看的端点的名称。

    概览 页面会显示端点的名称、说明、位置和连接详细信息,包括目标网址和协议绑定。

gcloud

检索有关特定端点的详细元数据,包括其完整接口网址和协议绑定:

gcloud agent-registry endpoints describe ENDPOINT_NAME \
  --project=PROJECT_ID \
  --location=REGION

替换以下内容:

  • PROJECT_ID:项目 ID。
  • REGION:注册表区域。
  • ENDPOINT_NAME:端点的名称,例如 my-external-api

Terraform

如需使用特定已注册端点的 ID 检索其详细信息,请配置 google_agent_registry_endpoint 数据源:

data "google_agent_registry_endpoint" "my_endpoint" {
  location    = "REGION"
  endpoint_id = "ENDPOINT_NAME"
}

output "endpoint_create_time" {
  description = "The timestamp when the endpoint was registered."
  value       = data.google_agent_registry_endpoint.my_endpoint.create_time
}

output "endpoint_update_time" {
  description = "The timestamp when the endpoint was last updated."
  value       = data.google_agent_registry_endpoint.my_endpoint.update_time
}

替换以下内容:

  • REGION:注册表区域。
  • ENDPOINT_NAME:端点的唯一标识符,例如 my-external-api

更新端点

如果外部目标端点的底层网址发生变化,您可以更新端点接口详细信息。

请按照以下步骤更新端点:

控制台

  1. 在 Google Cloud 控制台中,前往 Agent Registry

    前往 Agent Registry

  2. 在项目选择器中,选择您在其中 设置了 Agent Registry的 Google Cloud 项目。

  3. 选择端点 标签页。

    该页面会显示所有已注册端点的列表及其详细信息,例如名称、说明和位置。

  4. 点击您要更新的端点的名称。

    概览 页面会显示端点的名称、说明、位置和连接详细信息,包括目标网址和协议绑定。

  5. 点击 修改

  6. 修改服务 面板中,输入端点的更新信息,例如显示名称、说明和目标网址。您可以在此面板中测试与端点的连接。

  7. 点击保存

gcloud

对于 Agent Registry API,Endpoint 资源用于发现。因此,您必须直接更新已注册的 Service 资源。

使用 --interfaces 标志指定新的目标网址:

gcloud agent-registry services update ENDPOINT_NAME \
  --project=PROJECT_ID \
  --location=REGION \
  --interfaces=url=ENDPOINT_URL,protocolBinding=PROTOCOL

替换以下内容:

  • ENDPOINT_NAME:端点的名称,例如 my-external-api
  • PROJECT_ID:项目 ID。
  • REGION:注册表区域。
  • ENDPOINT_URL:新的目标网址,例如 https://new-api.example.com/v1/data
  • PROTOCOL:接口的协议绑定。 有效值为 HTTP_JSONGRPCJSONRPC

Terraform

如需使用 Terraform 更新端点网址或协议绑定,请在配置中修改现有 google_agent_registry_service 资源的 interfaces 块,然后运行 terraform apply

resource "google_agent_registry_service" "endpoint" {
  location     = "REGION"
  service_id   = "ENDPOINT_NAME"
  display_name = "DISPLAY_NAME"

  interfaces {
    url              = "ENDPOINT_URL"
    protocol_binding = "PROTOCOL"
  }

  endpoint_spec {
    type = "NO_SPEC"
  }
}

替换以下内容:

  • REGION:注册表区域。
  • ENDPOINT_NAME:端点的名称。
  • DISPLAY_NAME:端点的易记名称。
  • ENDPOINT_URL:新的目标网址,例如 https://new-api.example.com/v1/data
  • PROTOCOL:接口的协议绑定。 有效值为 HTTP_JSONGRPCJSONRPC

移除端点

如需从注册表中移除端点,您必须删除其底层 Service 资源。此操作会立即从发现搜索结果中移除端点。

请按照以下步骤从注册表中移除端点:

控制台

  1. 在 Google Cloud 控制台中,前往 Agent Registry

    前往 Agent Registry

  2. 在项目选择器中,选择您在其中 设置了 Agent Registry的 Google Cloud 项目。

  3. 选择端点 标签页。

    该页面会显示所有已注册端点的列表及其详细信息,例如名称、说明和位置。

  4. 点击您要移除的端点的名称。

    概览 页面会显示端点的名称、说明、位置和连接详细信息,包括目标网址和协议绑定。

  5. 点击 删除

  6. 删除端点 窗口中,输入 DELETE 以确认操作。

  7. 点击删除

gcloud

gcloud agent-registry services delete ENDPOINT_NAME \
  --project=PROJECT_ID \
  --location=REGION

Terraform

从 Terraform 配置中移除表示端点的 google_agent_registry_service 资源,然后运行 terraform apply