Code Engine REST API の使用を開始する
IBM Cloud® Code Engine API を使用して、Code Engine エンティティーを作成して管理できます。
API 環境のセットアップ
API を使用して Code Engine エンティティーを作成および管理するには、API 環境をセットアップします。
始める前に、 jq
ツールをダウンロードしてインストールします。このツールは、軽量で柔軟なコマンド・ライン JSON プロセッサーです。 このツールにより、 Code Engine API から受け取る JSON 応答の処理が容易になります。
-
API で Curl コマンドの例を実行する前に、
region
、api_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 プロジェクトについて詳しくは、 プロジェクトの管理 を参照してください。
- ログインしている IBM Cloud 地域をディスカバーするには、
-
有効な 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`
-
ステップ 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 エンティティーを操作する準備ができました。 以下のシナリオでは、アプリケーションを作成し、アクセスしてから、そのアプリケーションを削除します。
-
アプリを作成します。 以前に設定した変数とプロジェクト 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" \ }'
-
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 .
-
アプリケーションを削除するには、要求を再度送信しますが、今回は
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"
-
(オプション)
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 を参照してください。