이 페이지는 Apigee 및 Apigee Hybrid에 적용됩니다.
이 문서에서는 등록된 API 간의 종속 항목을 만들고 관리하는 방법을 설명합니다. 종속 항목은 API 간의 관계를 파악하는 데 도움이 됩니다. 종속 항목 소개를 참조하세요.
UI를 사용하면 소비자가 공급업체의 작업에 종속되는 소비자 API와 공급업체 API 간의 관계를 한눈에 확인할 수 있습니다. 그림 1을 참조하세요.
종속 항목 만들기
REST API를 사용하여 종속 항목을 만들 수 있습니다.
콘솔
종속 항목을 만들려면 다음 안내를 따르세요.
Google Cloud 콘솔에서 API 허브의 공급망 페이지로 이동합니다.
API 허브로 이동- 종속 항목 만들기를 클릭합니다.
- 종속 항목에 대한 설명을 추가합니다.
- 공급업체 리소스 선택에서 작업을 선택합니다.
- 작업을 제공하는 API를 선택합니다.
- 작업을 제공하는 API의 API 버전을 선택합니다.
- 소비자에게 제공되는 작업을 선택합니다. 예를 들면
GET-/items
입니다. - 소비자 리소스 선택에서 작업을 선택합니다.
- 공급업체에서 작업을 사용하는 API를 선택합니다.
- 작업을 사용하는 API 버전을 선택합니다.
- 제공된 API를 사용하는 작업을 선택합니다. 예를 들면
GET-/categories
입니다. - 원하는 경우 설정에서 정의된 사용자 정의 속성 값을 제공합니다.
- 만들기를 클릭합니다. 새 종속 항목이 종속 항목 목록 페이지에 표시됩니다(그림 1).
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_api_resource_name: RESOURCE_NAME" }, "consumer": { // Specify one of the following: "operation_resource_name": RESOURCE_NAME // OR "external_api_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의 모든 버전과 관련된 모든 종속 항목을 나열하거나 특정 버전과 관련된 모든 종속 항목을 나열할 수 있습니다.
콘솔
종속 항목을 나열하려면 다음 안내를 따르세요.
Google Cloud 콘솔에서 API 허브의 공급망 페이지로 이동합니다. 알려진 종속 항목 목록이 공급망 페이지에 표시됩니다.
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 종속 항목에 대한 세부정보를 가져오는 방법을 설명합니다. 소비자 및 공급자의 세부정보를 보고 손상된 종속 항목을 나타낼 수 있는 오류와 같은 종속 항목에 대한 세부정보를 볼 수 있습니다.
콘솔
종속 항목을 가져오려면 다음 안내를 따르세요.
Google Cloud 콘솔에서 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" }
다음은 샘플 응답입니다. 여기서 오류 조건은 공급업체 작업이 삭제되었음을 나타냅니다(손상된 종속 항목).
{ "name": "projects/common-dev-15/locations/us-central1/dependencies/user-to-pet", "consumer": { "displayName": "POST - /v2/user", "operationResourceName": "projects/common-dev-15/locations/us-central1/apis/payments-api/versions/2ff89c88-e8b6-48c4-a1c2-bdbb2a929bde/operations/createuser" }, "supplier": { "displayName": "POST - /v2/pet", "operationResourceName": "projects/common-dev-15/locations/us-central1/apis/payments-api/versions/2ff89c88-e8b6-48c4-a1c2-bdbb2a929bde/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", { "error": "SUPPLIER_NOT_FOUND", "errorTime": 2024-05-18T20:23:42.465324Z } }
API 종속 항목 삭제
이 섹션에서는 API 종속 항목을 삭제하는 방법을 설명합니다.
콘솔
종속 항목을 삭제하려면 다음 안내를 따릅니다.
Google Cloud 콘솔에서 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입니다.
종속 항목 수정
이 섹션에서는 종속 항목을 수정하는 방법을 설명합니다. 수정할 수 있는 유일한 속성은 종속 항목 설명입니다.
콘솔
API를 수정하려면 다음 안내를 따르세요.
Google Cloud 콘솔에서 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 PATCH -H "Content-Type: application/json" '{ 'description': DESCRIPTION {'
다음을 바꿉니다.
- HUB_PROJECT: API 허브 호스트 프로젝트의 이름입니다. 이 호스트 프로젝트는 API 허브가 프로비저닝되었을 때 선택되었습니다.
- HUB_LOCATION: 호스트 프로젝트의 위치입니다. 이 위치는 API 허브가 프로비저닝되었을 때 선택되었습니다.
- DEPLOYMENT_ID: 수정할 배포의 ID입니다.
- DESCRIPTION: 수정 가능한 유일한 속성은 설명입니다.