API 만들기
기본 요건
API 게이트웨이에서 API를 만들려면 먼저 다음을 확인해야 합니다.
- 개발 환경 구성에 설명된 대로 개발 환경이 준비되었습니다.
API ID 요구사항
아래 표시된 많은 gcloud
명령에서는 API_ID 형식으로 API의 ID를 지정해야 합니다.
API 게이트웨이는 API ID에 대해 다음 요구사항을 적용합니다.
- 최대 63자여야 합니다.
- 소문자, 숫자, 대시만 포함해야 합니다.
- 대시로 시작해서는 안 됩니다.
- 밑줄을 포함해서는 안 됩니다.
API 만들기
API를 만들려면 다음 안내를 따르세요.
잘못된 프로젝트에 서비스가 만들어지지 않도록 다음 명령어로 반환되는 프로젝트 ID의 유효성을 검사합니다.
gcloud config list project
기본 프로젝트를 변경해야 하는 경우 다음 명령어를 실행하고 PROJECT_ID를 서비스를 만들 Google Cloud 프로젝트의 ID로 바꿉니다.
gcloud config set project PROJECT_ID
프로젝트 ID에 콜론(
:
)이 포함된 경우 도메인 범위 프로젝트에서 프로젝트에서 API 만들기에 대한 세부정보를 참조하세요.apis create
명령어 도움말을 확인합니다.gcloud api-gateway apis create --help
다음 명령어를 실행하여 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 게이트웨이가 터미널에 정보를 출력합니다.
성공적으로 완료되었으면 다음 명령어를 사용하여 새 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를 삭제하려면 다음 안내를 따르세요.
API와 연결된 API 구성 목록을 확인합니다.
gcloud api-gateway api-configs list --api=API_ID --project=PROJECT_ID
API와 연결된 각 API를 삭제합니다.
gcloud api-gateway api-configs delete CONFIG_ID --api=API_ID --project=PROJECT_ID
API를 삭제합니다.
gcloud api-gateway apis delete API_ID --project=PROJECT_ID