API 만들기

기본 요건

API 게이트웨이에서 API를 만들려면 먼저 다음을 확인해야 합니다.

API ID 요구사항

아래 표시된 많은 gcloud 명령에서는 API_ID 형식으로 API의 ID를 지정해야 합니다. API 게이트웨이는 API ID에 대해 다음 요구사항을 적용합니다.

  • 최대 63자여야 합니다.
  • 소문자, 숫자, 대시만 포함해야 합니다.
  • 대시로 시작해서는 안 됩니다.
  • 밑줄을 포함해서는 안 됩니다.

API 만들기

API를 만들려면 다음 안내를 따르세요.

  1. 잘못된 프로젝트에 서비스가 만들어지지 않도록 다음 명령어로 반환되는 프로젝트 ID의 유효성을 검사합니다.

    gcloud config list project

    기본 프로젝트를 변경해야 하는 경우 다음 명령어를 실행하고 PROJECT_ID를 서비스를 만들 Google Cloud 프로젝트의 ID로 바꿉니다.

    gcloud config set project PROJECT_ID

    프로젝트 ID에 콜론(:)이 포함된 경우 도메인 범위 프로젝트에서 프로젝트에서 API 만들기에 대한 세부정보를 참조하세요.

  2. apis create 명령어 도움말을 확인합니다.

    gcloud api-gateway apis create --help
  3. 다음 명령어를 실행하여 API를 만듭니다.

    gcloud api-gateway apis create API_ID --project=PROJECT_ID

    각 항목의 의미는 다음과 같습니다.

    • API_ID는 새 API의 ID를 지정합니다. API ID 이름 지정 가이드라인은 API 이름 지정 요구사항을 참조하세요.
    • PROJECT_ID는 Google Cloud 프로젝트 ID를 지정합니다.

    API가 생성될 때 API 게이트웨이가 터미널에 정보를 출력합니다.

  4. 성공적으로 완료되었으면 다음 명령어를 사용하여 새 API에 대한 세부정보를 볼 수 있습니다.

    gcloud api-gateway apis describe API_ID --project=PROJECT_ID

    이 명령어는 다음을 반환합니다.

    createTime: '2020-02-29T21:52:20.297426875Z'
    displayName: API_ID
    managedService: MANAGED_SERVICE_NAME.apigateway.PROJECT_ID.cloud.goog
    name: projects/PROJECT_ID/locations/global/apis/API_ID
    state: ACTIVE
    updateTime: '2020-02-29T21:52:20.647923711Z'

gcloud 옵션

Google Cloud CLI에는 gcloud 참조에 설명된 것을 포함하여 많은 옵션이 사용됩니다. 또한 API 게이트웨이의 경우 API를 만들 때 다음 옵션을 설정할 수 있습니다.

  • --async: 작업이 완료될 때까지 기다릴 필요 없이 터미널로 제어권을 즉시 반환합니다.
  • --display-name=NAME: API의 표시 이름 즉, UI에 표시되는 이름을 지정합니다. 이름에 공백을 사용하지 마세요. 대신 하이픈과 밑줄을 사용하세요. 기본값은 API_ID입니다.
  • --labels=KEY1=VALUE1,KEY2=VALUE2,...: API 구성과 연결된 라벨을 지정합니다.
  • --managed-service: API에 대해 기존 관리형 서비스(예: 기존 Endpoints 서비스)를 지정합니다.

도메인 범위 프로젝트

프로젝트 범위가 도메인으로 지정된 경우 example.com:my-project와 같이 프로젝트 ID에 콜론(:)과 도메인 이름이 포함됩니다. 도메인 범위 프로젝트에서 API를 만들 때는 적합한 관리형 서비스를 제공해야 합니다.

gcloud를 사용하는 경우에는 gcloud 옵션에 설명된 대로 --managed-service 플래그를 사용해서 관리형 서비스 이름을 제공합니다.

API 나열

프로젝트의 모든 API를 나열하려면 다음 안내를 따르세요.

gcloud api-gateway apis list --project=PROJECT_ID

이 명령어는 다음 형식으로 출력을 반환합니다.

NAME                                              DISPLAY_NAME  MANAGED_SERVICE                          STATE
projects/PROJECT_ID/locations/global/apis/API_ID  API_ID        MANAGED_SERVICE_NAME.apigateway.PROJECT_ID.cloud.goog  ACTIVE

프로젝트 ID 및 API ID를 사용해서 API에 대해 자세한 정보를 가져옵니다.

gcloud api-gateway apis describe API_ID --project=PROJECT_ID

API 업데이트

API를 만든 후에는 기존 API의 라벨 및 표시 이름을 업데이트할 수 있습니다. 다음 gcloud 옵션을 사용하여 기존 API를 업데이트합니다.

  • --display-name
  • --update-labels
  • --clear-labels
  • --remove-labels

예를 들면 다음과 같습니다.

gcloud api-gateway apis update API_ID --project=PROJECT_ID \
  --update-labels=a=1,b=2

다음 명령어를 사용하여 모든 업데이트 옵션을 확인합니다.

gcloud api-gateway apis update --help

API 삭제

API를 삭제하려면 다음을 수행해야 합니다.

  • API와 연결된 API 구성을 삭제합니다.
  • API를 삭제합니다.

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

  1. API와 연결된 API 구성 목록을 확인합니다.

    gcloud api-gateway api-configs list --api=API_ID --project=PROJECT_ID
  2. API와 연결된 각 API를 삭제합니다.

    gcloud api-gateway api-configs delete CONFIG_ID --api=API_ID --project=PROJECT_ID
  3. API를 삭제합니다.

    gcloud api-gateway apis delete API_ID --project=PROJECT_ID

다음 단계