InvokeDataAPIService

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

QPS限制

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

说明 RAM用户共享阿里云账号配额。

调试

您可以在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
  • BIGINT
  • TIMESTAMP
  • DECIMAL
  • ARRAY
说明
  • ParamType选择ARRAY时,ListParamTypeListParamValue参数会生效。
  • ParamType为其他类型时,ParamValue参数会生效。
Param.N.ListParamValue.N RepeatList ["1","2","3"]

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

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

ARRAY类型的参数值的数据类型。

目前支持类型:

  • VARCHAR
  • INTEGER
  • BIGINT
  • BOOLEAN
  • DECIMAL
  • TIMESTAMP

具体信息,请参见JDBCType

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-v64********

实例ID。您可在物联网平台控制台的实例概览页面,查看当前实例的ID

重要
  • 若有ID值,必须传入该ID值,否则调用会失败。
  • 若无实例概览页面或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一致。
TotalSize Integer 12

返回的查询结果总记录数。

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

JSON格式

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