IBM Cloud Docs
开始使用 Code Engine REST API

开始使用 Code Engine REST API

您可以使用 IBM Cloud® Code Engine API 来创建和管理 Code Engine 实体。

设置应用程序接口环境

要使用 API 来创建和管理 Code Engine 实体,请设置 API 环境。

开始之前,请 下载并安装 jq 工具,这是一个轻量级且灵活的命令行 JSON 处理器。 此工具使您能够更轻松地使用从 Code Engine API 收到的 JSON 响应。

  1. 在 API 中运行示例 Curl 命令之前,请设置 regionapi_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 密钥为用户或服务标识创建 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 中定义的变量来检索项目的项目标识。 在以下示例中,将 curljq 配合使用以解析 Code Engine API 响应并将项目标识保存在变量中。 例如

    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. 创建应用程序。 使用先前设置的变量和项目标识来构造 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. 要删除应用程序,请再次发送请求,但此时请使用 DELETE 方法而不是 GET 方法。

    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. (可选) 如果您发送另一个 GET 请求以检索有关 my-app 的信息,那么将收到 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 命令。 有关更多信息,请参阅 将 Kubernetes 与 Code Engine将 Knative 与 Code Engine 配合使用。