為指定集群創建一個作業。
接口說明
請確保在使用該接口前,已充分了解 E-HPC 產品的收費方式和價格。
調試
您可以在OpenAPI Explorer中直接運行該接口,免去您計算簽名的困擾。運行成功后,OpenAPI Explorer可以自動生成SDK代碼示例。
授權信息
下表是API對應的授權信息,可以在RAM權限策略語句的Action
元素中使用,用來給RAM用戶或RAM角色授予調用此API的權限。具體說明如下:
- 操作:是指具體的權限點。
- 訪問級別:是指每個操作的訪問級別,取值為寫入(Write)、讀取(Read)或列出(List)。
- 資源類型:是指操作中支持授權的資源類型。具體說明如下:
- 對于必選的資源類型,用背景高亮的方式表示。
- 對于不支持資源級授權的操作,用
全部資源
表示。
- 條件關鍵字:是指云產品自身定義的條件關鍵字。
- 關聯操作:是指成功執行操作所需要的其他權限。操作者必須同時具備關聯操作的權限,操作才能成功。
操作 | 訪問級別 | 資源類型 | 條件關鍵字 | 關聯操作 |
---|---|---|---|---|
ehpc:CreateJob | create |
|
| 無 |
請求參數
名稱 | 類型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
ClusterId | string | 是 | 集群 ID。 您可以通過調用 ListClusters 獲取集群 ID。 | ehpc-hz-FYUr32**** |
JobName | string | 否 | 作業名稱。 | TestJob |
JobSpec | object | 否 | 作業配置信息。 | |
CommandLine | string | 是 | 作業運行命令或腳本,如果是命令,需指定命令完整路徑,如: /bin/ping; 如果希望通過腳本運行作業,則對應腳本需要有可執行權限。集群側默認以用戶根目錄作為腳本默認路徑,即~/目錄。如您的腳本不在該目錄下,需在該參數中指定完整路徑,如:/home/xxx/job.sh。請注意在這種方式下,如果腳本中指定了 CPU、內存等資源需求,作業將以腳本中指定的資源為準,請不要在 Resource 參數中指定相關資源需求,否則作業可能運行失敗。 如果希望直接通過命令行命令運行作業,則需要指定命令的絕對路徑,并在前面添加--,如:-- /bin/ping -c 10 localhost | /home/xxx/test.job |
RunasUser | string | 否 | 提交作業所使用的用戶,該用戶屬于集群側用戶 | testuser |
RunasUserPassword | string | 否 | RunasUser 參數所指定用戶的密碼 | xxx |
Priority | string | 否 | 作業優先級 | 1 |
StdoutPath | string | 否 | 作業標準輸出文件,需要指定完整路徑 | /home/xxx/job.out |
StderrPath | string | 否 | 作業標準錯誤輸出文件,需要指定完整路徑 | /home/xxx/job.err |
JobQueue | string | 否 | 作業所屬隊列。 | comp |
ArrayRequest | string | 否 | 數組作業參數。 格式為 X-Y:Z, 最小值 X 是第一個索引,最大值 Y 是最后一個索引,Z 表示步長,例如 2-7:2,表示作業隊列包含編號為 2、4、6 的 3 個子作業。 | 1-5:2 |
Variables | string | 否 | 作業的環境變量。json 數組格式的字符串,每個數組成員為 json 格式對象,包含 Name 和 Value 兩個成員,Name 表示環境變量的名稱,Value 表示環境變量的值。 | [{"Name":"x", "Value":"y"}] |
PostCmdLine | string | 否 | 作業后處理命令。 | /bin/sleep 10 |
WallTime | string | 否 | 作業最大運行時間,格式為 | 360:48:50 |
Resources | object | 否 | 作業所需資源配置。 | |
Nodes | integer | 否 | 作業需要分配的計算節點數。 | 2 |
Cores | integer | 否 | 作業每個計算節點需要分配的 CPU 核數。 | 2 |
Memory | string | 否 | 作業每個計算節點需要分配的內存大小,字符串格式,包含單位,mb(M 字節)或 gb(千兆字節)。 | 4gb |
Gpus | integer | 否 | 作業每個計算節點需要分配的 GPU 數。 | 1 |
返回參數
示例
正常返回示例
JSON
格式
{
"RequestId": "A0A38A38-1565-555E-B597-E48A2E******",
"JobId": "Submitted batch job 10\\n",
"Success": "true"
}
錯誤碼
HTTP status code | 錯誤碼 | 錯誤信息 | 描述 |
---|---|---|---|
400 | InvalidParams | The specified parameter %s is invalid. | 指定的參數 %s 無效。 |
403 | InvalidClusterStatus | The operation failed due to invalid cluster status. | 集群狀態不允許執行本次操作。 |
404 | ClusterNotFound | The specified cluster does not exist. | 指定的集群不存在,請您檢查該參數是否正確。 |
406 | EcsError | An error occurred while calling the ECS API operation. | ECS API調用出錯 |
406 | AgentError | The agent service request failed: %s | 操作未成功:%s |
406 | AgentError.Job.SubmitFailure | Failed to submit jobs: %s | 提交作業失敗: {%s} |
406 | AgentError.Job.DeleteFailure | Failed to delete job: %s | 刪除作業失敗: {} |
406 | AgentError.Job.InvalidContainerType | Unsupported container type: %s. | 無效容器類型:%s |
406 | AgentError.Job.ListFailure | Failed to list jobs: %s. | 獲取作業列表失敗:{} |
406 | AgentError.Job.RerunFailure | Failed to run the job again: %s. | 重運行作業失敗: {} |
406 | AgentError.Job.StopFailure | Failed to stop jobs: %s. | 停止作業失敗:{} |
503 | ServiceUnavailable | The request has failed due to a temporary failure of the server | 請求失敗,服務暫時不可用 |
訪問錯誤中心查看更多錯誤碼。