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 のAPIと、それらに対応するCLIコマンドをサポートしています。 詳しくは、 Using Kubernetes with Code Engine および Using Knative with Code Engine を参照してください。