종속 항목 관리

이 페이지는 ApigeeApigee Hybrid에 적용됩니다.

이 문서에서는 등록된 API 간의 종속 항목을 만들고 관리하는 방법을 설명합니다. 종속 항목은 API 간의 관계를 파악하는 데 도움이 됩니다. 종속 항목 소개를 참조하세요.

종속 항목 만들기

REST API를 사용하여 종속 항목을 만들 수 있습니다.

REST

종속 항목 만들기 API를 사용하여 새 종속 항목을 만들려면 다음 안내를 따르세요.

curl -X POST 'https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/dependencies?dependency_id=DEPENDENCY_ID' \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H 'Content-Type: application/json' \
  --d '{
      "description": "DESCRIPTION",
      "supplier": {
          // Specify one of the following:
          "operation_resource_name": RESOURCE_NAME
          // OR
          "external_resource_name: RESOURCE_NAME"
      },
      "consumer": {
        // Specify one of the following:
        "operation_resource_name": RESOURCE_NAME
        // OR
        "external_resource_name: RESOURCE_NAME"
      }
  }'

다음을 바꿉니다.

  • HUB_PROJECT: API 허브 호스트 프로젝트의 이름입니다. 이 호스트 프로젝트는 API 허브가 프로비저닝되었을 때 선택되었습니다.
  • HUB_LOCATION: 호스트 프로젝트의 위치입니다. 이 위치는 API 허브가 프로비저닝되었을 때 선택되었습니다.
  • DEPENDENCY_ID: (선택사항) 종속 항목의 식별자입니다. 제공하지 않으면 시스템에서 생성된 ID가 사용됩니다. 이름은 4~500자(영문 기준)의 문자열이어야 하며 유효한 문자는 /[a-z][A-Z][0-9]-_.입니다.
  • DESCRIPTION: (선택사항) 종속 항목에 대한 간단한 설명입니다.
  • RESOURCE_NAME: (필수) 지정한 속성에 따라 API 허브 또는 외부 API의 작업 리소스 이름입니다.

    작업 리소스 이름 형식: projects/PROJECT/locations/LOCATION/apis/API/versions/VERSION/operations/OPERATION

    작업 리소스 예시: "projects/myproject/locations/us-central1/apis/payments-api/versions/locationv1/operations/getlocation"

    외부 API 리소스 이름 형식: projects/PROJECT/locations/LOCATION/externalApis/EXTERNAL_API

    외부 API 리소스 예시: "projects/myproject/locations/us-central1/externalApis/petstore"

샘플 응답:

{
  "name": "projects/myproject/locations/us-central1/dependencies/user-to-pet",
  "consumer": {
      "displayName": "POST - /v2/user",
      "operationResourceName": "projects/myproject/locations/us-central1/apis/payments-api/versions/version1/operations/createuser"
  },
  "supplier": {
      "displayName": "POST - /v2/pet",
      "operationResourceName": "projects/myproject/locations/us-central1/apis/payments-api/versions/version1/operations/addpet"
  },
  "state": "VALIDATED",
  "description": "Dependency from user to pet API",
  "discoveryMode": "MANUAL",
  "createTime": "2024-04-17T19:33:31.664226Z",
  "updateTime": "2024-04-17T19:33:31.664226Z"
 }

REST 예시

curl -X POST 'https://apihub.googleapis.com/v1/projects/myproject/locations/us-central1/dependencies?dependency_id=user-to-pet' \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H 'Content-Type: application/json' \
  --d '{
      "description": "Dependency from user to pet API",
      "consumer": {
          "operation_resource_name": "projects/myproject/locations/us-central1/apis/payments-api/versions/paymentv1/operations/createuser"
      },
      "supplier": {
          "operation_resource_name": "projects/myproject/locations/us-central1/apis/pet-api/versions/petstorev1/operations/addpet"
      }
  }'

종속 항목 나열

이 섹션에서는 종속 항목을 나열하는 방법을 설명합니다. API의 모든 버전과 관련된 모든 종속 항목을 나열하거나 특정 버전과 관련된 모든 종속 항목을 나열할 수 있습니다.

REST

모든 종속 항목을 나열하려면 종속 항목 나열 API를 사용합니다.

curl "https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/dependencies"
      -H "Authorization: Bearer: $(gcloud auth print-access-token)" -X GET -H "Content-Type: application/json"

다음을 바꿉니다.

  • HUB_PROJECT: API 허브 호스트 프로젝트의 이름입니다. 이 호스트 프로젝트는 API 허브가 프로비저닝되었을 때 선택되었습니다.
  • HUB_LOCATION: 호스트 프로젝트의 위치입니다. 이 위치는 API 허브가 프로비저닝되었을 때 선택되었습니다.

샘플 출력:

{
  "dependencies": [
      {
          "name": "projects/myproject/locations/us-central1/dependencies/user-to-pet",
          "consumer": {
              "displayName": "POST - /v2/user",
              "operationResourceName": "projects/myproject/locations/us-central1/apis/payments-api/versions/version1/operations/createuser"
          },
          "supplier": {
              "displayName": "POST - /v2/pet",
              "operationResourceName": "projects/myproject/locations/us-central1/apis/payments-api/versions/version1/operations/addpet"
          }
      }
  ]
 }

종속 항목 세부정보 가져오기

이 섹션에서는 REST API를 사용하여 API 종속 항목에 대한 세부정보를 가져오는 방법을 설명합니다.

REST

종속 항목의 세부정보를 보려면 종속 항목 세부정보 가져오기 API를 사용합니다.

curl "https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/dependencies/DEPENDENCY_ID"
  -H "Authorization: Bearer: $(gcloud auth print-access-token)" -X GET -H "Content-Type: application/json"

다음을 바꿉니다.

  • HUB_PROJECT: API 허브 호스트 프로젝트의 이름. 이 호스트 프로젝트는 API 허브가 프로비저닝되었을 때 선택되었습니다.
  • HUB_LOCATION: 호스트 프로젝트의 위치. 이 위치는 API 허브가 프로비저닝되었을 때 선택되었습니다.
  • DEPENDENCY_ID: 종속 항목의 고유 ID입니다.

샘플 응답:

{
  "name": "projects/myproject/locations/us-central1/dependencies/user-to-pet",
  "consumer": {
      "displayName": "POST - /v2/user",
      "operationResourceName": "projects/myproject/locations/us-central1/apis/payments-api/versions/version1/operations/createuser"
  },
  "supplier": {
      "displayName": "POST - /v2/pet",
      "operationResourceName": "projects/myproject/locations/us-central1/apis/payments-api/versions/version1/operations/addpet"
  },
  "state": "VALIDATED",
  "description": "Dependency from user to pet API",
  "discoveryMode": "MANUAL",
  "createTime": "2024-04-17T19:33:31.215978712Z",
  "updateTime": "2024-04-17T19:33:31.737505297Z"
}

API 종속 항목 삭제

이 섹션에서는 API 종속 항목을 삭제하는 방법을 설명합니다.

REST

API 허브에서 종속 항목을 삭제하려면 종속 항목 삭제 API를 사용합니다.

curl "https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/dependencies/DEPENDENCY_ID"
  -H "Authorization: Bearer: $(gcloud auth print-access-token)" -X DELETE -H "Content-Type: application/json"

다음을 바꿉니다.

  • HUB_PROJECT: API 허브 호스트 프로젝트의 이름입니다. 이 호스트 프로젝트는 API 허브가 프로비저닝되었을 때 선택되었습니다.
  • HUB_LOCATION: 호스트 프로젝트의 위치입니다. 이 위치는 API 허브가 프로비저닝되었을 때 선택되었습니다.
  • DEPENDENCY_ID: 삭제할 종속 항목의 ID입니다.

종속 항목 수정

이 섹션에서는 종속 항목을 수정하는 방법을 설명합니다. 수정 가능한 유일한 속성은 설명입니다.

REST

배포를 수정하려면 종속 항목 패치 API를 사용합니다.

curl "https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/dependencies/DEPENDENCY_ID"
    -H "Authorization: Bearer: $(gcloud auth print-access-token)" -X PATCH -H "Content-Type: application/json"
    '{
      'description': DESCRIPTION
    {'

다음을 바꿉니다.

  • HUB_PROJECT: API 허브 호스트 프로젝트의 이름입니다. 이 호스트 프로젝트는 API 허브가 프로비저닝되었을 때 선택되었습니다.
  • HUB_LOCATION: 호스트 프로젝트의 위치입니다. 이 위치는 API 허브가 프로비저닝되었을 때 선택되었습니다.
  • DEPLOYMENT_ID: 수정할 배포의 ID입니다.
  • DESCRIPTION: 수정 가능한 유일한 속성은 설명입니다.