Task
更新时间: 2026/06/26
在Gitcode上查看源码

ResourceDefinition

uris

  • /redfish/v1/Sms/1/TaskService/Tasks/{taskid}

properties

名称类型是否只读取值范围/枚举值说明
@odata.contextstringtrue-任务服务资源模型的OData描述信息
@odata.idstringtrue-当前任务资源的访问路径
@odata.typestringtrue-任务服务资源的类型
Idstringtrue-指定任务资源的ID。首位为任务类型,后3位为对应类型的序号。任务类型:iBMA、Driver、Firmware_Shell、Software、Firmware、Log、File、Configuration
Namestringtrue-指定任务资源的名称
TaskStatestringtrueNew,Starting,Running,Suspended,Interrupted,Pending,Stopping,Completed,Killed,Exception,Service指定任务资源的状态
StartTimestringtrue-任务的起始时间
EndTimestringtrue-任务的结束时间
Messagesobjecttrue-任务的相关信息
Messages.@odata.typestringtrue-信息类型
Messages.MessageIdstringtrue-信息编号
Messages.RelatedPropertiesarraytrue-任务属性描述
Messages.Messagestringtrue-任务信息
Messages.MessageArgsarraytrue-任务的详细信息,对应原有进度查询的log属性
Messages.SeveritystringtrueOK,Warning,Critical任务状态
Messages.Resolutionstringtrue-解决任务状态的处理建议
Oemobjecttrue-自定义属性
Oem.Publicobjecttrue-自定义属性
Oem.Public.Progressstringtrue-任务完成进度

supported_methods

  • GET
  • POST

HTTP methods

GET

命令功能

查询指定任务资源信息

命令格式

URL: https://device_ip/redfish/v1/Sms/1/TaskService/Tasks/taskid

请求头:


X-Auth-Token: 123456789***********************

请求消息体: 无

参数说明

参数参数说明取值
device_ip登录设备的IP地址IPv4或IPv6地址
auth_value请求消息的鉴权参数可通过/redfish/v1/SessionService/Sessions创建会话时获得
taskid待查询任务的ID可从任务集合资源中获得

使用指南

使用实例

请求样例:

http
GET https://device_ip/redfish/v1/Sms/1/TaskService/Tasks/1001

请求头:


X-Auth-Token: 123456789***********************

请求消息体:无

响应样例:

json
{
  "@odata.context": "/redfish/v1/Sms/1/$metadata#TaskService/Tasks/Members/$entity",
  "@odata.type": "#Task.v1_0_3.Task",
  "@odata.id": "/redfish/v1/Sms/1/TaskService/Tasks/8",
  "Id": "1001",
  "Name": "Upgarde Task",
  "TaskState": "Running",
  "StartTime": "2000-03-02T11:09:02+00:00",
  "EndTime": "2000-03-02T12:09:02+00:00",
  "Messages": {
    "@odata.type": "#Message.v1_0_4.Message",
    "MessageId": "iBMC.1.0.FirmwareUpgradeComponent",
    "RelatedProperties": [],
    "Message": "Upgrading the Motherboard CPLD.",
    "MessageArgs": [
      "Motherboard CPLD"
    ],
    "Severity": "OK",
    "Resolution": "Wait until the upgrade is complete."
  },
  "Oem": {
    "Public": {
      "Progress": "8"
    }
  }
}

响应码:200

POST (ACTION)

CollectLog

命令功能

收集日志资源

命令格式

URL: https://device_ip/redfish/v1/Sms/1/Systems/1/LogServices/iBMA/Actions/LogService.CollectLog

请求头:


X-Auth-Token: 123456789***********************
Content-Type: header_type

请求消息体:

json
{
  "Type": type,
  "SoftwareName": software_name,
  "SoftwareParameter": software_parameter,
  "TargetDevice": target_device,
  "MaxLogSizeMib": max_log_size_mib,
  "Protocol": protocol,
  "Port": port,
  "User": user,
  "Password": password,
  "LogPath": log_path,
  "UploadViaiBMC": upload_via_ibmc
}

请求头参数说明

参见 请求头参数说明

请求体参数说明

参数参数说明取值
type日志类型iBMA:收集iBMA的日志;SMART:收集硬盘SMART日志;Software:收集iBMA管理的软件日志(iBMA 2.2.0.1及以上版本支持)
software_name软件名称(iBMA 2.2.0.1及以上版本支持)Type为Software时有效,必须传入该参数;受iBMA管理的软件名称。支持字母、数字、连字符、下划线、句点、半角冒号和空格
software_parameter日志收集参数(iBMA 2.2.0.1及以上版本支持)Type为Software时有效,选填参数。支持字母、数字、连字符、下划线、句点、半角逗号和空格,最大长度100字符
target_device目标设备IP地址收集到的日志回传的目标设备IP地址
max_log_size_mib日志最大限制收集到的日志大小限制,如果收集到的日志文件超出大小限制,则需要对日志文件进行过滤,只收集最新的日志;0表示没有限制
protocol传输协议类型SFTP
port传输端口号1~65535
user用户名小于32字符
password密码小于32字符
log_path日志存放路径路径长度小于等于200字符。字符串必须以/开头,多级路径以/分隔,且路径名只能为字符集"A-Za-z0-9_-."中的字符
upload_via_ibmc是否通过BMC上传默认为true。true:通过BMC上传文件;false:通过业务网口上传文件

使用指南

使用实例

请求样例:

http
POST https://device_ip/redfish/v1/Sms/1/Systems/1/LogServices/iBMA/Actions/LogService.CollectLog

请求头:


X-Auth-Token: 123456789***********************
Content-Type: application/json

请求消息体1:

json
{
  "Type": "iBMA",
  "TargetDevice": "192.168.2.100",
  "MaxLogSizeMib": 1,
  "Protocol": "SFTP",
  "Port": 22,
  "User": "userexp",
  "Password": "pswexp",
  "LogPath": "/tmp",
  "UploadViaiBMC": false
}

响应样例1:

json
{
  "status": "200",
  "message": "Collect task is running background.",
  "TaskId": "6001"
}

响应码:200

请求消息体2:

json
{
  "Type": "Software",
  "SoftwareName": "AIE",
  "SoftwareParameter": "",
  "TargetDevice": "192.168.2.100",
  "MaxLogSizeMib": 0,
  "Protocol": "SFTP",
  "Port": 22,
  "User": "userexp",
  "Password": "pswexp",
  "LogPath": "/tmp",
  "UploadViaiBMC": false
}

响应样例2:

json
{
  "status": "200",
  "message": "Collect task is running background.",
  "TaskId": "6001"
}

响应码:200