Code Engine REST API 시작하기

IBM Cloud® Code Engine API를 사용하여 Code Engine 엔티티를 작성하고 관리할 수 있습니다.

API 환경 설정

API에 대해 작업하여 Code Engine 엔티티를 작성하고 관리하려면 API 환경을 설정하십시오.

시작하기 전에 경량의 유연한 명령행 JSON 프로세서인 jq 도구를 다운로드하여 설치하십시오. 이 도구를 사용하면 Code Engine API에서 수신하는 JSON 응답에 대해 작업하기가 더 쉬워집니다.

  1. API에서 예제 Curl 명령을 실행하기 전에 region, api_keyproject_name 의 값을 설정하십시오. 예를 들면 다음과 같습니다.

    region=us-south
    api_key=YOUR_IBM_CLOUD_API_KEY
    project_name=MY_PROJECT_NAME
    
    • 로그인한 IBM Cloud 지역을 검색하려면 ibmcloud region 명령을 실행하십시오.
    • IBM Cloud API 키에 대한 자세한 내용은 ‘사용자 API 키 관리’를 참조하세요.
    • Code Engine 프로젝트에 대한 자세한 정보는 프로젝트 관리 를 참조하십시오.
  2. 유효한 IBM Cloud® Identity and Access Management (IAM) 액세스 토큰이 있는지 확인하십시오. IAM API에 대한 자세한 내용은 ‘API 키를 사용하여 사용자 또는 서비스 ID에 대한 IAM 액세스 토큰 생성’을 참조하세요.

    token=`curl -X POST "https://iam.cloud.ibm.com/identity/token" \
      -H "Content-Type: application/x-www-form-urlencoded" \
      -H "Accept: application/json" \
      -d "grant_type=urn:ibm:params:oauth:grant-type:apikey" \
      -d "apikey=${api_key}" \
      | jq .access_token -r`
    
  3. 1단계에서정의한 인증 토큰 및 변수를 사용하여 프로젝트의 프로젝트 ID를 검색하십시오. 다음 예제에서는 jq 와 함께 curl 를 사용하여 Code Engine API 응답을 구문 분석하고 프로젝트 ID를 변수에 저장하십시오. 예를 들면 다음과 같습니다.

    project_id=`curl -X GET "https://api.${region}.codeengine.cloud.ibm.com/v2/projects" \
       -H "Authorization: ${token}" \
       | jq --arg project_name ${project_name} '.projects[] | select(.name == $project_name) | .id' -r`
    

API에서 Code Engine 애플리케이션에 대한 작업

이제 Code Engine API 환경이 설정되었으므로 애플리케이션 또는 작업과 같은 Code Engine 엔티티에 대해 작업할 준비가 되었습니다. 다음 시나리오에서는 애플리케이션을 작성하고 액세스한 후 애플리케이션을 삭제합니다.

  1. 앱을 작성하십시오. 이전에 설정된 변수 및 프로젝트 ID를 사용하여 URL 을 구성하고 요청을 전송하여 my-app 애플리케이션을 작성하십시오. 예를 들면 다음과 같습니다.

    curl -X POST "https://api.${region}.codeengine.cloud.ibm.com/v2/projects/${project_id}/apps" \
      -H "Authorization: ${token}" \
      -H "Content-Type: application/json" \
      -d '{ \
        "name": "my-app", \
        "image_reference": "icr.io/codeengine/helloworld" \
      }'
    
  2. my-app 애플리케이션에 대한 세부사항을 표시하려면 GET 요청을 전송하십시오. 앱의 이름을 참조해야 합니다. jq 의 마지막 행은 출력을 더 읽기 쉽게 하지만 선택사항입니다.

    curl -X GET "https://api.${region}.codeengine.cloud.ibm.com/v2/projects/${project_id}/apps/my-app" \
      -H "Authorization: ${token}" \
      -H "Content-Type: application/json" \
      | jq .
    
  3. 애플리케이션을 삭제하려면 요청을 다시 보내십시오. 단, 이번에는 GET 메소드 대신 DELETE 메소드를 사용하십시오.

    curl -X DELETE "https://api.${region}.codeengine.cloud.ibm.com/v2/projects/${project_id}/apps/my-app" \
      -H "Authorization: ${token}" \
      -H "Content-Type: application/json"
    
  4. (선택사항) my-app 에 대한 정보를 검색하기 위해 다른 GET 요청을 전송하는 경우, 자원이 더 이상 존재하지 않으므로 404 error 를 수신합니다.

출력 예

{
  "errors": [
    {
      "code": "resource_not_found",
      "message": "Resource not found."
    }
  ],
  "trace": "codeengine-api-34dc0040429941de8c9e02f0f1200af1",
  "status_code": 404
}

다음 단계

이제 환경을 설정하고 API를 사용하여 Code Engine 애플리케이션으로 첫 번째 단계를 수행했으므로 Code Engine API를 추가로 탐색할 준비가 되었습니까?

여러 언어로 된 Code Engine SDK에 대한 자세한 정보 및 예제는 Code Engine API 문서를 참조하십시오.

API를 사용하여 Code Engine 컴포넌트에 대한 작업을 시작하려면 다음을 참조하십시오.

IBM Cloud® Code Engine은 빌드된 기본 기술과 상호 작용할 필요가 없도록 설계되었습니다. 하지만 Kubernetes 또는 Knative를 기반으로 하는 기존 도구를 보유하고 있는 경우에도 Code Engine 를 통해 계속 사용할 수 있습니다. Code Engine 는 Knative 및 Kubernetes API와 해당 CLI 명령어를 지원합니다. 자세한 정보는 Code Engine 와 함께 Kubernetes 사용Code Engine 에서 Knative 사용 의 내용을 참조하십시오.