更新时间:2026-07-13 GMT+08:00
分享

Ray作业接口应用示例

概述

本文指导用户通过调用API的方式执行Ray作业完整流程,包括运行Ray作业、查询作业详情和取消作业运行等。

本流程假设终端租户已经在Console界面完成AI DataLake的服务授权,且已创建工作空间、计算资源和RayJob端点。API的调用方法请参见如何调用API

前提条件

  • 已获取待运行RayJob的工作空间ID。
  • 已创建运行作业的计算资源。
  • 已创建待运行作业的RayJob端点,并获取端点名称。
  • RayJob端点已创建成功并处于“运行中”状态。

运行Ray作业

调用运行作业接口。同时记录接口返回的作业id。
  • 请求示例

    POST /v2/workspaces/{workspace_id}/ray-jobs

    {workspace_id}:工作空间ID,用于资源隔离。

  • Body:
    {
        "name": "Ray-Test",
        "description": "description",
        "endpoint_name": "Ray-Test",
        "config": {
            "entrypoint": "python3 -m estimate_pi 1000000",
            "runtime_env": {
                "working_dir": "obs://ray-shared-csc/ray-job-code.zip", #需替换为作业脚本存储的obs路径,且必须为.zip文件
                "pip": [
                    "numpy=1.16.1"  # 可选值,填写值为涉及pip依赖库,若不涉及可不填
                ],
                "env_vars": {
                    "additionalProp1": "value1",  # 可选值,填写值为环境变量,若不涉及可不填
                    "additionalProp2": "value2",
                    "additionalProp3": "value3"
                }
            }
        }
    }
  • 响应示例
    {
      "job_id" : "ac8111bf-3601-4905-8ddd-b41d3e636a4e"
    }

查询作业详情

调用查询作业详情接口,查看作业的完整配置信息和执行结果。

  • 请求示例

    GET /v2/workspaces/{workspace_id}/ray-jobs/{job_id}

    • {workspace_id}:工作空间ID,用于资源隔离。
    • {job_id}:运行Ray作业里响应体中的“job_id”
  • 响应示例
    {
        "name": "Ray-Test",     
        "description": "description",    
        "config": {
            "entrypoint": "python3 -m estimate_pi 1000000",
            "runtime_env":{
                "working_dir":"obs://ray-shared-csc/ray-job-code.zip",           
                "pip": [
                    "numpy=1.16.1"  # 可选值,填写值为涉及pip依赖库,若不涉及可不填
                ],
                "env_vars": {
                    "additionalProp1": "value1",  # 可选值,填写值为环境变量,若不涉及可不填
                    "additionalProp2": "value2",
                    "additionalProp3": "value3"
                }
            },        
        },
        "endpoint_name": "Ray-Test", 
        "status": "QUEUED"  
    }

取消作业运行

若作业执行异常需要终止,调用取消作业运行接口取消正在执行的作业。仅支持取消处于QUEUED或RUNNING状态的作业。

  • 请求示例:

    POST /v2/workspaces/{workspace_id}/ray-jobs/{job_id}/cancel

    • {workspace_id}:工作空间ID,用于资源隔离。
    • {job_id}:运行Ray作业里响应体中的“job_id”
  • 响应示例
    {
      "id" : "ac8111bf-3601-xxxx-xxxx-b41d3e636a4e"
    }

相关文档