API 리소스 관리

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

API 등록

API 허브에 API를 등록하면 API를 나타내는 항목을 만들고 저장합니다. 이 항목을 API 리소스라고 합니다. API 허브에 저장된 API 리소스를 검색할 수 있으며 API에 대한 자세한 운영 및 설명 정보를 제공합니다. API를 등록할 때 또는 이후에 API 리소스 속성을 추가하고 수정하여 API에 대한 풍부한 설명을 작성할 수 있습니다.

Console

API를 등록하려면 다음 안내를 따르세요.

  1. Google Cloud 콘솔에서 Apigee API 허브API 페이지로 이동합니다.

    API 허브로 이동
  2. API 등록을 클릭합니다.
  3. 일반 세부정보에서 API의 고유 ID를 지정합니다(선택사항). ID를 제공하지 않으면 시스템에서 ID를 자동으로 생성합니다. ID를 입력하려면 고유 ID 지정을 클릭합니다.

    ID는 4~500자(영문 기준)여야 하며 유효한 문자는 /[A-Z][a-z][0-9]-/.입니다. ID는 정규화된 고유 API 리소스 이름의 마지막 구성요소이며 projects/PROJECT/locations/LOCATION/apis/API_ID 형식입니다.

  4. (필수) API 리소스의 표시 이름을 제공합니다.
  5. 선택적으로 API를 설명하는 추가 속성을 추가합니다. 언제든지 API로 돌아가서 API 속성을 추가하거나 변경할 수 있습니다. API 리소스 수정을 참조하세요.
    • 소유자 정보: (선택사항) API 소유자의 이름 및 이메일 주소입니다.
    • 추가 세부정보: (선택사항) API를 정의하고 더 쉽게 검색하는 데 도움이 되는 속성을 지정합니다. 설정에서 이러한 일부 속성의 기본값을 정의할 수 있습니다. 자세한 내용은 속성 관리를 참조하세요.
    • 사용자 정의 속성: (선택사항) 설정에서 정의하는 속성입니다. 자세한 내용은 속성 관리를 참조하세요.
  6. 등록을 클릭합니다.

REST

API를 등록하려면 Create API REST API를 사용합니다.

curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d '{
    "display_name": "DISPLAY_NAME",            # Required attribute
    "description": "DESCRIPTION"               # description is an optional attribute
    }
    'https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/apis?api_id=API_ID

다음을 바꿉니다.

  • HUB_PROJECT: API 허브 호스트 프로젝트의 이름. 이 호스트 프로젝트는 API 허브가 프로비저닝되었을 때 선택되었습니다.
  • HUB_LOCATION: 호스트 프로젝트의 위치. 이 위치는 API 허브가 프로비저닝되었을 때 선택되었습니다.
  • API_ID: (선택사항) API의 고유 ID를 입력합니다. 이 쿼리 매개변수를 제공하지 않으면 시스템에서 고유 ID를 자동으로 생성합니다. ID는 4~500자(영문 기준)여야 하며 유효한 문자는 /[A-Z][a-z][0-9]-/.입니다. ID는 정규화된 고유 API 리소스 이름의 마지막 구성요소이며 projects/PROJECT/locations/LOCATION/apis/API_ID 형식입니다.
  • DISPLAY_NAME: (필수) API 리소스의 표시 이름입니다. 원하는 모든 이름을 사용할 수 있습니다.
  • DESCRIPTION: (선택사항) 설명, 소유자,API 참고 리소스 링크 등 API 리소스를 설명하는 여러 선택적 속성을 추가할 수 있습니다. 이러한 선택적 속성은 API 리소스 정의에 나열되고 설명되어 있습니다.

API 리소스 나열

이 섹션에서는 API 허브의 API 리소스를 나열하는 방법을 설명합니다. 필터를 추가하면 응답에서 반환되는 API를 제한할 수 있습니다.

Console

API 리소스를 나열하려면 다음 안내를 따르세요.

  1. Google Cloud 콘솔에서 Apigee API 허브API 페이지로 이동합니다.

    API 허브로 이동

    API 허브에 추가된 모든 API 목록은 API 홈페이지에 나열됩니다.

  2. 필터를 사용하여 API 목록을 필터링할 키워드를 지정합니다. 필요한 경우 검색을 사용하여 API를 찾습니다.

REST

API 허브 프로젝트의 모든 API 리소스를 나열하려면 API 나열 API를 사용합니다.

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

다음을 바꿉니다.

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

샘플 출력:

{
  "apis": [
    {
      "name": "projects/myproject/locations/us-central1/apis/a035eb3b-658e-467a-89d3-9cca2bbacd32-2",
      "displayName": "TestApi2",
      "documentation": {}
    },
    {
      "name": "projects/myproject/locations/us-central1/apis/a035eb3b-658e-467a-89d3-9cca2bbacd32-1",
      "displayName": "TestApi1",
      "documentation": {}
    },
    {
      "name": "projects/myproject/locations/us-central1/apis/foo9013cfev",
      "displayName": "sample",
      "documentation": {}
    },
    {
      "name": "projects/myproject/locations/us-central1/apis/foo90121",
      "displayName": "sample",
      "documentation": {}
    },
    ...
    ],
    "nextPageToken": "f4f4d78b-a974-46db-a214-dc139f8e9c8a"
  }

필터가 포함된 REST 예시

API를 사용하여 목록 결과를 필터링할 수 있습니다. 이 예시에서는 시스템 정의 속성을 기반으로 API를 필터링합니다.

curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  'https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/apis' \
  -d filter="owner.email=\"testowner3@gmail.com\"" -d page_size=10

다음을 바꿉니다.

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

소유자별로 필터링된 샘플 출력:

{
  "apis": [
    {
      "name": "projects/myproject/locations/us-central1/apis/theme-park-management-api",
      "displayName": "Theme Park Management API",
      "documentation": {}
    },
    {
      "name": "projects/myproject/locations/us-central1/apis/restaurant-api",
      "displayName": "Restaurant API",
      "documentation": {}
    },
    {
      "name": "projects/myproject/locations/us-central1/apis/casino-management-api",
      "displayName": "Casino Management API",
      "documentation": {}
    },
    {
      "name": "projects/myproject/locations/us-central1/apis/hotel-boooking-api",
      "displayName": "Hotel Booking API",
      "documentation": {}
    },
    {
      "name": "projects/myproject/locations/us-central1/apis/test-march-26-api3",
      "displayName": "Test Pets API",
      "documentation": {}
    },
    {
      "name": "projects/myproject/locations/us-central1/apis/test-march-26-api2",
      "displayName": "Test Pets API",
      "documentation": {}
    },
    {
      "name": "projects/myproject/locations/us-central1/apis/test-march-26-api1",
      "displayName": "Test Pets API",
      "documentation": {}
    }
  ]
}

API 리소스 세부정보 확인

이 섹션에서는 API 리소스에 대한 세부정보를 확인하는 방법을 설명합니다.

Console

API 리소스의 세부정보를 보려면 다음 안내를 따르세요.

  1. Google Cloud 콘솔에서 Apigee API 허브API 페이지로 이동합니다.

    API 허브로 이동
  2. 필터를 사용하여 API 목록을 필터링할 키워드를 지정합니다. 필요한 경우 검색을 사용하여 API를 찾습니다.
  3. API를 클릭하여 세부정보 페이지를 봅니다.

REST

API 리소스의 세부정보를 보려면 Get API resource details API를 사용합니다.

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

다음을 바꿉니다.

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

샘플 출력:

{
  "name": "projects/myproject/locations/us-central1/apis/myapi",
  "displayName": "My Test API",
  "description": "This is a test API.",
  "documentation": {},
  "owner": {
    "displayName": "Test API,
    "email": "testowner@gmail.com"
  },
  "versions": [
    "projects/myproject/locations/us-central1/apis/myapi/versions/myapi-version1"
  ],
  "createTime": "2024-03-26T10:13:15.668867002Z",
  "updateTime": "2024-03-26T10:13:16.700716401Z"
}

API 리소스 삭제

이 섹션에서는 API 리소스를 삭제하는 방법을 설명합니다.

Console

UI에서 API를 삭제하면 API의 기본 버전과 관련 API 사양(있는 경우)이 모두 삭제됩니다.

API 리소스를 삭제하려면 다음 안내를 따르세요.

  1. Google Cloud 콘솔에서 Apigee API 허브API 페이지로 이동합니다.

    API 허브로 이동
  2. 필터를 사용하여 API 목록을 필터링할 키워드를 지정합니다. 필요한 경우 검색을 사용하여 삭제할 API를 찾습니다.
  3. 작업 메뉴(API가 포함된 행의 오른쪽)에서 삭제를 클릭합니다.

REST

API 허브에서 API를 삭제하려면 Delete API API를 사용합니다.

기본적으로 모든 기본 버전이 삭제된 경우에만 API를 삭제할 수 있습니다. API 아래의 모든 버전을 한 번에 삭제하려면 Delete REST API에서 force 쿼리 매개변수를 true로 설정합니다.

curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  'https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/apis/API_ID'

다음을 바꿉니다.

  • HUB_PROJECT: API 허브 호스트 프로젝트의 이름. 이 호스트 프로젝트는 API 허브가 프로비저닝되었을 때 선택되었습니다.
  • HUB_LOCATION: 호스트 프로젝트의 위치. 이 위치는 API 허브가 프로비저닝되었을 때 선택되었습니다.
  • API_ID: 삭제할 API 리소스의 고유 ID입니다.

API 및 모든 기본 버전을 삭제하려면 force 쿼리 매개변수를 true로 설정합니다. 예를 들면 다음과 같습니다.

curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  'https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/apis/API_ID?force=true'

API 리소스 수정

이 섹션에서는 API 리소스를 수정하는 방법을 설명합니다. 모든 API 리소스 속성을 수정할 수 있는 것은 아닙니다. 수정 가능한 속성 목록은 Patch API 참고 문서를 확인하세요.

Console

API를 수정하려면 다음 안내를 따르세요.

  1. Google Cloud 콘솔에서 Apigee API 허브API 페이지로 이동합니다.

    API 허브로 이동
  2. 필터를 사용하여 API 목록을 필터링할 키워드를 지정합니다. 필요한 경우 검색을 사용하여 수정할 API를 찾습니다.
  3. API를 클릭하여 세부정보 페이지를 봅니다.
  4. API 수정을 클릭합니다.
  5. API 수정 페이지에서 변경합니다. 계속을 클릭하여 수정 가능한 다음 속성 세트로 이동합니다.
    • 일반 세부정보: API의 표시 이름을 수정할 수 있습니다.
    • 소유자 정보: API 소유자의 이름 및 이메일 주소입니다.
    • 추가 세부정보: 시스템 정의 속성입니다. 속성 관리에서 이러한 속성에 커스텀 기본값을 지정할 수 있습니다.
    • 사용자 정의 속성: 사용자 정의 커스텀 속성입니다. 속성 관리에서 커스텀 속성을 지정할 수 있습니다.
  6. 저장을 클릭합니다.

REST

API 리소스를 수정하려면 Patch API resource API를 사용합니다.

curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d '{
          "display_name": "Updated Test Docs API",        # Example request body with changes
          "description": "This is the updated test API.",
          "owner": {
            "display_name": "Updated Docs Owner",
            "email": "updateddocsowner@gmail.com"
            }
          }
          ' https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/apis/API_ID

다음을 바꿉니다.

  • HUB_PROJECT: API 허브 호스트 프로젝트의 이름입니다. 이 호스트 프로젝트는 API 허브가 프로비저닝되었을 때 선택되었습니다.
  • HUB_LOCATION: 호스트 프로젝트의 위치입니다. 이 위치는 API 허브가 프로비저닝되었을 때 선택되었습니다.
  • API_ID: 업데이트할 API의 고유 ID입니다.
  • 요청 본문: 요청 본문을 사용하여 변경할 속성을 지정합니다. API 요청 본문 설명을 참조하세요.