IBM Cloud Docs
Code Engine REST API の使用を開始する

Code Engine REST API の使用を開始する

IBM Cloud® Code Engine API を使用して、Code Engine エンティティーを作成して管理できます。

API 環境のセットアップ

API を使用して Code Engine エンティティーを作成および管理するには、API 環境をセットアップします。

始める前に、 jq ツールをダウンロードしてインストールします。このツールは、軽量で柔軟なコマンド・ライン JSON プロセッサーです。 このツールにより、 Code Engine API から受け取る JSON 応答の処理が容易になります。

  1. API で Curl コマンドの例を実行する前に、 regionapi_key、および project_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 詳しくは、 Using Kubernetes with Code Engine および Using Knative with Code Engine を参照してください。