Shadow API Discovery:管理 API

總覽

本頁面提供參考語法,說明如何透過 Apigee 管理 (APIM) API 管理 Apigee Shadow API Discovery。如要查看與 Shadow API Discovery 相關的管理 API 說明文件,包括要求中每個欄位的資訊,請前往 https://cloud.google.com/apigee/docs/reference/apis/apim/resthttps://cloud.google.com/apigee/docs/reference/apis/apim/rpc

如要瞭解 Shadow API Discovery 總覽,以及如何使用 Cloud 控制台中的 Apigee UI 管理這項功能,請參閱「Shadow API Discovery」。如要瞭解 Shadow API Discovery 的一般行為和限制,請參閱「行為和限制」。

參考 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. 建立觀測工作:使用您剛建立的來源,建立尋找隱藏 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