Shadow API 发现:管理 API

概览

本页面提供了通过 Apigee 管理 (APIM) API 管理 Apigee Shadow API 发现的参考语法。如需查看与 Shadow API 发现相关的管理 API 文档(包括有关请求中每个字段的信息),请访问 https://cloud.google.com/apigee/docs/reference/apis/apim/resthttps://cloud.google.com/apigee/docs/reference/apis/apim/rpc

如需简要了解 Shadow API 发现以及使用 Cloud 控制台中的 Apigee 界面对其进行管理的说明,请参阅 Shadow API 发现。 如需了解 Shadow API 发现的常规行为和限制,请参阅行为和限制

参考 API 调用中的参数

本页面上的 API 调用可以使用以下参数,这些参数引用您的 Apigee 账号信息(例如您的项目)或创建观察作业时使用的信息。如需详细了解其中每个字段,请参阅创建观察作业

  • OBSERVATION_JOB_LOCATION 是观察作业的位置。
  • OBSERVATION_JOB_NAME 是观察作业名称。
  • OBSERVATION_SOURCE_LOCATION 是观察作业的来源位置。
  • OBSERVATION_SOURCE_NAME 是观察来源名称。
  • PROJECT 是您的 Apigee 项目。

创建观察作业

创建观察作业需要多个步骤/API 请求。

  1. 创建观察来源:如需创建新观察来源(而不是使用现有观察来源),请向 observationSources 端点发出包含观察来源详细信息的 POST 请求。
    curl \ https://apim.googleapis.com/v1alpha/projects/PROJECT/locations/OBSERVATION_SOURCE_LOCATION/observationSources?observation_source_id=OBSERVATION_SOURCE_NAME \
    -X POST \
    -H 'Content-type: application/json' \
    -d @- <<'EOF'
    {
      "gclbObservationSource": {
        "pscNetworkConfigs": [
          {
            "network": "projects/PROJECT/global/networks/{network_name}",
            "subnetwork":"projects/PROJECT/regions/OBSERVATION_SOURCE_LOCATION/subnetworks/{subnet_name}"
          }
        ]
      }
    }
    EOF
    创建观察来源需要几分钟时间,并且会启动 LRO,响应如下:
    {
    "name": "projects/{project/locations/OBSERVATION_SOURCE_LOCATION/operations/operation-",
    "metadata": {
      "@type": "type.googleapis.com/google.cloud.apim.vl.ApiDiscoveryOperationMetadata",
      "createTime": "",
      "target": "projects/PROJECT/locations/OBSERVATION_SOURCE_LOCATION/observationSources/OBSERVATION_SOURCE_NAME",
      "verb": "create",
      "requestedCancellation": false,
      "apiVersion": "vl"
    },
    "done": false
    }
  2. 如需查看新创建的观察来源,请执行以下操作:
    curl \
    https://apim.googleapis.com/v1alpha/projects/PROJECT/locations/OBSERVATION_SOURCE_LOCATION/observationSources/OBSERVATION_SOURCE_NAME
  3. 创建观察作业:使用您刚刚创建的来源创建一个查找 Shadow API 的作业:
    curl \
    https://apim.googleapis.com/v1alpha/projects/PROJECT/locations/OBSERVATION_JOB_LOCATION/observationJobs?observation_job_id=OBSERVATION_JOB_NAME \
    -X POST \
    -H 'Content-type: application/json' \
    -d @- <<'EOF'
    {
      "sources": [
        "projects/PROJECT/locations/OBSERVATION_SOURCE_LOCATION/observationSources/OBSERVATION_SOURCE_NAME"
      ]
    }
    EOF

启用观察作业

使用以下命令可启用新观察作业或停用现有作业。

curl https://apim.googleapis.com/v1alpha/projects/PROJECT/locations/OBSERVATION_JOB_LOCATION/observationJobs/OBSERVATION_JOB_NAME:enable \
-X POST \
-H 'Content-type: application/json' \
-d @- <<'EOF'
{}
EOF

查看发现的 API

如需查看已启用观察作业发现的 API,请提交以下命令:

curl https://apim.googleapis.com/v1alpha/projects/PROJECT/locations/OBSERVATION_JOB_LOCATION/observationJobs/OBSERVATION_JOB_NAME/apiObservations \
-X GET

管理观察结果中的标记

如需列出已添加到结果中的标记,请执行以下操作:

curl -H "https://apim.googleapis.com/v1alpha/projects/PROJECT/locations/OBSERVATION_JOB_LOCATION:listApiObservationTags"
  

如需管理标记,请执行以下操作:

curl -H "Content-Type: appication/json" \
"https://apim.googleapis.com/v1alpha/projects/PROJECT/locations/OBSERVATION_JOB_LOCATION/observationJobs/OBSERVATION_JOB_NAME/apiObservations:batchEditTags" \
-X POST -d @- <<'EOF'
{
  "requests": [
    {
      "apiObservationId": "API_OBSERVATION_ID",
      "tagActions": [
      {
        "tag": "demo",
        "action": "REMOVE"
      },
      {
        "tag": "Needs Attentions",
        "action": "ADD"
      }]
    }
  ]
}
EOF

停用观察作业

此请求会停用观察作业,而不将其删除。

curl https://apim.googleapis.com/v1alpha/projects/PROJECT/locations/OBSERVATION_JOB_LOCATION/observationsJobs/OBSERVATION_JOB_NAME:disable \
-X POST \
-H 'Content-type: application/json' \
-d @- <<'EOF'
{
}

删除观察作业

此请求会删除观察作业。

curl -X DELETE https://apim.googleapis.com/v1alpha/projects/PROJECT/locations/OBSERVATION_JOB_LOCATION/observationJobs/OBSERVATION_JOB_NAME

删除观察来源

此请求会删除观察来源。

curl -X DELETE https://apim.googleapis.com/v1alpha/projects/PROJECT/locations/OBSERVATION_SOURCE_LOCATION/observationSources/OBSERVATION_SOURCE_NAME