全部产品
Search
文档中心

阿里云物联网平台:添加服务调用任务

更新时间:Dec 20, 2023

如果您需要同时调用多个设备的异步服务,可使用物联网平台的设备批量服务调用任务。本文介绍该任务的创建方法、运行中Topic及其数据格式的说明,查看状态的具体操作。

前提条件

  • 设备所属产品下已添加物模型服务(异步调用),且多个设备中包含相同服务标识符。具体操作,请参见添加物模型
  • 已在设备端完成物模型服务调用能力开发。具体操作,请参见物模型的调用服务

任务管理流程

  1. 创建设备批量服务调用任务。
    1. 物联网平台控制台对应实例下的监控运维 > 任务管理页面,单击创建任务
    2. 创建任务页面,单击以下参数名称右侧的帮助图标帮助,根据页面提示,配置任务和作业,单击完成
      • 任务配置
        参数说明
        任务名称输入符合规则的任务名称。可自定义。
        任务类型选择类型:设备批量服务调用任务
        任务描述输入该任务的用途等信息,便于您区分不同的任务。
        目标设备、产品或分组
        从设备、产品或分组维度选择可执行任务的设备。
        重要 从分组维度选择设备时,不支持选择动态分组。
        下发给设备的任务执行规则上传规则文件。仅支持.json格式文件,文件大小不能超过64 KB。

        您可单击下载模板,获取规则文件模板。

        例如设备所属产品下物模型服务数据计算标识符Operation_Service调用方式异步,输入参数为数值ANumberA)和数值BNumberB),参数数据类型均为int32,代码示例如下:

        {
            "serviceIdentifier": "Operation_Service",
            "params": {
                "NumberA": 32,
                "NumberB": 56
            }
        }
        • serviceIdentifier:服务唯一标识符。可在物联网平台控制台中,设备所属产品的功能定义中查看。

          如果是自定义(非默认)模块testFb下服务Operation_Service,则参数为"serviceIdentifier": "testFb:Operation_Service",

        • params:服务的入参,可包含多个入参。
      • 作业配置作业配置
        参数说明
        作业执行速率配置根据您的业务需要,设置每分钟作业推送数量。必选配置。
        作业执行的超时配置仅对自定义任务生效。此处无需配置。
        作业开始调度时间可选配置。

        从当前设置操作的时间,开始计算时间。

        设备任务创建成功后,先初始化,直至到达调度时间,才会开始调度执行。

  2. 任务创建完成后,物联网平台通过InvokeThingServiceInvokeThingsService接口调用服务,采用异步方式下行推送请求,然后设备也采用异步方式向物联网平台返回响应结果。

    消息格式如下:

    {
        "id": "123",
        "version": "1.0",
        "params": {
            "Power": "on",
            "WF": "2"
        },
        "method": "thing.service.${tsl.service.identifier}"
    }

    其中,params数据是任务规则文件中params数据;{tsl.service.identifier}是任务规则文件中serviceIdentifier的值。上文规则文件对应消息格式如下:

    {
      "id": "123",
      "version": "1.0",
      "params": {
        "NumberA": 32,
        "NumberB": 56
      },
      "method": "thing.service.Operation_Service"
    }

    设备服务异步调用的Alink协议,请参见设备服务调用(异步调用)

  3. 在物联网平台对应实例下的监控运维 > 任务管理页面,查看已创建任务及当前状态。
    重要 状态为已超时的任务,不可再被调度执行。

    从任务创建完成开始计时,如果任务下作业未在7天内全部执行完成,任务状态显示为已超时

    您可根据实际场景需要,执行以下操作:

    • 在任务列表中,取消执行中状态的任务。
    • 单击目标任务对应的查看,在任务详情页面,查看任务信息和作业执行统计。
      功能页签说明
      任务信息您可以查看任务信息,修改任务描述和作业配置,下载设备任务文件。
      作业概览您可以查看任务下各状态的作业统计。
      • 您可以单击目标设备的查看,在设备详情页面:
        • 单击任务页签,查看该设备下的所有任务列表。
        • 单击日志服务前往查看,在云端运行日志页签的搜索栏,选择业务类型云到设备消息,查看设备任务相关日志。
      • 如果作业未执行成功,单击执行详情,可查看失败原因。
      • 如果作业执行已超时或失败,单击已超时失败的状态按钮,可查看对应状态的作业列表。

        您可以单击列表上方的重新执行,重新执行当前任务下所有已超时和失败的作业。

    • 单击目标任务对应的删除,然后单击确认
      警告 删除设备任务后,与该任务相关的数据被清除,如果有依赖该任务的业务,可能导致服务不可用或影响用户的业务。请谨慎操作。