버전 관리

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

API 버전 만들기

콘솔 또는 REST API를 사용하여 API 버전을 만들 수 있습니다.

Console

새 버전을 추가하려면 다음 안내를 따르세요.

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

    API 허브로 이동
  2. API를 클릭합니다.
  3. 필터를 사용하여 API 목록을 필터링할 키워드를 지정합니다. 필요한 경우 검색을 사용하여 API를 찾습니다.
  4. API를 클릭하여 세부정보를 봅니다.
  5. 버전을 클릭합니다.
  6. 버전 추가를 클릭합니다.
  7. 새 버전 추가 양식에 버전 세부정보를 지정합니다. 표시 이름을 제공해야 합니다. 다른 항목은 선택사항입니다.
    • 설명: 버전에 대한 설명을 추가합니다.
    • 수명 주기: API의 수명 주기 단계를 선택합니다.
    • 규정 준수: 규정 준수 속성을 선택합니다.
    • 인증: 인증 속성을 선택합니다.
    • 문서: API 문서의 URL을 입력합니다.
    • 사양 파일: 버전과 연결할 API 사양 파일을 가져옵니다. 버전에 API 사양 추가를 참조하세요.
    • 배포: API와 연결할 배포를 선택합니다.
    • 사용자 정의 속성: 조직이나 팀의 니즈를 기준으로 정의하는 커스텀 속성

REST

API 버전 만들기 API를 사용하여 새 버전을 추가하려면 다음 안내를 따르세요.

curl "https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/apis/API_NAME/versions?version_id=VERSION_ID"
  -H "Authorization: Bearer: $(gcloud auth print-access-token)" -X POST -H "Content-Type: application/json" \
  '{
    "display-name": DISPLAY_NAME
    }'

다음을 바꿉니다.

  • HUB_PROJECT: API 허브 호스트 프로젝트의 이름입니다. 이 호스트 프로젝트는 API 허브가 프로비저닝되었을 때 선택되었습니다.
  • HUB_LOCATION: 호스트 프로젝트의 위치입니다. 이 위치는 API 허브가 프로비저닝되었을 때 선택되었습니다.
  • API_NAME: 버전을 추가할 API 리소스의 이름입니다.
  • VERSION_ID: (선택사항) API 버전의 식별자입니다. 제공하지 않으면 시스템에서 생성된 ID가 사용됩니다. 이름은 4~63자(영문 기준)의 문자열이어야 하며 유효한 문자는 /[a-z][0-9]-/.입니다.
  • DISPLAY_NAME: (필수) 버전의 표시 이름입니다. 원하는 모든 이름을 사용할 수 있습니다.
  • 선택 속성: 요청 본문에 포함하여 버전에 대해 선택적인 속성을 추가하거나 나중에 추가할 수도 있습니다. 자세한 내용은 버전 리소스 설명을 참조하세요.

샘플 출력:

{
  "name": "projects/myproject/locations/myproject/apis/docs-api-1/versions/myversion1",
  "displayName": "My Version 1",
  "createTime": "2024-04-02T18:48:41.162360Z",
  "updateTime": "2024-04-02T18:48:41.162360Z"
}

버전에 API 사양 추가

버전에 API 사양을 추가하려면 다음 옵션 중에서 선택합니다.

버전을 만들 때 사양 추가

UI를 사용하면 버전을 만드는 동시에 API 사양을 추가할 수 있습니다. 액세스할 수 있는 사양에 대한 URL을 제공하거나 시스템에서 직접 사양 파일을 업로드할 수 있습니다.

Console

새 버전에 사양을 추가하려면 다음 안내를 따르세요.

  1. API 버전 만들기에 나열된 단계에 따라 시작합니다. 새 버전 추가 페이지로 가서 선택적으로 사양 파일을 추가할 수 있습니다.
    1. 사양 파일의 표시 이름을 입력합니다.
    2. 사양 파일 형식을 선택합니다.
    3. 유효한 API 사양 파일을 가리키는 URI를 제공하거나 시스템의 API 사양 파일에 대한 정규화된 경로를 제공합니다.
  2. 새 버전 추가 페이지를 작성하고 완료했으면 만들기를 클릭합니다.

기존 버전에 사양 추가

UI 또는 REST API를 사용하여 기존 버전에 API 사양을 추가할 수 있습니다.

Console

UI를 사용하면 버전에 직접 사양 파일을 추가할 수 있습니다.

버전에 사양을 직접 추가하려면 다음 안내를 따르세요.

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

    API 허브로 이동
  2. API를 클릭합니다.
  3. 필터를 사용하여 API 목록을 필터링할 키워드를 지정합니다. 필요한 경우 검색을 사용하여 API를 찾습니다.
  4. API를 선택합니다.
  5. 버전을 선택합니다.
  6. 버전 행 오른쪽에 있는 작업 메뉴에서 버전 수정을 선택합니다.
  7. 유효한 API 사양 파일을 가리키는 URI를 제공하거나 시스템의 API 사양 파일에 대한 정규화된 경로를 제공합니다.

REST

버전에 API 사양을 추가하려면 API 사양 추가 API를 사용합니다.

curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  'https://apihub.googleapis.com/v1/projects/API_PROJECT/locations/API_LOCATION/apis/API_NAME/versions/VERSION_ID/specs?spec_id=SPEC_ID' \
  -d "DATA_FILE or URI"

다음을 바꿉니다.

  • API_PROJECT: API 허브 호스트 프로젝트의 이름입니다. 이 호스트 프로젝트는 API 허브가 프로비저닝되었을 때 선택되었습니다.
  • API_LOCATION: 호스트 프로젝트의 위치입니다. 이 위치는 API 허브가 프로비저닝되었을 때 선택되었습니다.
  • API_NAME: API 리소스 이름입니다.
  • VERSION_ID: API 리소스에 연결된 버전의 ID입니다.
  • SPEC_ID: (선택사항) 사양의 식별자입니다. 입력하지 않으면 시스템에서 생성된 ID가 사용됩니다. 이름은 4~63자(영문 기준)의 문자열이어야 하며 유효한 문자는 /[a-z][0-9]-/.입니다.
  • DATA_FILE or URI: 유효한 API 사양이 포함된 Base64로 인코딩된 파일 또는 사양 링크입니다.

REST 예시

이 예시에서는 API 허브에 Base64로 인코딩된 OpenAPI 사양을 사용하여 새로운 사양을 만듭니다. 업로드 시 API 허브는 사양을 파싱하고 설명적인 메타데이터와 작업 및 정의 항목 집합을 포함하는 새로운 사양 항목을 만듭니다.

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d "@data.json" \
  https://apihub.googleapis.com/v1/projects/myproject/locations/us-central1/apis/docs-api-3/versions/docs-api-1-version-3/specs?spec_id=docs-spec-1

샘플 출력:

{
    "name": "projects/common-dev-1/locations/us-central1/apis/docs-api-3/versions/docs-api-1-version-3/specs/docs-spec-1",
    "displayName": "Test Spec 1",
    "specType": {},
    "contents": {
      "contents": [Base64-encoded contents of an OpenAPI 3.0.2 file] },
    "details": {
      "description": "This is a sample Pet Store Server based on the OpenAPI 3.0 specification.\nYou can find out more about Swagger at [https://swagger.io](https://swagger.io).",
      "openApiSpecDetails": {
        "format": "OPEN_API_SPEC_3_0",
        "version": "1.0.11"
      }
    },
    "createTime": "2024-04-04T22:39:05.674986Z",
    "updateTime": "2024-04-04T22:39:05.674986Z"
  }

사양 세부정보를 반환하려면 다음 안내를 따르세요.

curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" \
  https://apihub.googleapis.com/v1/projects/myproject/locations/us-central1/apis/docs-api-3/versions/docs-api-1-version-3

Output:

{
  "name": "projects/myproject/locations/us-central1/apis/docs-api-3/versions/docs-api-1-version-3",
  "displayName": "Test Version 3",
  "documentation": {},
  "specs": [
    "projects/myproject/locations/us-central1/apis/docs-api-3/versions/docs-api-1-version-3/specs/docs-spec-1"
  ],
  "apiOperations": [
    "projects/myproject/locations/us-central1/apis/docs-api-3/versions/docs-api-1-version-3/operations/listpets",
    "projects/myproject/locations/us-central1/apis/docs-api-3/versions/docs-api-1-version-3/operations/createpets",
    "projects/myproject/locations/us-central1/apis/docs-api-3/versions/docs-api-1-version-3/operations/deletepet",
    "projects/myproject/locations/us-central1/apis/docs-api-3/versions/docs-api-1-version-3/operations/getpetbyid",
    "projects/myproject/locations/us-central1/apis/docs-api-3/versions/docs-api-1-version-3/operations/updatepet"
  ],
  "definitions": [
    "projects/myproject/locations/us-central1/apis/docs-api-3/versions/docs-api-1-version-3/definitions/pet"
  ],
  "createTime": "2024-04-04T14:53:57.299213423Z",
  "updateTime": "2024-04-04T14:53:58.027321138Z"
}

API 리소스에 사양 추가

UI를 사용하여 API 사양을 API 리소스에 추가할 수 있습니다. 이 경우 API에 이미 연결된 버전에 사양을 추가합니다.

Console

API 리소스에 사양을 추가하려면 다음 안내를 따르세요.

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

    API 허브로 이동
  2. API를 클릭합니다.
  3. 필터를 사용하여 API 목록을 필터링할 키워드를 지정합니다. 필요한 경우 검색을 사용하여 API를 찾습니다.
  4. API를 선택합니다.
  5. 사양 파일 추가를 클릭합니다.
  6. 사양 파일 추가 페이지에서 다음을 제공합니다.
    1. 유효한 API 사양 파일을 가리키는 URI를 제공하거나 시스템의 API 사양 파일에 대한 정규화된 경로를 제공합니다.
    2. API 리소스에 연결된 버전을 선택합니다.
    3. 사양 유형을 선택합니다.
  7. 만들기를 클릭합니다.

API 버전 나열

이 섹션에서는 등록된 API와 연결된 버전을 나열하는 방법을 설명합니다.

Console

콘솔에서 등록된 API와 연결된 모든 버전을 보려면 다음 안내를 따르세요.

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

    API 허브로 이동
  2. API를 클릭합니다.
  3. 필터를 사용하여 API 목록을 필터링할 키워드를 지정합니다. 필요한 경우 검색을 사용하여 API를 찾습니다.
  4. API를 선택합니다.
  5. 버전은 API 세부정보 페이지의 버전 표에 나열됩니다.

REST

API 버전 나열 API를 사용하여 등록된 API와 연결된 모든 버전을 보려면 다음 안내를 따르세요.

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

다음을 바꿉니다.

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

샘플 출력:

{}

API 버전 세부정보 확인

이 섹션에서는 속성, 작업, 배포, 사양 파일을 포함하여 API 버전에 대한 세부정보를 가져오는 방법을 설명합니다.

Console

콘솔에서 버전 세부정보를 보려면 다음 안내를 따르세요.

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

    API 허브로 이동
  2. API를 클릭합니다.
  3. 필터를 사용하여 API 목록을 필터링할 키워드를 지정합니다. 필요한 경우 검색을 사용하여 API를 찾습니다.
  4. API를 선택합니다.
  5. 버전 표에서 버전을 클릭하여 버전 세부정보 페이지를 확인합니다.

REST

API 버전 세부정보 가져오기 API를 사용하여 버전의 세부정보를 보려면 다음 안내를 따르세요.

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

다음을 바꿉니다.

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

샘플 출력:

{
  "name": "projects/myproject/locations/us-central1/apis/docs-api-3/versions/docs-api-1-version-3",
  "displayName": "Test Version 3",
  "documentation": {},
  "specs": [
    "projects/myproject/locations/us-central1/apis/docs-api-3/versions/docs-api-1-version-3/specs/docs-spec-1"
  ],
  "apiOperations": [
    "projects/myproject/locations/us-central1/apis/docs-api-3/versions/docs-api-1-version-3/operations/listpets",
    "projects/myproject/locations/us-central1/apis/docs-api-3/versions/docs-api-1-version-3/operations/createpets",
    "projects/myproject/locations/us-central1/apis/docs-api-3/versions/docs-api-1-version-3/operations/deletepet",
    "projects/myproject/locations/us-central1/apis/docs-api-3/versions/docs-api-1-version-3/operations/getpetbyid",
    "projects/myproject/locations/us-central1/apis/docs-api-3/versions/docs-api-1-version-3/operations/updatepet"
  ],
  "definitions": [
    "projects/myproject/locations/us-central1/apis/docs-api-3/versions/docs-api-1-version-3/definitions/pet"
  ],
  "createTime": "2024-04-04T14:53:57.299213423Z",
  "updateTime": "2024-04-04T14:53:58.027321138Z"
}

API 버전 삭제

이 섹션에서는 API 리소스와 연결된 API 버전을 삭제하는 방법을 설명합니다. 모든 기본 사양, 작업, 정의, 연결된 배포가 먼저 삭제된 경우에만 버전을 삭제할 수 있습니다.

Console

버전을 삭제하려면 다음 안내를 따르세요.

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

    API 허브로 이동
  2. API를 클릭합니다.
  3. 필터를 사용하여 API 목록을 필터링할 키워드를 지정합니다. 필요한 경우 검색을 사용하여 API를 찾습니다.
  4. API를 선택합니다.
  5. 버전 표에서 작업 메뉴를 사용하여 특정 버전을 삭제합니다.

REST

API 버전 삭제 API를 사용하여 버전을 삭제하려면 다음 안내를 따르세요.

curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  'https://apihub.googleapis.com/v1/projects/API_PROJECT/locations/API_LOCATION/apis/API_NAME/versions/VERSION_ID'

다음을 바꿉니다.

  • API_PROJECT: API 허브 호스트 프로젝트의 이름입니다. 이 호스트 프로젝트는 API 허브가 프로비저닝되었을 때 선택되었습니다.
  • API_LOCATION: 호스트 프로젝트의 위치입니다. 이 위치는 API 허브가 프로비저닝되었을 때 선택되었습니다.
  • API_NAME: API 리소스 이름입니다.
  • VERSION_ID: 삭제할 버전의 ID입니다.

버전 수정

Console

버전을 수정하려면 다음 안내를 따르세요.

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

    API 허브로 이동
  2. API를 클릭합니다.
  3. 필터를 사용하여 API 목록을 필터링할 키워드를 지정합니다. 필요한 경우 검색을 사용하여 API를 찾습니다.
  4. API를 선택합니다.
  5. 버전 표에서 수정할 버전을 찾습니다.
  6. 버전 행의 오른쪽에 있는 작업 메뉴에서 수정을 선택합니다.
  7. 수정한 후 확인을 클릭하여 변경사항을 저장합니다.

REST

REST API로 버전을 수정하려면 다음 안내를 따르세요.

curl "https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/apis/API_NAME/versions/VERSION_ID"
    -H "Authorization: Bearer: $(gcloud auth print-access-token)" -X PATCH -H "Content-Type: application/json" \
    '{
      "display-name": DISPLAY_NAME.  # Use the request body to specify attribute changes
    }'

다음을 바꿉니다.

  • HUB_PROJECT: API 허브 호스트 프로젝트의 이름입니다. 이 호스트 프로젝트는 API 허브가 프로비저닝되었을 때 선택되었습니다.
  • HUB_LOCATION: 호스트 프로젝트의 위치입니다. 이 위치는 API 허브가 프로비저닝되었을 때 선택되었습니다.
  • API_NAME: 수정할 버전이 있는 API의 이름입니다.
  • VERSION_ID: 수정할 버전의 ID입니다.
  • 요청 본문: 선택적 추가 속성을 요청 본문에 포함하여 수정할 수 있습니다. 이러한 추가 항목은 REST API 참조의 버전 리소스 설명에서 설명합니다.