调用该接口调用数据算法服务API,获取SQL查询结果。

限制条件

单阿里云账号调用该接口的每秒请求数(QPS)最大限制为1。

说明 子账号共享主账号配额。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String InvokeDataAPIService

系统规定参数。取值:InvokeDataAPIService。

ApiSrn String acs:iot:*:127103983461****:serveapi/device/getDeviceCountByStatus2

API资源标识符,API的全局唯一标识。 调用CreateDataAPIService接口成功创建API,返回的ApiSrn值。

格式:acs:iot:*:${aliyunuserID}:serveapi/${ApiPath}

示例:acs:iot:*:127103983461****:serveapi/device/getDeviceCountByStatus2

以上示例中的信息说明如下:

  • 127103983461****是阿里云主账号ID。
  • /device/getDeviceCountByStatus是请求参数ApiPath的值,即API调用地址的自定义部分。
Param.N.ParamType String VARCHAR

数据类型。目前只支持VARCHAR、INTEGER、BOOLEAN、BIGING、TIMESTAMP、DECIMAL和ARRAY类型。

说明 当paramType选择ARRAY时,ListParamType和ListParamValue参数会生效;paramType为其他类型时,paramValue参数会生效。
Param.N.ListParamValue.N RepeatList ["1","2","3"]

ARRAY类型的参数值列表。数组中只能放置一组类型相同的数据,例如放置数值类型数据,则全部数据为数值类型。

说明 统一使用String类型存储,平台会跟据ListParamType对应的值转换成JDBC类型对象。
Param.N.ListParamType String VARCHAR

ARRAY类型的参数值的数据类型。请参见JDBCType

目前仅支持VARCHAR、INTEGER、BIGINT、BOOLEAN、DECIMAL、TIMESTAMP。

Param.N.ParamName String status

调用API的入参参数名称。必须与调用CreateDataAPIService接口创建API时,RequestParam中定义的Name保持一致。

Param.N.ParamValue String 1

调用API的入参参数值。

  • 统一使用String类型存储,物联网平台会根据创建API时定义的ParamType转换成JDBC类型对象。
  • 创建API时,如果API请求参数类型Type定义为ARRAY类型,则不传入该参数,而需传入ListParamTypeListParamValue
IotInstanceId String iot_instc_pu****_c*-v64********

公共实例不传此参数;您购买的实例需传入实例ID。

调用API时,除了本文介绍的该API的特有请求参数,还需传入公共请求参数。公共请求参数说明,请参见 公共参数文档

返回数据

名称 类型 示例值 描述
Code String Success

调用失败时,返回的错误码。详情请参见错误码

Data Struct

调用成功时,返回注册的设备信息。

ApiSrn String acs:iot:*:127103983461****:serveapi/device/getDeviceCountByStatus2

API资源标识符,API的全局唯一标识。

示例:acs:iot:*:127103983461****:serveapi/device/getDeviceCountByStatus2

以上示例中的信息说明如下:

  • 127103983461****是阿里云主账号ID。
  • /device/getDeviceCountByStatus是API调用地址的自定义部分。
FieldNameList List {"FieldNameList": ["deviceCount"]}

结果字段列表。 列表元素即调用CreateDataAPIService接口创建API时,ResponseParam中的Name定义的参数名称。

PageNo Integer 0

显示的查询结果的页码。分页码从0开始,默认为0。

如果您要自定义显示结果页,建议您在请求参数中增加自定义参数,如pageNo

PageSize Integer 1

每页显示的查询结果记录数。

如果您要自定义每页显示的记录数,建议您在请求参数中增加自定义参数,如pageSize

ResultList List [{"deviceCount": 47}]

返回的SQL处理结果。根据调用CreateDataAPIService接口创建API时,ResponseParam中的Name参数,返回处理结果。

列表元素Map<String, Object>说明如下:

  • key是String类型,是Name定义的参数名称。
  • Object是参数对应的值,其数据类型与ResponseParam中的Type一致。
ErrorMessage String 请求参数错误

调用失败时,返回的出错信息。

RequestId String E68FE5DC-4D7B-4987-B785-DF8C6F191F5D

阿里云为该请求生成的唯一标识符。

Success Boolean true

表示是否调用成功。true表示调用成功,false表示调用失败。

示例

请求示例

http(s)://iot.cn-shanghai.aliyuncs.com/?Action=InvokeDataAPIService
&ApiSrn=acs:iot:*:127103983461****:serveapi/device/getDeviceCountByStatus2
&Param.1.ParamName=status
&Param.1.ParamValue=1
&<公共请求参数>

正常返回示例

XML 格式

<InvokeDataAPIServiceResponse>
      <Data>
            <ResultList>
                  <ResultList>
                        <deviceCount>47</deviceCount>
                  </ResultList>
            </ResultList>
            <PageSize>1</PageSize>
            <PageNo>0</PageNo>
            <ApiSrn>acs:iot:*:127103983461****:serveapi/device/getDeviceCountByStatus2</ApiSrn>
            <FieldNameList>
                  <FieldNameList>deviceCount</FieldNameList>
            </FieldNameList>
      </Data>
      <RequestId>E68FE5DC-4D7B-4987-B785-DF8C6F191F5D</RequestId>
      <Success>true</Success>
</InvokeDataAPIServiceResponse>

JSON 格式

{
  "Data": {
    "ResultList": {
      "ResultList": [{
          "deviceCount": 47
        }]
    },
    "PageSize": 1,
    "PageNo": 0,
    "ApiSrn": "acs:iot:*:127103983461****:serveapi/device/getDeviceCountByStatus2",
    "FieldNameList": {
      "FieldNameList": ["deviceCount"]
    }
  },
  "RequestId": "E68FE5DC-4D7B-4987-B785-DF8C6F191F5D",
  "Success": true
}