'1.0', 'info' => ['style' => 'RPC', 'product' => 'Iot', 'version' => '2018-01-20'], 'directories' => [ [ 'children' => ['BatchGrayMigrationDevice'], 'type' => 'directory', 'title' => 'Instance Migration', ], [ 'children' => ['CreateProduct', 'QueryProduct', 'QueryProductList', 'UpdateProduct', 'DeleteProduct', 'CreateProductTags', 'UpdateProductTags', 'DeleteProductTags', 'ListProductTags', 'ListProductByTags', 'UpdateProductFilterConfig', 'QueryProductCertInfo', 'SetProductCertInfo', 'ReleaseProduct', 'CancelReleaseProduct'], 'type' => 'directory', 'title' => 'Product Management', ], [ 'children' => [ 'RegisterDevice', 'QueryClientIds', 'TransformClientId', 'DeleteClientIds', 'QueryDeviceInfo', 'QueryDeviceDetail', 'BatchQueryDeviceDetail', 'QueryDevice', 'DeleteDevice', 'GetDeviceStatus', 'BatchGetDeviceState', 'DisableThing', 'EnableThing', 'ResetThing', 'BatchCheckDeviceNames', 'BatchRegisterDeviceWithApplyId', 'BatchRegisterDevice', 'BatchUpdateDeviceNickname', 'QueryBatchRegisterDeviceStatus', 'QueryPageByApplyId', 'GetGatewayBySubDevice', 'QueryDeviceProp', 'SaveDeviceProp', 'DeleteDeviceProp', 'QueryDeviceByTags', 'GetThingTopo', 'NotifyAddThingTopo', 'BatchAddThingTopo', 'RemoveThingTopo', 'QueryDeviceStatistics', 'QueryLoRaJoinPermissions', 'CreateLoRaNodesTask', 'GetLoraNodesTask', 'QueryDeviceFileList', 'QueryDeviceFile', 'DeleteDeviceFile', 'QueryDeviceCert', 'QueryCertUrlByApplyId', 'QueryDeviceByStatus', 'QueryDeviceBySQL', 'ImportDevice', 'BatchImportDevice', 'QueryImportedDeviceByApplyId', 'BatchCheckImportDevice', 'BatchImportVehicleDevice', 'BatchCheckVehicleDevice', 'QueryVehicleDevice', ], 'type' => 'directory', 'title' => 'Device Management', ], [ 'children' => ['CreateDeviceDistributeJob', 'CreateProductDistributeJob', 'QueryDeviceDistributeDetail', 'QueryDeviceDistributeJob', 'ListDeviceDistributeJob', 'DeleteDeviceDistributeJob', 'ListDistributedDevice', 'ListDistributedProduct', 'QueryDeviceProvisioning'], 'type' => 'directory', 'title' => 'Device Distribution', ], [ 'children' => ['CreateDeviceTunnel', 'CloseDeviceTunnel', 'DeleteDeviceTunnel', 'QueryDeviceTunnel'], 'type' => 'directory', 'title' => 'Secure Tunnel Management', ], [ 'children' => ['CreateDeviceGroup', 'CreateDeviceDynamicGroup', 'UpdateDeviceGroup', 'DeleteDeviceGroup', 'DeleteDeviceDynamicGroup', 'BatchAddDeviceGroupRelations', 'BatchDeleteDeviceGroupRelations', 'QueryDeviceGroupInfo', 'QueryDynamicGroupDevices', 'QueryDeviceGroupList', 'SetDeviceGroupTags', 'QueryDeviceGroupTagList', 'QueryDeviceGroupByDevice', 'QuerySuperDeviceGroup', 'QueryDeviceListByDeviceGroup', 'QueryDeviceGroupByTags'], 'type' => 'directory', 'title' => 'Group Management', ], [ 'children' => ['CreateThingModel', 'UpdateThingModel', 'QueryThingModel', 'CopyThingModel', 'PublishThingModel', 'DeleteThingModel', 'ListThingTemplates', 'GetThingTemplate', 'ListThingModelVersion', 'GetThingModelTsl', 'ImportThingModelTsl', 'QueryThingModelPublished', 'GetThingModelTslPublished', 'QueryThingModelExtendConfig', 'QueryThingModelExtendConfigPublished', 'CreateThingScript', 'UpdateThingScript', 'GetThingScript'], 'type' => 'directory', 'title' => 'Thing Specification Language Model Management', ], [ 'children' => ['SetDeviceProperty', 'SetDevicesProperty', 'InvokeThingService', 'InvokeThingsService', 'QueryDevicePropertyData', 'QueryDevicePropertiesData', 'QueryDeviceEventData', 'QueryDeviceServiceData', 'SetDeviceDesiredProperty', 'QueryDeviceDesiredProperty', 'QueryDevicePropertyStatus', 'QueryDeviceOriginalPropertyStatus', 'QueryDeviceOriginalPropertyData', 'QueryDeviceOriginalEventData', 'QueryDeviceOriginalServiceData', 'ClearDeviceDesiredProperty'], 'type' => 'directory', 'title' => 'Thing Specification Language Model Usage', ], [ 'children' => ['CreateJob', 'GenerateFileUploadURL', 'UpdateJob', 'QueryJob', 'ListJob', 'CancelJob', 'DeleteJob', 'ListTask', 'QueryTask', 'QueryJobStatistics', 'RerunJob'], 'type' => 'directory', 'title' => 'Task Management', ], [ 'children' => ['CreateProductTopic', 'UpdateProductTopic', 'QueryProductTopic', 'DeleteProductTopic', 'CreateTopicRouteTable', 'QueryTopicRouteTable', 'QueryTopicReverseRouteTable', 'DeleteTopicRouteTable'], 'type' => 'directory', 'title' => 'Topic Management', ], [ 'children' => ['CreateRule', 'CreateRuleAction', 'DeleteRule', 'DeleteRuleAction', 'GetRule', 'GetRuleAction', 'ListRule', 'ListRuleActions', 'StartRule', 'StopRule', 'UpdateRule', 'UpdateRuleAction'], 'type' => 'directory', 'title' => 'Data Forwarding (Legacy)', ], [ 'children' => [ 'CreateParser', 'UpdateParser', 'ListParser', 'GetParser', 'DeleteParser', 'CreateParserDataSource', 'UpdateParserDataSource', 'ListParserDataSource', 'GetParserDataSource', 'DeleteParserDataSource', 'CreateDataSourceItem', 'ListDataSourceItem', 'DeleteDataSourceItem', 'CreateDestination', 'UpdateDestination', 'ListDestination', 'DeleteDestination', 'GetDestination', 'AttachParserDataSource', 'AttachDestination', 'DetachParserDataSource', 'DetachDestination', 'ListParserDestination', 'PublishScript', 'SaveScript', 'StartParser', 'StopParser', ], 'type' => 'directory', 'title' => 'Data Forwarding (New)', ], [ 'children' => ['ListAnalyticsData', 'WriteDevicesHotStorageData', 'QueryDevicesHotStorageDataStatus', 'QueryDevicesHotStorageData', 'ResetDeviceTimeline', 'CreateDataAPIService', 'GetDataAPIServiceDetail', 'InvokeDataAPIService', 'AddDataForApiSource', 'BatchAddDataForApiSource', 'CreateDownloadDataJob', 'GetDownloadFile'], 'type' => 'directory', 'title' => 'DataService Studio', ], [ 'children' => ['BatchPub', 'Pub', 'PubBroadcast', 'RRpc', 'AsyncRRpc', 'QueryMessageInfo', 'SubscribeTopic', 'QueryDeviceSubTopic', 'UpdateTopicConfig'], 'type' => 'directory', 'title' => 'Message Communication', ], [ 'children' => ['CreateSubscribeRelation', 'UpdateSubscribeRelation', 'QuerySubscribeRelation', 'DeleteSubscribeRelation', 'CreateConsumerGroup', 'UpdateConsumerGroup', 'QueryConsumerGroupByGroupId', 'QueryConsumerGroupList', 'QueryConsumerGroupStatus', 'ResetConsumerGroupPosition', 'DeleteConsumerGroup', 'CreateConsumerGroupSubscribeRelation', 'DeleteConsumerGroupSubscribeRelation'], 'type' => 'directory', 'title' => 'Server-Side Subscription', ], [ 'children' => ['GetDeviceShadow', 'UpdateDeviceShadow'], 'type' => 'directory', 'title' => 'Device Shadow', ], [ 'children' => [ 'GenerateOTAUploadURL', 'GenerateDeviceNameListURL', 'CreateOTAFirmware', 'ModifyOTAFirmware', 'DeleteOTAFirmware', 'ListOTAFirmware', 'QueryOTAFirmware', 'CreateOTAVerifyJob', 'CreateOTAStaticUpgradeJob', 'CreateOTADynamicUpgradeJob', 'ListOTAJobByFirmware', 'ListOTAJobByDevice', 'ListOTATaskByJob', 'QueryOTAJob', 'CancelOTAStrategyByJob', 'CancelOTATaskByJob', 'CancelOTATaskByDevice', 'CreateOTAModule', 'UpdateOTAModule', 'DeleteOTAModule', 'ListOTAModuleByProduct', 'ConfirmOTATask', 'ListOTAUnfinishedTaskByDevice', 'ReupgradeOTATask', 'ListOTAModuleVersionsByDevice', ], 'type' => 'directory', 'title' => 'Over-the-Air Update', ], [ 'children' => ['OpenIotService'], 'type' => 'directory', 'title' => 'Activate Service', ], [ 'children' => [ [ 'children' => ['BindLicenseProduct', 'UnbindLicenseProduct', 'BindLicenseDevice', 'CheckBindLicenseDeviceProgress', 'QueryLicenseDeviceList', 'ReBindLicenseDevice'], 'type' => 'directory', 'title' => 'Real-Time Communication Service', ], [ 'children' => ['ImportDTData'], 'type' => 'directory', 'title' => 'IoT Digital Twin Engine', ], [ 'children' => ['PrintByTemplate'], 'type' => 'directory', 'title' => 'Jiyan Chuan Shu Service', ], [ 'children' => ['GisQueryDeviceLocation', 'GisSearchDeviceTrace'], 'type' => 'directory', 'title' => 'Location Service', ], [ 'children' => [ 'CreateSpeech', 'UpdateSpeech', 'QuerySpeechLicenseAvailableQuota', 'GetSpeechVoice', 'TestSpeech', 'QuerySpeech', 'QuerySpeechList', 'PushSpeech', 'DeleteSpeech', 'QuerySolutionDeviceGroupPage', 'QuerySpeechPushJob', 'QuerySpeechPushJobDevice', 'QuerySpeechPushJobSpeech', 'SpeechByCombination', 'SyncSpeechByCombination', 'SpeechBySynthesis', 'QuerySpeechDevice', 'QueryDeviceSpeech', 'GetSpeechDeviceDetail', 'DeleteDeviceSpeech', 'GetShareTaskByDeviceOpen', 'GetShareSpeechModelAudio', 'GetSpeechLicenseDeviceStatistics', 'QuerySpeechLicenseDeviceList', 'AddShareTaskDevice', 'DeleteShareTaskDevice', 'QueryProjectShareDeviceList', 'QueryShareTaskDeviceList', 'ShareSpeechByCombination', 'PageQuerySharedSpeechOpen', 'CountSpeechBroadcastHour', 'PageQuerySpeechBroadcastHour', 'CreateSharePromotionActivity', 'QuerySharePromotionActivityAuditResult', 'AddDeviceToSharePromotion', 'CreateSharePromotionSpeechModel', 'QueryShareProductNameByProductKey', ], 'type' => 'directory', 'title' => 'Qianli Chuanyin', ], [ 'children' => [ 'CreateSoundCode', 'DeleteSoundCode', 'QuerySoundCodeList', 'GetSoundCodeAudio', 'CreateSoundCodeSchedule', 'UpdateSoundCodeSchedule', 'DeleteSoundCodeSchedule', 'QuerySoundCodeScheduleList', 'GetSoundCodeSchedule', 'UpdateSchedulePeriod', 'CreateSchedulePeriod', 'DeleteSchedulePeriod', 'QuerySchedulePeriodList', 'CreateSoundCodeLabel', 'UpdateSoundCodeLabel', 'DeleteSoundCodeLabel', 'QuerySoundCodeLabelList', 'BatchCreateSoundCodeLabel', 'BatchCreateSoundCodeLabelWithLabels', 'QuerySoundCodeLabelBatchList', 'QuerySoundCodeLabelBatchFailedResult', 'PackageSoundCodeLabelBatchAudio', 'RetrySoundCodeLabelBatch', 'UpdateSoundCode', ], 'type' => 'directory', 'title' => 'Voice Encoding Service', ], ], 'type' => 'directory', 'title' => 'Value-Added Service', ], [ 'children' => ['CreateSceneRule', 'DeleteSceneRule', 'UpdateSceneRule', 'GetSceneRule', 'QuerySceneRule', 'EnableSceneRule', 'DisableSceneRule', 'TriggerSceneRule', 'QuerySummarySceneRuleLog', 'QueryDetailSceneRuleLog'], 'type' => 'directory', 'title' => 'Scene Orchestration', ], [ 'children' => [ 'CreateEdgeInstance', 'DeleteEdgeInstance', 'UpdateEdgeInstance', 'GetEdgeInstance', 'QueryEdgeInstance', 'BindGatewayToEdgeInstance', 'QueryEdgeInstanceGateway', 'BindDriverToEdgeInstance', 'UnbindDriverFromEdgeInstance', 'QueryEdgeInstanceDriver', 'SetEdgeInstanceDriverConfigs', 'ClearEdgeInstanceDriverConfigs', 'BatchGetEdgeInstanceDriverConfigs', 'BatchBindDeviceToEdgeInstanceWithDriver', 'BatchUnbindDeviceFromEdgeInstance', 'QueryEdgeInstanceDevice', 'BatchSetEdgeInstanceDeviceConfig', 'BatchClearEdgeInstanceDeviceConfig', 'BatchGetEdgeInstanceDeviceConfig', 'CreateEdgeInstanceDeployment', 'CloseEdgeInstanceDeployment', 'GetEdgeInstanceDeployment', 'QueryEdgeInstanceHistoricDeployment', ], 'type' => 'directory', 'title' => 'Edge Instance Management', ], [ 'children' => [ 'CreateEdgeDriver', 'DeleteEdgeDriver', 'BatchGetEdgeDriver', 'QueryEdgeDriver', 'CreateEdgeDriverVersion', 'DeleteEdgeDriverVersion', 'UpdateEdgeDriverVersion', 'GetEdgeDriverVersion', 'QueryEdgeDriverVersion', 'CreateEdgeOssPreSignedAddress', 'BindApplicationToEdgeInstance', 'UnbindApplicationFromEdgeInstance', 'CreateEdgeInstanceChannel', 'BatchDeleteEdgeInstanceChannel', 'UpdateEdgeInstanceChannel', 'BatchGetEdgeInstanceChannel', 'QueryEdgeInstanceChannel', 'BatchSetEdgeInstanceDeviceChannel', 'BatchGetEdgeInstanceDeviceChannel', 'QueryEdgeInstanceDeviceByDriver', 'BatchGetEdgeInstanceDeviceDriver', 'BatchGetDeviceBindStatus', 'ReplaceEdgeInstanceGateway', 'ReleaseEdgeDriverVersion', 'BindRoleToEdgeInstance', 'UnbindRoleFromEdgeInstance', ], 'type' => 'directory', 'title' => 'New APIs for Edge Computing', ], [ 'children' => ['BindSceneRuleToEdgeInstance', 'UnbindSceneRuleFromEdgeInstance', 'QueryEdgeInstanceSceneRule'], 'type' => 'directory', 'title' => 'Edge Computing - Scene Orchestration', ], [ 'children' => ['EnableDeviceTunnel', 'GetDeviceTunnelStatus', 'DisableDeviceTunnel', 'GetDeviceTunnelShareStatus', 'EnableDeviceTunnelShare', 'DisableDeviceTunnelShare', 'RefreshDeviceTunnelSharePassword'], 'type' => 'directory', 'title' => 'Edge Computing - Remote O&M', ], [ 'children' => ['CreateEdgeInstanceMessageRouting', 'DeleteEdgeInstanceMessageRouting', 'UpdateEdgeInstanceMessageRouting', 'GetEdgeInstanceMessageRouting', 'QueryEdgeInstanceMessageRouting'], 'type' => 'directory', 'title' => 'Edge Computing - Message Routing', ], [ 'children' => ['BatchBindProductsIntoProject', 'BatchUnbindProjectProducts', 'BatchBindDevicesIntoProject', 'BatchUnbindProjectDevices', 'QueryStudioProjectList', 'SetStudioProjectCooperation', 'QueryStudioAppList', 'QueryStudioAppPageListOpen', 'QueryStudioAppDomainListOpen', 'DeleteStudioAppDomainOpen', 'CreateStudioAppDomainOpen', 'SetupStudioAppAuthModeOpen', 'GetStudioAppTokenOpen', 'RefreshStudioAppTokenOpen', 'PublishStudioApp'], 'type' => 'directory', 'title' => 'Internet of Things Application Development API Management', ], [ 'children' => ['TestSwitch', 'CreateTopicConfig', 'DeleteTopicConfig', 'QueryTopicConfig', 'DeleteUserDefineTableDataByPrimaryKey', 'AddPowerStation', 'DeletePowerStation', 'ListPowerStation', 'ModifyPowerStation', 'StartPTDetection', 'UpdateOTAJob', 'QueryCustomTimelineTableStatus', 'CopyThingModelAsync', 'GetThingModelStatusInner', 'PublishThingModelAsync', 'PublishThingModelAsyncInner', 'UnsubscribeTopic'], 'type' => 'directory', 'title' => 'Others', ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ 'AddDataForApiSource' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID.You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'> '."\n" .'- If an ID exists, you must specify it. Otherwise, the invocation fails. '."\n" .'- If no ID exists, you do not need to specify it. '."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [How to Obtain an Instance ID](~~267533~~). ', 'type' => 'string', 'required' => true, 'example' => 'iot-0pp1n*****', 'title' => ''], ], [ 'name' => 'ApiId', 'in' => 'query', 'schema' => ['description' => 'The DataSource ID of the API data source, also known as the **API ID**.You can view the **API ID** of an API data source on the **Data Analytics** > **Data Collection** > **Data Sources** page in the IoT Platform console.'."\n" ."\n" .'For more information about API data sources, see [Configure an API Data Source](~~307003~~). ', 'type' => 'string', 'required' => true, 'example' => 'cxatswiniekxw***', 'title' => ''], ], [ 'name' => 'Content', 'in' => 'query', 'schema' => ['description' => 'The data content uploaded to the IoT Platform, in JSON format. '."\n" .'The JSON must contain the **ts** field, which represents the timestamp (in milliseconds since the UNIX epoch) when the data was generated. ', 'type' => 'string', 'required' => true, 'example' => '{"key":"value","ts":16376582*****}', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'A value of 200 indicates success. Any other value indicates an error code. For more information about error codes, see [Error Codes](~~87387~~). ', 'type' => 'string', 'example' => '200', 'title' => ''], 'Data' => ['description' => 'The data ID. ', 'type' => 'integer', 'format' => 'int64', 'example' => '1234567890', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails. ', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request. ', 'type' => 'string', 'example' => 'BB71E443-4447-4024-A000-EDE09934561E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: The invocation failed. ', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.dap.insight.noAuthorization', 'errorMessage' => 'no authorization.', 'description' => 'no authorization.'], ['errorCode' => 'iot.dap.insight.requestParamError', 'errorMessage' => 'request param error.', 'description' => 'request param error.'], ['errorCode' => 'iot.dap.insight.serverError', 'errorMessage' => 'server hsf error please try later.', 'description' => 'server hsf error please try later.'], ['errorCode' => 'iot.dap.insight.notEnoughCU', 'errorMessage' => 'There is not enough CU for the operation.', 'description' => 'There is not enough CU for the operation.'], ['errorCode' => 'iot.dap.insight.notEnoughStorage', 'errorMessage' => 'There is not enough storage for the operation.', 'description' => 'There is not enough storage for the operation.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Data\\": 1234567890,\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"BB71E443-4447-4024-A000-EDE09934561E\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'AddDataForApiSource ', 'summary' => 'Invoke this API to import external data into the IoT Platform. Data imported into the IoT Platform through this API is referred to as data from an API data source. You can upload data from your local environment or other platforms to the IoT Platform for data analysis and processing. ', 'description' => '## Queries per second (QPS) limit'."\n" ."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account when calling this API is 5. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. ', 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Request Parameters](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:AddDataForApiSource', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddDataForApiSource'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'AddDeviceToSharePromotion' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'SharePromotionActivityId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the promotion activity. '."\n" ."\n" .'This value is the **Data** field returned by calling the **CreateSharePromotionActivity** API.', 'type' => 'string', 'required' => true, 'example' => '61******_****_4901_****_47***********', 'title' => ''], ], [ 'name' => 'ShareTaskCode', 'in' => 'formData', 'schema' => ['description' => 'The share code of the sharing task. '."\n" ."\n" .'For information about the share code of a sharing task, see [Use shared devices to broadcast sharing scripts](~~607661~~).', 'type' => 'string', 'required' => true, 'example' => '52******_7**e_4**3_9**e_61**********', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID. You can view the ID of the current instance on the **Overview** tab in the IoT Platform console. '."\n" ."\n" .'> '."\n" .'- If an ID exists, you must specify this **ID**. Otherwise, the invocation fails. '."\n" .'- If no ID exists, you do not need to specify this parameter. '."\n" ."\n" .'> '."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cv3********', 'title' => ''], ], [ 'name' => 'DeviceSimpleInfoList', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ProductKey' => ['description' => 'The **ProductKey** of the product to which the device to be added belongs.', 'type' => 'string', 'required' => true, 'example' => 'a2YwD2****', 'title' => ''], 'DeviceName' => ['description' => 'The device name of the device to be added.', 'type' => 'string', 'required' => true, 'example' => 'device01', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'required' => true, 'maxItems' => 200, 'description' => '', 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The status code of the invocation result: '."\n" .'- If the invocation succeeded, an empty value is returned. '."\n" .'- If the invocation failed, an error code is returned. For more information, see **error code** below.', 'type' => 'string', 'example' => 'iot.speech.InvalidIotInstanceId', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => 'Invalid instance ID.', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request. ', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The result of the addition operation. ', 'type' => 'object', 'properties' => [ 'FailDeviceSimpleInfoList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'item' => [ 'description' => '', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ProductKey' => ['description' => '', 'type' => 'string', 'example' => 'a2YwD2****', 'title' => ''], 'DeviceName' => ['description' => '', 'type' => 'string', 'example' => 'device02', 'title' => ''], 'FailReason' => ['description' => '', 'type' => 'string', 'example' => '设备在共享中不存在', 'title' => ''], 'FailCode' => ['description' => '', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.speech.InvalidIotInstanceId', 'errorMessage' => 'Invalid instance ID.', 'description' => 'Invalid instance ID.'], ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ['errorCode' => 'iot.check.InvalidFormattedParameter', 'errorMessage' => 'The parameter format is invalid.', 'description' => 'The parameter format is invalid.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.speech.InvalidIotInstanceId\\",\\n \\"ErrorMessage\\": \\"Invalid instance ID.\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"FailDeviceSimpleInfoList\\": {\\n \\"item\\": [\\n {\\n \\"ProductKey\\": \\"a2YwD2****\\",\\n \\"DeviceName\\": \\"device02\\",\\n \\"FailReason\\": \\"设备在共享中不存在\\",\\n \\"FailCode\\": 1\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', 'title' => 'AddDeviceToSharePromotion', 'summary' => 'Invoke this API to add existing shared devices from a Qianli Chuanyin sharing job to a sales promotion activity. ', 'description' => '## How-To '."\n" .'For detailed instructions on using sales promotion activities, see the **How-To** section in the **CreateSharePromotionActivity** API documentation.'."\n" ."\n" .'## queries per second (QPS) limit'."\n" ."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account when calling this API is 3.'."\n" ."\n" .'> All Resource Access Management (RAM) users under an Alibaba Cloud account share the quota of that Alibaba Cloud account. ', 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see the [Common Parameters document](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddDeviceToSharePromotion'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'AddPowerStation' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'AlgorithmInstanceUid', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'PowerStationName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'RatedPower', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Data' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.dap.insight.unknownException', 'errorMessage' => 'unknown exception.', 'description' => 'unknown exception.'], ['errorCode' => 'iot.dap.insight.requestParamError', 'errorMessage' => 'request param error.', 'description' => 'request param error.'], ['errorCode' => 'iot.dap.insight.exceedSubscribeNumber', 'errorMessage' => 'Exceed subscribe number.', 'description' => 'The number of sites that you can purchase exceeds the limit. The system failed to create the site.'], ], 500 => [ ['errorCode' => 'iot.dap.insight.bizExceptionNotSpecified', 'errorMessage' => 'biz exception not specified.', 'description' => 'biz exception not specified.'], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"Data\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false\\n}","type":"json"}]', ], 'AddShareTaskDevice' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'ShareTaskId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the share task.', 'type' => 'string', 'required' => true, 'example' => 'Md3ZiTL888K9llXDy7890***********', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID. You can view the **ID** of your current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify it; otherwise, the invocation fails.'."\n" .'- If the **Instance Overview** page or the ID does not exist, you do not need to specify this parameter.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'formData', 'schema' => ['description' => 'The **ProductKey** of the product to which the devices to add belong.'."\n" ."\n" .'You can view information about all products in the current instance in the IoT Platform console or by invoking the [QueryProductList](~~69271~~) API.', 'type' => 'string', 'required' => false, 'example' => 'a2YwD23***', 'title' => ''], ], [ 'name' => 'IotIdList', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of devices to add. You must specify the **IotId** of each device. You can obtain this parameter by invoking the [QueryDevice](~~69905~~) API.'."\n" ."\n" .'>If you specify this parameter, you do not need to specify **ProductKey**. If you specify both **IotIdList** and **ProductKey**, **IotIdList** takes precedence.', 'type' => 'array', 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'required' => false, 'example' => 'y4u2weAIrpp****WHMle1234 ', 'maxItems' => 10000, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [error codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => 'An internal error occurred. Try again later.', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => '671D0F8F-FDC7-4B12-93FA-336C079C965A', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" ."\n" .'- **true**: The invocation succeeded.'."\n" ."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The result of the device addition operation.', 'type' => 'object', 'properties' => [ 'ProgressId' => ['description' => 'The progress ID.', 'type' => 'string', 'example' => 'Md3ZiTL888K9llXDy7890***********', 'title' => ''], 'SuccessSum' => ['description' => 'The number of devices that were successfully added.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'Progress' => ['description' => 'The addition progress, with a value ranging from 0 to 100.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], 'FailedResultCsvFile' => ['description' => 'The file containing the list of devices that failed to be added.', 'type' => 'string', 'example' => 'https://****.csv', 'title' => ''], 'FailSum' => ['description' => 'The number of devices that failed to be added.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.speech.InvalidIotInstanceId', 'errorMessage' => 'Invalid instance ID.', 'description' => 'Invalid instance ID.'], ['errorCode' => 'iot.sharetask.EmptyShareDevice', 'errorMessage' => 'no device to share.', 'description' => 'no device to share.'], ['errorCode' => 'iot.sharetask.ShareDeviceProcessing', 'errorMessage' => 'share device processing.', 'description' => 'share device processing.'], ['errorCode' => 'Iot.sharetask.ImportDevicePartFail', 'errorMessage' => 'Failed to import some of the devices.', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"An internal error occurred. Try again later.\\",\\n \\"RequestId\\": \\"671D0F8F-FDC7-4B12-93FA-336C079C965A\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ProgressId\\": \\"Md3ZiTL888K9llXDy7890***********\\",\\n \\"SuccessSum\\": 10,\\n \\"Progress\\": 100,\\n \\"FailedResultCsvFile\\": \\"https://****.csv\\",\\n \\"FailSum\\": 2\\n }\\n}","type":"json"}]', 'title' => 'AddShareTaskDevice', 'summary' => 'Invoke this API to add devices to a sharing job.', 'description' => '## How-To'."\n" .'You cannot add more than 50 devices in a single API call.'."\n" ."\n" .'## Queries per second (QPS) limit'."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account is 5 when calling this API. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters documentation](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddShareTaskDevice'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'AsyncRRpc' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify this **ID**. Otherwise, the invocation fails.'."\n" .'- If the **Instance Overview** page or the **ID** does not exist, this parameter is not required.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the target device belongs.', 'type' => 'string', 'required' => true, 'example' => 'aldfeSe****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The device name of the target device.', 'type' => 'string', 'required' => true, 'example' => 'device1', 'title' => ''], ], [ 'name' => 'ExtInfo', 'in' => 'query', 'schema' => ['description' => 'This parameter is required when sending a message to a device that uses the cloud gateway GB/T 32960 protocol. It specifies the command type of the message. Valid values:'."\n" .'- **128**: Query command (0x80).'."\n" .'- **129**: Set command (0x81).'."\n" .'- **130**: In-vehicle terminal control command (0x82).'."\n" ."\n" .'For more information about connecting devices that use the cloud gateway GB/T 32960 protocol, see [Overview of the Cloud Gateway GB/T 32960 Protocol](~~2248990~~).', 'type' => 'string', 'required' => false, 'example' => '{"commandType": 128}', 'title' => ''], ], [ 'name' => 'MessageContent', 'in' => 'formData', 'schema' => ['description' => 'The body of the message to be sent.'."\n" ."\n" .'You must convert the original message into binary data and then encode it in Base64 to generate the message body.', 'type' => 'string', 'required' => true, 'example' => 'eyJ0ZXN0IjoidGFzayBwdWIgYnJvYWRjYXN0In0=', 'title' => ''], ], [ 'name' => 'TopicFullName', 'in' => 'query', 'schema' => ['description' => 'When sending a message to a device that uses the MQTT protocol, you must specify the custom topic of the corresponding device. The operation permission of the topic must be **subscribe** or **publish and subscribe**.'."\n" ."\n" .'When sending a message to a device that uses the GB/T 32960 protocol via a cloud gateway, you do not need to specify this parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => '/a1uZfYb****/A_Vol****/user/update', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see **Error Codes** below.', 'type' => 'string', 'example' => 'iot.device.InvalidFormattedDeviceName', 'title' => ''], 'MessageId' => ['description' => 'The message ID generated by the cloud after the request message is successfully sent. This ID uniquely identifies the message.', 'type' => 'integer', 'format' => 'int64', 'example' => '889455942124347392', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => '设备名称格式错误。', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.prod.NullProductKey', 'errorMessage' => 'The ProductKey is empty.', 'description' => 'The ProductKey is empty.'], ['errorCode' => 'iot.prod.InvalidFormattedProductkey', 'errorMessage' => 'The ProductKey format is incorrect.', 'description' => 'The ProductKey format is incorrect.'], ['errorCode' => 'iot.device.NullDeviceName', 'errorMessage' => 'The deviceName is empty.', 'description' => ''], ['errorCode' => 'iot.device.InvalidFormattedDeviceName', 'errorMessage' => 'The deviceName format is incorrect.', 'description' => 'The deviceName format is incorrect.'], ['errorCode' => 'iot.device.InactiveDevice', 'errorMessage' => 'The device is inactive.', 'description' => 'The device is inactive.'], ['errorCode' => 'iot.device.OfflineDevice', 'errorMessage' => 'The device is offline.', 'description' => 'The device is offline.'], ['errorCode' => 'iot.Device.NotExistedDevice', 'errorMessage' => 'This device does not exist.', 'description' => 'The error message returned because the device does not exist or is not activated.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.device.InvalidFormattedDeviceName\\",\\n \\"MessageId\\": 889455942124347400,\\n \\"ErrorMessage\\": \\"设备名称格式错误。\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'AsyncRRpc', 'summary' => 'Invoke this API to send a message to a specified device.', 'description' => '## How-To'."\n" .'You can call this API to send messages from the server to devices that use the Message Queuing Telemetry Transport (MQTT) protocol (including cloud gateway and non-cloud gateway devices) or the cloud gateway GB/T 32960 protocol.'."\n" ."\n" .'## QPS Limit'."\n" .'The maximum queries per second (QPS) for this API is 1,000 per Alibaba Cloud account. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AsyncRRpc'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'AttachDestination' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IsFailover', 'in' => 'query', 'schema' => ['description' => 'Specifies whether this data destination configuration is used to forward faulted operation data—specifically, data that failed to be forwarded to other cloud services and also failed after retries.'."\n" ."\n" .'- **true**: Forwards faulted operation data.'."\n" .'- **false**: Forwards normal operation data.'."\n" ."\n" .'Default value: **false**.'."\n", 'type' => 'boolean', 'required' => true, 'example' => 'false', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of your current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify it; otherwise, the invocation fails.'."\n" .'- If the **Instance Overview** page or the ID does not exist, you do not need to specify this parameter.'."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot-2w****', 'title' => ''], ], [ 'name' => 'ParserId', 'in' => 'query', 'schema' => ['description' => 'The resolver ID. You can call the [ListParsers](~~429046~~) API to query the resolver list and obtain the **ParserId**.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '999999999', 'minimum' => '1', 'example' => '1000', 'title' => ''], ], [ 'name' => 'DestinationId', 'in' => 'query', 'schema' => ['description' => 'The data destination ID. You can call the [ListDestination](~~433025~~) API to query the data destination list and obtain the **DestinationId**.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '999999999999', 'minimum' => '0', 'example' => '1002', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.'."\n", 'type' => 'string', 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.system.IllegalRequest', 'errorMessage' => 'The request parameter is invalid.', 'description' => 'The request parameter is invalid.'], ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ['errorCode' => 'iot.rule.destinationNotExists', 'errorMessage' => 'Destination not found', 'description' => ''], ['errorCode' => 'iot.rule.NotFoundRule', 'errorMessage' => 'there are no rules', 'description' => ''], ['errorCode' => 'iot.rule.SameDestinationExisted', 'errorMessage' => 'The destination has been attached', 'description' => ''], ['errorCode' => 'iot.ruleng.OnlyAllowOneErrorAction', 'errorMessage' => 'You can specify only one destination to forward data errors in a rule', 'description' => ''], ['errorCode' => 'iot.rule.TooManyRuleAction', 'errorMessage' => 'The rule action exceeds the maximum number', 'description' => ''], ['errorCode' => 'iot.rule.DestinationNotAvailable', 'errorMessage' => 'destination not available', 'description' => 'destination not available'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'AttachDestination'."\n", 'summary' => 'Invokes this API to associate a specified data destination with a resolver.'."\n", 'description' => '## How-To'."\n" ."\n" .'You have already created a data destination ([CreateDestination](~~433032~~)) and a resolver ([CreateParser](~~429044~~)).'."\n" ."\n" .'## QPS Limit'."\n" ."\n" .'Each Alibaba Cloud account can send up to 10 queries per second (QPS) to call this API. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When calling this API, you must include the common request parameters in addition to the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:AttachDestination', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AttachDestination'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'AttachParserDataSource' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of your current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify this ID. Otherwise, the invocation fails.'."\n" .'- If the **Instance Overview** page or the ID does not exist, you do not need to specify this parameter.'."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-2w****', 'title' => ''], ], [ 'name' => 'ParserId', 'in' => 'query', 'schema' => ['description' => 'The resolver ID. You can call the [ListParsers](~~429046~~) API to query the resolver list and obtain the **ParserId**.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '99999999999', 'minimum' => '1', 'example' => '1000', 'title' => ''], ], [ 'name' => 'DataSourceId', 'in' => 'query', 'schema' => ['description' => 'The data source ID. You can call the [ListParserDataSource](~~432676~~) API to query the data source list and obtain the **DataSourceId**.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '9999999', 'minimum' => '0', 'example' => '1001', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation failed. For more information, see [error codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation failed.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generated for this request.', 'type' => 'string', 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ['errorCode' => 'iot.system.IllegalRequest', 'errorMessage' => 'The request parameter is invalid.', 'description' => 'The request parameter is invalid.'], ['errorCode' => 'iot.rule.DataSourceNotExists', 'errorMessage' => 'Datasource not existed', 'description' => ''], ['errorCode' => 'iot.rule.NotFoundRule', 'errorMessage' => 'there are no rules', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'AttachParserDataSource', 'summary' => 'Call this API to associate a specified data source with a specified resolver.', 'description' => '## How-To'."\n" .'You have already created a data source by calling the [CreateParserDataSource](~~433011~~) API and a resolver by calling the [CreateParser](~~429044~~) API.'."\n" ."\n" .'>'."\n" .'A resolver can be associated with at most one data source. If the specified resolver is already associated with a data source, calling this API will overwrite the original data source associated with the resolver.'."\n" .'>'."\n" ."\n" .'## Queries Per Second (QPS) Limit'."\n" ."\n" .'The maximum queries per second (QPS) for this API per Alibaba Cloud account is 10.'."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:AttachParserDataSource', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AttachParserDataSource'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'BatchAddDataForApiSource' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID.You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID value exists, you must specify it; otherwise, the invocation will fail.'."\n" .'- If no ID value exists, you do not need to specify it.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [How to Obtain an Instance ID](~~267533~~).', 'type' => 'string', 'required' => true, 'example' => 'iot-0pp1n*****', 'title' => ''], ], [ 'name' => 'ApiId', 'in' => 'query', 'schema' => ['description' => 'The DataSource ID of the API data source, also known as the **API ID**.You can view the **API ID** of an API data source on the **Data Analytics** > **Data Collection** > **Data Sources** page in the IoT Platform console.'."\n" ."\n" .'For more information about API data sources, see [Configure an API Data Source](~~307003~~).', 'type' => 'string', 'required' => true, 'example' => 'cxatswiniekxw***', 'title' => ''], ], [ 'name' => 'ContentList', 'in' => 'query', 'schema' => ['description' => 'The data content to be batch uploaded to the IoT Platform, in JSON list format.'."\n" .'- The JSON list must contain no more than 100 JSON objects.'."\n" .'- Each JSON object must include the **ts** field, which indicates the timestamp (in milliseconds, UNIX timestamp format) when the data was generated.', 'type' => 'string', 'required' => true, 'example' => '[{"key":"value1","ts":1637658286000},{"key":"value2","ts":1637658287000}]', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation failed. For more information, see [Error Codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation failed.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => 'BB71E443-4447-4024-A000-EDE09922891E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.dap.insight.noAuthorization', 'errorMessage' => 'no authorization.', 'description' => 'no authorization.'], ['errorCode' => 'iot.dap.insight.requestParamError', 'errorMessage' => 'request param error.', 'description' => 'request param error.'], ['errorCode' => 'iot.dap.insight.serverError', 'errorMessage' => 'server hsf error please try later.', 'description' => 'server hsf error please try later.'], ['errorCode' => 'iot.dap.insight.notEnoughCU', 'errorMessage' => 'There is not enough CU for the operation.', 'description' => 'There is not enough CU for the operation.'], ['errorCode' => 'iot.dap.insight.notEnoughStorage', 'errorMessage' => 'There is not enough storage for the operation.', 'description' => 'There is not enough storage for the operation.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"BB71E443-4447-4024-A000-EDE09922891E\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'BatchAddDataForApiSource', 'summary' => 'Invoke this API to batch import external data into the IoT Platform. Data imported into the IoT Platform through this API is referred to as data from an API data source. You can batch upload data from your local environment or other platforms to the IoT Platform for data analysis and processing.'."\n", 'description' => '## Limits'."\n" .'A single API call can write a maximum of 100 records in batch.'."\n" ."\n" .'## Queries per second (QPS) limit'."\n" ."\n" .'The maximum queries per second (QPS) for this API for a single Alibaba Cloud account is 3. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Request Parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:BatchAddDataForApiSource', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchAddDataForApiSource'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'BatchAddDeviceGroupRelations' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the group. The ID is the globally unique identifier (GUID) for the group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'GroupId', 'in' => 'query', 'schema' => ['description' => 'The ProductKeys of the products to which the devices belong. You can specify a maximum of 200 ProductKeys.'."\n", 'type' => 'string', 'required' => true, 'example' => '6VfhebLg5iUe****', 'title' => ''], ], [ 'name' => 'Device', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of devices to be added to the group.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ProductKey' => ['description' => 'The names of the devices to be added. You can specify a maximum of 200 devices.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1kORrK****', 'title' => ''], 'DeviceName' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ZHuPo6sZzv7pOzYh****', 'title' => ''], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 200, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'ErrorMessage' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The number of the specified devices that are added to 10 or more groups. You can add a device to a maximum of 10 groups.'."\n", 'type' => 'string', 'example' => '671D0F8F-FDC7-4B12-93FA-336C079C965A', 'title' => ''], 'ExceedTenGroupDeviceCount' => ['description' => 'The number of devices that exist in the group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'AlreadyRelatedGroupDeviceCount' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'Success' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Code' => ['description' => 'The number of valid devices that you specified.'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ValidDeviceCount' => ['description' => 'The number of devices that are added to the group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'SuccessAddedDeviceCount' => ['description' => 'The number of devices that were successfully added to the group.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"671D0F8F-FDC7-4B12-93FA-336C079C965A\\",\\n \\"ExceedTenGroupDeviceCount\\": 0,\\n \\"AlreadyRelatedGroupDeviceCount\\": 0,\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ValidDeviceCount\\": 2,\\n \\"SuccessAddedDeviceCount\\": 2\\n}","type":"json"}]', 'title' => 'BatchAddDeviceGroupRelations', 'summary' => 'You can call this API operation to add one or more devices to a group.', 'description' => '## QPS limits'."\n" ."\n" .'Each Alibaba Cloud account can send a maximum of 500 queries per second (QPS) to call this API operation.'."\n" ."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When you call this API operation, you must specify both the common request parameters and the operation-specific request parameters described in this topic. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:BatchAddDeviceGroupRelations', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchAddDeviceGroupRelations'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'BatchAddThingTopo' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. On the **Overview** page in the IoT Platform console, you can view the ID of the instance.'."\n" ."\n" .'>* If your instance has an ID, you must specify this parameter. Otherwise, the call fails.'."\n" .'>* If no **Overview** page or instance ID appears in the IoT Platform console, ignore this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'GwProductKey', 'in' => 'query', 'schema' => ['description' => 'The key of the product to which the gateway belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1vL7cp****', 'title' => ''], ], [ 'name' => 'GwDeviceName', 'in' => 'query', 'schema' => ['description' => 'The name of the gateway.'."\n", 'type' => 'string', 'required' => true, 'example' => 'gateway', 'title' => ''], ], [ 'name' => 'TopoAddItem', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of device topology relationships to be added.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ProductKey' => ['description' => 'The key of the product to which the sub-device belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], 'DeviceName' => ['description' => 'The name of each sub-device.'."\n", 'type' => 'string', 'required' => true, 'example' => 'light', 'title' => ''], 'Sign' => ['description' => 'The signature of the sub-device.'."\n" ."\n" .'Set the Sign parameter to the result of the **SignMethod(deviceSecret,content)** function.'."\n" ."\n" .'To obtain the **content** parameter, sort all sub-device parameters that are submitted to the server, except the Sign and SignMethod parameters, in alphabetical order. Then, concatenate the parameters and values in sequence. No concatenation symbol is required to separate these parameters and values.'."\n" ."\n" .'For example, you want to specify the following parameters for a sub-device: **ClientId=868575026974305, DeviceName=868575026974305, ProductKey=a1PB5fp1234, SignMethod=hmacmd5, timestamp=1646277090411, and deviceSecret=1234**. In this case, the signature function is `hmacmd5(1234, clientId868575026974305deviceName868575026974305productKeya1PB5fp1234timestamp1646277090411)`, and the calculation result is `3BA0DFA4C477B40C007D84D30D6466CC`.'."\n" ."\n" .'> In the preceding example, **ClientId** indicates the client ID of the sub-device. You can specify a custom client ID.'."\n" ."\n" .'For more information about how to calculate the signature value, see [How do I obtain MQTT parameters for authentication?](~~292635~~). The signature value is the calculated value of the passwd parameter.'."\n", 'type' => 'string', 'required' => true, 'example' => 'C1C1606D61884C5F16C9EA6622E5****', 'title' => ''], 'Timestamp' => ['description' => 'The timestamp in UTC. This parameter is optional.'."\n" ."\n" .'> If this parameter is included in the value of the **TopoAddItem.N.Sign** parameter, you must specify this parameter.', 'type' => 'string', 'required' => false, 'example' => '1579335899000', 'title' => ''], 'SignMethod' => ['description' => 'The signature algorithm. Valid values: **hmacSha1**, **hmacSha256**, **hmacMd5**, and **Sha256**. The value is not case-sensitive.'."\n", 'type' => 'string', 'required' => true, 'example' => 'hmacMd5', 'title' => ''], 'ClientId' => ['description' => 'The client ID of the sub-device. The ID can be the serial number (SN) or media access control (MAC) address of the device. This parameter is optional.'."\n" ."\n" .'> If this parameter is included in the value of the **TopoAddItem.N.Sign** parameter, you must specify this parameter.', 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****device1', 'title' => ''], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => true, 'maxItems' => 50, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'BatchAddThingTopo', 'summary' => 'Invoke this API to batch add device topology relationships.', 'description' => '## How-To'."\n" ."\n" .'- You can add up to 10 sub-devices to a gateway in a single API call.'."\n" ."\n" .'- The API caller must be the owner of the gateway.'."\n" ."\n" .'- Each Alibaba Cloud account is limited to 5 queries per second (QPS) when calling this API.'."\n" ."\n" .'- If a sub-device passed in already has an existing topology relationship, its original gateway will be replaced with the current gateway.'."\n" ."\n" .'- If the topology relationship between any sub-device and the gateway fails to be established, the system performs a rollback, and the topology relationships between all passed-in sub-devices and the current gateway fail to be established.'."\n" ."\n" .'## QPS Limit'."\n" .'Each Alibaba Cloud account can send a maximum of 10 requests per second (QPS) to this API. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:BatchAddThingTopo', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchAddThingTopo'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'BatchBindDeviceToEdgeInstanceWithDriver' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance to which you want to bind multiple devices and obtain the instance ID.'."\n" ."\n" .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the driver. To obtain the driver ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Drivers** page, move the pointer over the name of the driver that you want to configure and obtain the driver ID.'."\n" ."\n" .'You can also call the [QueryEdgeDriver](~~155776~~) operation to query the driver ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'F3APY0tPLhmgGtx0****', 'title' => ''], ], [ 'name' => 'DriverId', 'in' => 'query', 'schema' => ['description' => 'The IDs of the devices.'."\n" ."\n" .'You can call the [QueryDevice](~~69905~~) operation to query detailed information about all devices that belong to the current Alibaba Cloud account and obtain the required device IDs.'."\n" ."\n" .'> You can specify a maximum of 20 device IDs when you call the BatchBindDeviceToEdgeInstanceWithDriver operation.'."\n", 'type' => 'string', 'required' => true, 'example' => '021d154d2a2f4dd7a489773d9e04****', 'title' => ''], ], [ 'name' => 'IotIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'A list of device IDs.'."\n" .'You can call the [QueryDevice](~~69905~~) API to query the information of all devices under your account and obtain the IotId of each device.'."\n" ."\n" .'> You can attach a maximum of 20 devices in a single call.', 'type' => 'array', 'items' => ['type' => 'string', 'description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n", 'title' => '', 'example' => ''], 'required' => true, 'example' => 'BXPV9Ks3bxwM9fD****0000101', 'maxItems' => 21, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error message that is returned if the call failed.'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n", 'type' => 'string', 'example' => 'BFFA9519-6AF1-4D15-AFAF-FD412714C1BE', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. A value of true indicates success, and false indicates failure.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"BFFA9519-6AF1-4D15-AFAF-FD412714C1BE\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Batch assign devices to an edge instance', 'summary' => 'Batch assign devices to an edge instance and set drivers for the devices.', 'description' => '## Condition'."\n" .'Each Alibaba Cloud account can send a maximum of 5 queries per second (QPS) to call this API.'."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When you invoke this API, in addition to the API-specific request parameters described in this topic, you must also specify common request parameters. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:BatchBindDeviceToEdgeInstanceWithDriver', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchBindDeviceToEdgeInstanceWithDriver'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'BatchBindDevicesIntoProject' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID.'."\n" ."\n" .'You can view the current instance ID on the **Instance Overview** page in the IoT Platform console. If an ID exists, you must specify it; otherwise, the invocation fails.'."\n" ."\n" .''."\n" .'> If your public instance does not have an ID, see [How to Obtain an Instance ID](~~267533~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProjectId', 'in' => 'formData', 'schema' => ['description' => 'The project ID.'."\n" .'1. Log on to the [IoT Application Development Console](https://studio.iot.aliyun.com/?spm=a2c4g.11186623.2.8.1e7830fagdybMb). After selecting the target instance in the upper-left corner of the page, click Project Management in the left-side navigation pane.'."\n" .'2. In the standard project list, locate the target project, click its project card, and then check the address bar of your browser to find the project ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a12******', 'title' => ''], ], [ 'name' => 'Devices', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of devices.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ProductKey' => ['description' => 'The ProductKey of the product to which each device to be associated with the project belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], 'DeviceName' => ['description' => 'The DeviceName of each device to be associated with the project.', 'type' => 'string', 'required' => true, 'example' => 'Ee2******', 'title' => ''], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => true, 'maxItems' => 10, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the invocation fails. For more information about error codes, see [Error Codes](~~202245~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'Data' => ['description' => 'This parameter is returned if the invocation succeeds, with a value of true.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the invocation fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 200 => [ ['errorCode' => 'IoT.Common.NullParameter', 'errorMessage' => 'Parameter cannot be empty.', 'description' => ''], ], 400 => [ ['errorCode' => 'Studio.Device.BatchAddDevicesToProjectFailed', 'errorMessage' => 'batch add devices to project failed', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"Data\\": true,\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'BatchBindDevicesIntoProject'."\n", 'summary' => 'Invoke this API to batch associate devices with a project.'."\n", 'description' => '## Limits'."\n" .'- The maximum queries per second (QPS) for this API per Alibaba Cloud account is 5.'."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n" ."\n" .'- You can associate up to 10 devices with a project in a single API call.'."\n", 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Request Parameters](https://help.aliyun.com/document_detail/30561.html?spm=a2c4g.11186623.2.11.cd0fc4793w9Hmy).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchBindDevicesIntoProject'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'BatchBindProductsIntoProject' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID.'."\n" .'- Enterprise instance: You must specify this parameter. You can view your Enterprise instance ID on the **Instance Overview** page in the IoT Platform console.'."\n" .'- Public instance: You do not need to specify this parameter.', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProjectId', 'in' => 'formData', 'schema' => ['description' => 'The project ID.'."\n" .'1. Log on to the [IoT Application Development Console](https://studio.iot.aliyun.com/?spm=a2c4g.11186623.2.8.1e7830fagdybMb). In the upper-left corner of the page, select the target instance. In the left-side navigation pane, click Project Management.'."\n" .'2. In the standard project list, find the target project, click its project card, and then view the project ID in the address bar.', 'type' => 'string', 'required' => true, 'example' => 'a123********', 'title' => ''], ], [ 'name' => 'ProductKeys', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'A list of ProductKeys of the products to be associated with the project.', 'type' => 'array', 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'required' => true, 'example' => 'a1BwAGV****', 'maxItems' => 10, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the request fails.', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'Data' => ['description' => 'Indicates whether the request succeeded. If the request succeeds, the value is true.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the request fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the request succeeded.'."\n" .'- true: The request succeeded.'."\n" .'- false: The request failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 200 => [ ['errorCode' => 'IoT.Common.NullParameter', 'errorMessage' => 'Parameter cannot be empty.', 'description' => ''], ], 400 => [ ['errorCode' => 'Studio.Product.BindFailed', 'errorMessage' => 'bind failed', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"Data\\": true,\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Batch Attach Products to a Project', 'summary' => 'Associate multiple products with a project in batch.', 'description' => '## Limits'."\n" .'- If you invoke this API in an Enterprise instance, you must specify the **IotInstanceId** request parameter. Otherwise, the API invocation fails.'."\n" .'- Each Alibaba Cloud account can send a maximum of 5 queries per second (QPS) to invoke this API.'."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n" .'- You can associate a maximum of 10 products with a project in a single API call.', 'requestParamsDescription' => 'When you invoke this API, you must specify both the common request parameters and the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Request Parameters](https://help.aliyun.com/document_detail/30561.html?spm=a2c4g.11186623.2.11.cd0fc4793w9Hmy).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:BatchBindProductsIntoProject', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchBindProductsIntoProject'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'BatchCheckDeviceNames' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the devices belong.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'type' => 'array', 'items' => ['type' => 'string', 'required' => false, 'description' => 'The alias of the device. The alias must be 4 to 64 characters in length, and can contain letters, digits, and underscores (\\_).'."\n" ."\n" .'If this parameter is specified, you must specify the **DeviceNameList.N.DeviceName** parameter.'."\n", 'title' => '', 'example' => ''], 'required' => false, 'maxItems' => 10000, 'description' => '', 'example' => 'The DeviceName of the device. The DeviceName must be unique within the product. The name must be 4 to 32 characters in length, and can contain letters, digits, hyphens (-), underscores (\\_), periods (.), at signs (@), and colons (:).'."\n" ."\n" .'You must specify this parameter or the **DeviceName.N** parameter. If you specify this parameter and the **DeviceName.N** parameter at the same time, this parameter is used by default.'."\n" ."\n" .'> You can specify up to 10,000 DeviceNames in a single call. If the size of a message exceeds this limit, the message is discarded.'."\n", 'title' => '', ], ], [ 'name' => 'DeviceNameList', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'DeviceNickname' => ['type' => 'string', 'required' => false, 'description' => 'The error message returned if the call fails.'."\n", 'example' => '', 'title' => ''], 'DeviceName' => ['type' => 'string', 'required' => false, 'description' => 'The ID of the request.'."\n", 'example' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'title' => ''], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 10000, 'description' => '', 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The returned data.'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The application ID (ApplyId) returned if the call is successful. When you call the [BatchRegisterDeviceWithApplyId](~~69514~~) operation to register the devices, this parameter is required.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The list of invalid device aliases returned if the call fails.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'The list of invalid DeviceNames returned if the call fails.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ 'ApplyId' => ['description' => 'The application batch ID returned by the system upon a successful invocation. Use this ApplyId to call the [BatchRegisterDeviceWithApplyId](~~69514~~) API to create devices in batch.', 'type' => 'integer', 'format' => 'int64', 'example' => '1295006', 'title' => ''], 'InvalidDetailList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'InvalidDetailList' => [ 'description' => '', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'NickName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ErrorMsg' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'DeviceName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'RepeatedDeviceNameList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'RepeatDevieNameList' => [ 'description' => '', 'type' => 'array', 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'InvalidDeviceNameList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'InvalidDeviceName' => [ 'description' => '', 'type' => 'array', 'items' => ['description' => 'The list of invalid device names returned when the invocation fails.', 'type' => 'string', 'example' => '{ "InvalidDeviceName": [ "APT$", "aw" ] }', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'InvalidDeviceNicknameList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'InvalidDeviceNickname' => [ 'description' => '', 'type' => 'array', 'items' => ['description' => '', 'type' => 'string', 'example' => '{ "InvalidDeviceNickname": [ "APT$", "aw" ] }', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ApplyId\\": 1295006,\\n \\"InvalidDetailList\\": {\\n \\"InvalidDetailList\\": [\\n {\\n \\"NickName\\": \\"\\",\\n \\"ErrorMsg\\": \\"\\",\\n \\"DeviceName\\": \\"\\"\\n }\\n ]\\n },\\n \\"RepeatedDeviceNameList\\": {\\n \\"RepeatDevieNameList\\": [\\n \\"\\"\\n ]\\n },\\n \\"InvalidDeviceNameList\\": {\\n \\"InvalidDeviceName\\": [\\n \\"{ \\\\\\"InvalidDeviceName\\\\\\": [ \\\\\\"APT$\\\\\\", \\\\\\"aw\\\\\\" ] }\\"\\n ]\\n },\\n \\"InvalidDeviceNicknameList\\": {\\n \\"InvalidDeviceNickname\\": [\\n \\"{ \\\\\\"InvalidDeviceNickname\\\\\\": [ \\\\\\"APT$\\\\\\", \\\\\\"aw\\\\\\" ] }\\"\\n ]\\n }\\n }\\n}","type":"json"}]', 'title' => 'BatchCheckDeviceNames ', 'summary' => 'Call this API to batch customize device names under a specified product. The IoT Platform validates the legitimacy of the names.'."\n", 'description' => '## How-To'."\n" ."\n" .'Use this API together with the **BatchRegisterDeviceWithApplyId** API to register multiple devices under one product and assign a unique name to each device.'."\n" ."\n" .'The batch device registration flow is as follows:'."\n" ."\n" .'1. Call this API and pass the names of the devices you want to register in batch. The IoT Platform returns an application batch ID (**ApplyId**). A successful response indicates that the request to validate the device names in batch has been successfully submitted. The actual validation is executed asynchronously and takes some time.'."\n" .'2. Call [QueryBatchRegisterDeviceStatus](~~69483~~) to view the result of the name validation.'."\n" .'3. Call [BatchRegisterDeviceWithApplyId](~~69514~~) to register the devices in batch.'."\n" .'4. (Optional) Call [QueryBatchRegisterDeviceStatus](~~69483~~) to check the device registration result.'."\n" .'5. Call [QueryPageByApplyId](~~69518~~) to view the information of the registered devices.'."\n" ."\n" .'## Limits'."\n" ."\n" .'You can define up to 10,000 device names in a single call.'."\n" ."\n" .'## QPS Limit'."\n" ."\n" .'Each Alibaba Cloud account can make a maximum of 10 queries per second (QPS) to this API.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:BatchCheckDeviceNames', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchCheckDeviceNames'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'BatchCheckImportDevice' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'> If your instance has an ID, you must specify this parameter. Otherwise, the request fails. If no Overview page exists or no instance ID is displayed, you do not need to specify this parameter.'."\n" ."\n" .'For more information, see the [Overview](~~356505~~) topic of IoT instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot-1n8t****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the gateway product to which the devices belong.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceList', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Sn' => ['type' => 'string', 'required' => false, 'description' => 'The serial number (SN) of the device.'."\n" ."\n" .'The SN must be 1 to 64 characters in length, and can contain letters, digits, and underscores (\\_).'."\n" ."\n" .'> You can specify up to 10,000 SNs in a single call. If the number of SNs reaches this limit, the excess SNs are discarded.'."\n", 'example' => 'QC4******001', 'title' => ''], 'DeviceName' => ['type' => 'string', 'required' => true, 'description' => 'The DeviceName of the device.'."\n" ."\n" .'The DeviceName must be 4 to 32 characters in length, and can contain letters, digits, hyphens (-), underscores (\\_), at signs (@), periods (.), and colons (:).'."\n" ."\n" .'The DeviceName must be unique in the product.'."\n" ."\n" .'> You can specify up to 10,000 DeviceNames in a single call. If the number of DeviceNames reaches this limit, the excess DeviceNames are discarded.'."\n", 'example' => 'light', 'title' => ''], 'DeviceSecret' => ['type' => 'string', 'required' => true, 'description' => 'The DeviceSecret of the device.'."\n" ."\n" .'The DeviceSecret must be 1 to 32 characters in length, and can contain letters, digits, hyphens (-), underscores (\\_), at signs (@), periods (.), and colons (:).'."\n" ."\n" .'> You can specify up to 10,000 DeviceSecrets in a single call. If the number of DeviceSecrets reaches this limit, the excess DeviceSecrets are discarded.'."\n", 'example' => 'b4d43f7******10ba5e5', 'title' => ''], ], 'required' => false, 'description' => 'Device Information.', 'title' => '', 'example' => '', ], 'required' => true, 'maxItems' => 10000, 'description' => 'The devices that you want to verify.'."\n", 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the request fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data returned if the request succeeds. The data includes the information about devices that failed to be verified.'."\n", 'type' => 'object', 'properties' => [ 'InvalidDetailList' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ErrorMsg' => ['type' => 'string', 'description' => 'The error message returned when device import fails. ', 'example' => 'The device name is illegal.', 'title' => ''], 'Sn' => ['type' => 'string', 'description' => 'The device serial number (SN). ', 'example' => 'QC4001#', 'title' => ''], 'DeviceName' => ['type' => 'string', 'description' => 'The device name.', 'example' => 'light%', 'title' => ''], 'DeviceSecret' => ['type' => 'string', 'description' => 'The device secret. ', 'example' => ' ^67$', 'title' => ''], ], 'description' => 'Information about an invalid device. ', 'title' => '', 'example' => '', ], 'description' => 'A list of invalid devices. ', 'title' => '', 'example' => '', ], 'RepeatedDeviceNameList' => [ 'type' => 'array', 'items' => ['description' => 'When device information validation fails, a duplicate device name is returned.', 'type' => 'string', 'example' => '{ "RepeatedDeviceNameList": [ "abcd", "asdf" ] }', 'title' => ''], 'description' => 'When device information validation fails, the list of duplicate device names is returned.', 'title' => '', 'example' => '', ], 'InvalidSnList' => [ 'type' => 'array', 'items' => ['description' => 'When device information validation fails, an invalid device serial number is returned.', 'type' => 'string', 'example' => '{ "InvalidSnList": [ "" ] }', 'title' => ''], 'description' => 'When device information validation fails, the list of invalid device serial numbers is returned.', 'title' => '', 'example' => '', ], 'InvalidDeviceSecretList' => [ 'type' => 'array', 'items' => ['description' => 'When device information validation fails, an invalid device secret is returned.', 'type' => 'string', 'example' => '{ "InvalidDeviceSecretList": [ "^67$", "1" ] }', 'title' => ''], 'description' => 'When device information validation fails, the list of invalid device secrets is returned.', 'title' => '', 'example' => '', ], 'InvalidDeviceNameList' => [ 'type' => 'array', 'items' => ['description' => 'An invalid device name returned when device information validation fails. ', 'type' => 'string', 'example' => '{ "InvalidDeviceNameList": [ "APT$", "aw" ] }', 'title' => ''], 'description' => 'A list of invalid device names returned when device information validation fails. ', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.device.TooManyDeviceNamesPerRequest', 'errorMessage' => 'The devices you query exceed the maximum number.', 'description' => 'The devices you query exceed the maximum number.'], ['errorCode' => 'iot.device.NoneDeviceNameElement', 'errorMessage' => 'The DeviceName list is empty.', 'description' => 'The DeviceName list is empty.'], ['errorCode' => 'iot.device.InvalidDeviceParams', 'errorMessage' => 'The request parameters are invalid.', 'description' => 'The parameters are invalid.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"InvalidDetailList\\": [\\n {\\n \\"ErrorMsg\\": \\"The device name is illegal.\\",\\n \\"Sn\\": \\"QC4001#\\",\\n \\"DeviceName\\": \\"light%\\",\\n \\"DeviceSecret\\": \\"\\\\t^67$\\"\\n }\\n ],\\n \\"RepeatedDeviceNameList\\": [\\n \\"{ \\\\\\"RepeatedDeviceNameList\\\\\\": [ \\\\\\"abcd\\\\\\", \\\\\\"asdf\\\\\\" ] }\\"\\n ],\\n \\"InvalidSnList\\": [\\n \\"{ \\\\\\"InvalidSnList\\\\\\": [ \\\\\\"\\\\\\" ] }\\"\\n ],\\n \\"InvalidDeviceSecretList\\": [\\n \\"{ \\\\\\"InvalidDeviceSecretList\\\\\\": [ \\\\\\"^67$\\\\\\", \\\\\\"1\\\\\\" ] }\\"\\n ],\\n \\"InvalidDeviceNameList\\": [\\n \\"{ \\\\\\"InvalidDeviceNameList\\\\\\": [ \\\\\\"APT$\\\\\\", \\\\\\"aw\\\\\\" ] }\\"\\n ]\\n }\\n}","type":"json"}]', 'title' => 'Batch validate imported devices', 'summary' => 'Invoke this API to batch validate imported devices. ', 'description' => '## Queries per second (QPS) limit'."\n" ."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 100.'."\n" ."\n" .'> All Resource Access Management (RAM) users under an Alibaba Cloud account share the quota of that Alibaba Cloud account. ', 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters document](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:BatchCheckImportDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchCheckImportDevice'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'BatchCheckVehicleDevice' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'BatchCheckVehicleDevice', 'type' => 'string', 'required' => true, 'example' => 'iot-1n8t****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the cloud gateway product to which the device belongs. ', 'type' => 'string', 'required' => true, 'example' => 'a1Bw****', 'title' => ''], ], [ 'name' => 'DeviceList', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'DeviceName' => ['type' => 'string', 'required' => false, 'description' => 'The device name that must be provided when validating imported GB/T 32960 protocol cloud gateway devices. '."\n" ."\n" .'The device name supports English letters and digits, with a length of 4 to 17 characters. '."\n" ."\n" .'> A single API invocation can include up to 10,000 device names. Data exceeding this limit will be discarded. ', 'example' => 'vin0001', 'title' => ''], 'DeviceId' => ['type' => 'string', 'required' => false, 'description' => 'The device ID that must be specified when validating imported JT/T 808 protocol cloud gateway devices. '."\n" ."\n" .'The device ID can contain letters, digits, and hyphens (-), and must be 4 to 30 characters in length. '."\n" ."\n" .'> A single API call supports up to 10,000 device IDs. Data exceeding this limit will be discarded.', 'example' => 'di0001', 'title' => ''], 'DeviceSecret' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], 'DeviceModel' => ['type' => 'string', 'required' => false, 'description' => 'The device model that must be specified when validating imported JT/T 808 protocol cloud gateway devices. '."\n" ."\n" .'The device model can contain letters, digits, and hyphens (-), and must be 4 to 30 characters in length. '."\n" ."\n" .'> A single API call supports up to 10,000 device models. Data exceeding this limit will be discarded. ', 'example' => 'dm0001', 'title' => ''], 'Manufacturer' => ['type' => 'string', 'required' => false, 'description' => 'The Device Manufacturer ID that must be provided when validating imported JT/T 808 protocol cloud gateway devices. '."\n" ."\n" .'The Device Manufacturer ID supports English letters, digits, and hyphens (-), with a length of 4 to 11 characters. '."\n" ."\n" .'> A single API invocation can include up to 10,000 Device Manufacturer IDs. Data exceeding this limit will be discarded. ', 'example' => 'mf0001', 'title' => ''], ], 'required' => false, 'description' => 'Device information. ', 'title' => '', 'example' => '', ], 'required' => true, 'maxItems' => 10000, 'description' => 'The list of devices to be validated in batch. ', 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see **Error Codes** below. ', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails. ', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The Unique Identifier that Alibaba Cloud generates for this request. ', 'type' => 'string', 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: The invocation failed. ', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'If the call succeeds and there is any validation-failed data, the corresponding failure information is returned. ', 'type' => 'object', 'properties' => [ 'InvalidDetailList' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ErrorMsg' => ['type' => 'string', 'description' => 'The error message returned when device validation fails.', 'example' => 'The device name is illegal.', 'title' => ''], 'DeviceModel' => ['type' => 'string', 'description' => 'The device model of the JT/T 808 protocol cloud gateway device.', 'example' => 'dm_*0001', 'title' => ''], 'DeviceName' => ['type' => 'string', 'description' => 'The device name of the GB/T 32960 protocol cloud gateway device.', 'example' => 'device_*0001', 'title' => ''], 'DeviceId' => ['type' => 'string', 'description' => 'The Device ID of the JT/T 808 protocol cloud gateway device.', 'example' => 'di_*0001', 'title' => ''], 'Manufacturer' => ['type' => 'string', 'description' => 'The device manufacturer ID of the JT/T 808 protocol cloud gateway device.', 'example' => 'mf_*0001', 'title' => ''], ], 'description' => 'Information about an invalid device.', 'title' => '', 'example' => '', ], 'description' => 'Information about the list of invalid devices.', 'title' => '', 'example' => '', ], 'InvalidManufacturerList' => [ 'description' => 'The list of invalid Device Manufacturer IDs returned when validation of JT/T 808 protocol cloud gateway device information fails. ', 'type' => 'array', 'items' => ['description' => 'The list of invalid device manufacturer IDs returned when validation of JT/T 808 protocol cloud gateway device information fails.', 'type' => 'string', 'example' => '{ "InvalidManufacturerList": [ "manufacturer#&_", "aw" ] }', 'title' => ''], 'title' => '', 'example' => '', ], 'RepeatedDeviceIdList' => [ 'description' => 'The list of repeated Device IDs returned when validation of JT/T 808 protocol cloud gateway device information fails. ', 'type' => 'array', 'items' => ['description' => 'The list of repeated Device IDs returned when validation of JT/T 808 protocol cloud gateway device information fails. ', 'type' => 'string', 'example' => '{ "InvalidDeviceIdList": [ "deviceId01", "deviceId02" ] }', 'title' => ''], 'title' => '', 'example' => '', ], 'RepeatedDeviceNameList' => [ 'type' => 'array', 'items' => ['type' => 'string', 'description' => 'The list of duplicate device names returned when validation of GB/T 32960 protocol cloud gateway device information fails. ', 'example' => '{ "RepeatedDeviceNameList": [ "abcd", "asdf" ] }', 'title' => ''], 'description' => 'The list of duplicate device names returned when validation of GB/T 32960 protocol cloud gateway device information fails.', 'title' => '', 'example' => '', ], 'InvalidDeviceIdList' => [ 'description' => 'The list of invalid Device IDs returned when validation of JT/T 808 protocol cloud gateway device information fails. ', 'type' => 'array', 'items' => ['description' => 'The list of invalid Device IDs returned when validation of JT/T 808 protocol cloud gateway device information fails. ', 'type' => 'string', 'example' => '{ "InvalidDeviceIdList": [ "DEVIC^*$" ] }', 'title' => ''], 'title' => '', 'example' => '', ], 'InvalidDeviceModelList' => [ 'description' => 'The list of invalid device models when validation of JT/T 808 protocol cloud gateway device information fails. ', 'type' => 'array', 'items' => ['description' => 'The list of invalid device models returned when validation of JT/T 808 protocol cloud gateway device information fails. ', 'type' => 'string', 'example' => '{ "InvalidDeviceModelList": [ "DEM$", "DE" ] }', 'title' => ''], 'title' => '', 'example' => '', ], 'InvalidDeviceNameList' => [ 'type' => 'array', 'items' => ['type' => 'string', 'description' => 'The list of invalid device names returned when validation of GB/T 32960 protocol cloud gateway device information fails. ', 'example' => '{ "InvalidDeviceNameList": [ "APT$", "aw" ] }', 'title' => ''], 'description' => 'The list of invalid device names returned when validation of GB/T 32960 protocol cloud gateway device information fails. ', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.device.TooManyDeviceNamesPerRequest', 'errorMessage' => 'The devices you query exceed the maximum number.', 'description' => 'The devices you query exceed the maximum number.'], ['errorCode' => 'iot.device.NoneDeviceNameElement', 'errorMessage' => 'The DeviceName list is empty.', 'description' => 'The DeviceName list is empty.'], ['errorCode' => 'iot.device.InvalidDeviceParams', 'errorMessage' => 'The request parameters are invalid.', 'description' => 'The parameters are invalid.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"InvalidDetailList\\": [\\n {\\n \\"ErrorMsg\\": \\"The device name is illegal.\\",\\n \\"DeviceModel\\": \\"dm_*0001\\",\\n \\"DeviceName\\": \\"device_*0001\\",\\n \\"DeviceId\\": \\"di_*0001\\",\\n \\"Manufacturer\\": \\"mf_*0001\\"\\n }\\n ],\\n \\"InvalidManufacturerList\\": [\\n \\"{ \\\\\\"InvalidManufacturerList\\\\\\": [ \\\\\\"manufacturer#&_\\\\\\", \\\\\\"aw\\\\\\" ] }\\"\\n ],\\n \\"RepeatedDeviceIdList\\": [\\n \\"{ \\\\\\"InvalidDeviceIdList\\\\\\": [ \\\\\\"deviceId01\\\\\\", \\\\\\"deviceId02\\\\\\" ] }\\"\\n ],\\n \\"RepeatedDeviceNameList\\": [\\n \\"{ \\\\\\"RepeatedDeviceNameList\\\\\\": [ \\\\\\"abcd\\\\\\", \\\\\\"asdf\\\\\\" ] }\\"\\n ],\\n \\"InvalidDeviceIdList\\": [\\n \\"{ \\\\\\"InvalidDeviceIdList\\\\\\": [ \\\\\\"DEVIC^*$\\\\\\" ] }\\"\\n ],\\n \\"InvalidDeviceModelList\\": [\\n \\"{ \\\\\\"InvalidDeviceModelList\\\\\\": [ \\\\\\"DEM$\\\\\\", \\\\\\"DE\\\\\\" ] }\\"\\n ],\\n \\"InvalidDeviceNameList\\": [\\n \\"{ \\\\\\"InvalidDeviceNameList\\\\\\": [ \\\\\\"APT$\\\\\\", \\\\\\"aw\\\\\\" ] }\\"\\n ]\\n }\\n}","type":"json"}]', 'title' => 'BatchCheckVehicleDevice ', 'summary' => 'Invoke this API to batch validate imported cloud gateway devices. ', 'description' => '## How-To '."\n" .'This API is used to batch validate cloud gateway devices that use the JT/T 808 protocol or the GB/T 32960 protocol. '."\n" ."\n" .'## QPS Limit '."\n" ."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 100. '."\n" ."\n" .'> All Resource Access Management (RAM) users under an Alibaba Cloud account share the quota of that Alibaba Cloud account. ', 'requestParamsDescription' => 'When calling the API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters document](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchCheckVehicleDevice'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'BatchClearEdgeInstanceDeviceConfig' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance that you want to manage and obtain the instance ID.'."\n" ."\n" .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'F3APY0tPLhmgGtx0****', 'title' => ''], ], [ 'name' => 'IotIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of device IDs to query. You can call the [QueryEdgeInstanceDevice](~~135261~~) API to query the device IDs in the instance.'."\n" ."\n" .'> You can specify up to 20 device IDs in a single invocation.', 'type' => 'array', 'items' => ['type' => 'string', 'description' => 'The IDs of the devices. You can call the [QueryEdgeInstanceDevice](~~135261~~) operation to query the IDs of the devices that are bound to an edge instance.'."\n" ."\n" .'> You can specify a maximum of 20 device IDs when you call the BatchClearEdgeInstanceDeviceConfig operation.'."\n", 'title' => '', 'example' => ''], 'required' => true, 'example' => 'BXPV9Ks3bxwM9fD****0000101', 'maxItems' => 21, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message that is returned if the call failed.'."\n", 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '0BC2AA1C-E4D0-4E78-A70F-08C9A90686B0', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"0BC2AA1C-E4D0-4E78-A70F-08C9A90686B0\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Batch Delete Device Configurations from an Edge Instance', 'summary' => 'Batch delete device configurations from an edge instance.', 'description' => '## Conditions'."\n" .'Each Alibaba Cloud account can send a maximum of 5 queries per second (QPS) to invoke this API.'."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:BatchClearEdgeInstanceDeviceConfig', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchClearEdgeInstanceDeviceConfig'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'BatchCreateSoundCodeLabel' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'Total', 'in' => 'formData', 'schema' => ['description' => 'The number of sound codes to be created in the batch. You can specify a value from 1 to 200. The system automatically generates a label for each sound code by using a random combination of letters and digits.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '200', 'minimum' => '1', 'example' => '20', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID. You can view the **ID** of your current instance on the **Instance Overview** page in the IoT Platform console. '."\n" ."\n" .'> '."\n" .'- If an instance ID exists, you must specify it. Otherwise, the invocation fails. '."\n" .'- If no instance ID exists, you do not need to specify this parameter. '."\n" .'> '."\n" ."\n" .'For more information about instances, see [How to Obtain an Instance ID](~~267533~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ScheduleCode', 'in' => 'formData', 'schema' => ['description' => 'The unique identifier of the schedule.'."\n", 'type' => 'string', 'required' => true, 'example' => 'Md3ZiTL888K9llXDy7890***********', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'formData', 'schema' => ['description' => 'The description of the batch. The description can be 1 to 64 characters in length. Each Chinese character counts as two characters.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.soundcodeservice.NotSigned', 'title' => ''], 'Data' => ['description' => 'The unique identifier of the sound code label batch.'."\n", 'type' => 'string', 'example' => 'Md3ZiTL888K9llXDy7890***********', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.'."\n", 'type' => 'string', 'example' => 'sound code service has not been signed', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.'."\n", 'type' => 'string', 'example' => '66FF51D3-***-49F1-B1A2-***', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: The invocation failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.soundcodeschedule.NotExists', 'errorMessage' => 'schedule not exists', 'description' => ''], ['errorCode' => 'iot.soundcode.InvalidLabelBatchDescription', 'errorMessage' => 'invalid sound code label batch description', 'description' => ''], ['errorCode' => 'iot.soundcode.InvalidIotInstanceId', 'errorMessage' => 'invalid iot instance id', 'description' => 'invalid iot instance id'], ], 403 => [ ['errorCode' => 'iot.soundcodeservice.NotSigned', 'errorMessage' => 'sound code service has not been signed', 'description' => ''], ], 429 => [ ['errorCode' => 'iot.soundcode.EncodeLimit', 'errorMessage' => 'sound code encode limit exceeded', 'description' => 'sound code encode limit exceeded'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"Data\\": \\"Md3ZiTL888K9llXDy7890***********\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'BatchCreateSoundCodeLabel'."\n", 'summary' => 'Invoke this API to batch create sound code labels for a specified schedule.'."\n", 'description' => '## Queries per second (QPS) limit '."\n" .'Each Alibaba Cloud account can send a maximum of 2 requests per second (QPS) to call this API. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When calling this API, you must include both the common request parameters and the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:BatchCreateSoundCodeLabel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchCreateSoundCodeLabel'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'BatchCreateSoundCodeLabelWithLabels' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID.You can view the **ID** of your current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify it. Otherwise, the invocation fails.'."\n" .'- If no ID exists, you do not need to specify it.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [How to Obtain an Instance ID](~~267533~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ScheduleCode', 'in' => 'formData', 'schema' => ['description' => 'The unique identifier of the schedule.', 'type' => 'string', 'required' => true, 'example' => 'Md3ZiTL888K9llXDy7890***********', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'formData', 'schema' => ['description' => 'The description of the batch. The length is 1–64 characters. Each Chinese character counts as two characters.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'Labels', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of labels. You can specify 1 to 200 labels. Each label is 1–64 characters long. Each Chinese character counts as two characters. Labels must be unique under the schedule.', 'type' => 'array', 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'required' => true, 'example' => 'test', 'maxItems' => 200, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation failed. For more information, see [Error Codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.soundcodeservice.NotSigned', 'title' => ''], 'Data' => ['description' => 'The unique identifier of the sound code label batch.', 'type' => 'string', 'example' => 'Md3ZiTL888K9llXDy7890***********', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation failed.'."\n", 'type' => 'string', 'example' => 'sound code service has not been signed', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => '66FF51D3-***-49F1-B1A2-***', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" ."\n" .'- **true**: The invocation succeeded.'."\n" ."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.soundcodeschedule.NotExists', 'errorMessage' => 'schedule not exists', 'description' => ''], ['errorCode' => 'iot.soundcode.InvalidLabel', 'errorMessage' => 'invalid sound code label', 'description' => ''], ['errorCode' => 'iot.soundcode.InvalidLabelBatchDescription', 'errorMessage' => 'invalid sound code label batch description', 'description' => ''], ['errorCode' => 'iot.soundcode.InvalidIotInstanceId', 'errorMessage' => 'invalid iot instance id', 'description' => 'invalid iot instance id'], ], 403 => [ ['errorCode' => 'iot.soundcodeservice.NotSigned', 'errorMessage' => 'sound code service has not been signed', 'description' => ''], ], 429 => [ ['errorCode' => 'iot.soundcode.EncodeLimit', 'errorMessage' => 'sound code encode limit exceeded', 'description' => 'sound code encode limit exceeded'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"Data\\": \\"Md3ZiTL888K9llXDy7890***********\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'BatchCreateSoundCodeLabelWithLabels', 'summary' => 'Invoke this API to batch create specified sound code labels for a specified schedule.', 'description' => '## Queries per second (QPS) limit '."\n" .'Each Alibaba Cloud account can send a maximum of 2 requests per second (QPS) to call this API. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling the API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:BatchCreateSoundCodeLabelWithLabels', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchCreateSoundCodeLabelWithLabels'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'BatchDeleteDeviceGroupRelations' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'GroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the group. The ID is the globally unique identifier (GUID) for the group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'W16X8Tvdosec****', 'title' => ''], ], [ 'name' => 'Device', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of devices to be removed from the group.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ProductKey' => ['description' => 'The ProductKeys of the products to which the devices belong. You can specify a maximum of 200 ProductKeys.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1kORrK****', 'title' => ''], 'DeviceName' => ['description' => 'The names of the devices to be removed. You can specify a maximum of 200 devices.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ZHuPo6sZzv7pOzYh****', 'title' => ''], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 200, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'SuccessDeviceCount' => ['description' => 'The number of devices that are removed from the group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '8739385E-143F-4389-B900-B7DF9174CE0D', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'AlreadyRelatedGroupDeviceCount' => ['description' => 'The number of devices that exist in the group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ValidDeviceCount' => ['description' => 'The number of valid devices that you specified.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SuccessDeviceCount\\": 2,\\n \\"RequestId\\": \\"8739385E-143F-4389-B900-B7DF9174CE0D\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"AlreadyRelatedGroupDeviceCount\\": 2,\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ValidDeviceCount\\": 2\\n}","type":"json"}]', 'title' => 'BatchDeleteDeviceGroupRelations', 'summary' => 'Invoke the BatchDeleteDeviceGroupRelations API to batch delete devices from a specified group. This operation only removes the association between the devices and the group and does not delete the devices themselves.'."\n", 'description' => '## QPS Limit'."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 50. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When invoking this API, you must include both the common request parameters and the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:BatchDeleteDeviceGroupRelations', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchDeleteDeviceGroupRelations'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'BatchDeleteEdgeInstanceChannel' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. Do not specify this parameter for public instances. Specify this parameter for Enterprise instances.', 'example' => 'iot_instc_pu****_c*-v64********', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the edge instance. You can obtain the ID by moving the mouse pointer over the target edge instance name on the **Edge Instances** page in the [Edge Computing console](https://iot.console.aliyun.com/le/instance/list).'."\n" ."\n" .'You can also call the [QueryEdgeInstance](~~135214~~) API to obtain the edge instance ID.', 'example' => '6GaTtvTj7vJhiS******', 'required' => true, 'type' => 'string', 'title' => ''], ], [ 'name' => 'DriverId', 'in' => 'query', 'schema' => ['description' => 'The driver ID. You can obtain the ID by moving the mouse pointer over the target driver name on the **Driver Management** page in the [Edge Computing console](https://iot.console.aliyun.com/le/instance/list).'."\n" ."\n" .'You can also call the [QueryEdgeDriver](~~155776~~) API to obtain the driver ID.', 'example' => '9c1ae7bd59f1469abbdccc9592******', 'required' => true, 'type' => 'string', 'title' => ''], ], [ 'name' => 'ChannelIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'A list of channel IDs of the driver. You can call the [QueryEdgeInstanceChannel](~~162253~~) API to obtain channel IDs.'."\n" ."\n" .'> You can specify a maximum of 20 channel IDs in a single request.', 'example' => 'BE0BD49EF5EF4D119D09CC1B25******', 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'maxItems' => 21, 'required' => true, 'type' => 'array', 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'properties' => [ 'Code' => ['description' => 'The return code of the API. A value of Success indicates that the request succeeded. Other values indicate error codes. For more information, see [Error Codes](~~135200~~).', 'example' => 'Success', 'type' => 'string', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'example' => 'request parameter error', 'type' => 'string', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'example' => 'C95D46F1-0B13-46C7-9FA7-FDBFCF2F9F6F', 'type' => 'string', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. A value of true indicates success, and false indicates failure.', 'example' => 'true', 'type' => 'boolean', 'title' => ''], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"C95D46F1-0B13-46C7-9FA7-FDBFCF2F9F6F\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Batch Delete Channels of a Driver in an Edge Instance', 'summary' => 'Batch delete channels of a driver in an edge instance.', 'description' => '## Conditions'."\n" .'Each Alibaba Cloud account can send a maximum of 5 queries per second (QPS) to call this API.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When you invoke this API, you must specify both the common request parameters and the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Request Parameters](~~135196~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchDeleteEdgeInstanceChannel'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'BatchGetDeviceBindStatus' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. Do not pass this parameter for public instances. Pass this parameter for Enterprise instances.', 'type' => 'string', 'required' => false, 'example' => 'iot-v64********', 'title' => ''], ], [ 'name' => 'IotIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of Device IDs. You can call the [QueryDevice](~~69905~~) API to query Device IDs.'."\n" ."\n" .'> You can specify up to 20 Device IDs in a single invocation.', 'type' => 'array', 'items' => ['description' => 'Device ID. You can call the [QueryDevice](~~69905~~) API to query Device IDs.', 'type' => 'string', 'required' => false, 'example' => 'sjI0Sd124XFYyjBYMiYO******', 'title' => ''], 'required' => true, 'example' => 'sjI0Sd124XFYyjBYMiYO******', 'maxItems' => 21, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the API. A value of Success indicates success. Other values indicate error codes. For more information, see [Error Codes](~~135200~~).', 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation failed.', 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => 'B1DF865D-2474-4CD5-9B7E-59B06D204CBF', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. true indicates success. false indicates failure.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data returned when the invocation succeeded.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'BindStatus' => ['description' => 'Indicates whether the gateway or device is attached to the edge instance.'."\n" ."\n" .'- 0: not attached.'."\n" ."\n" .'- 1: attached.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'InstanceId' => ['description' => '实例ID。', 'type' => 'string', 'example' => 'iot-v64********', 'title' => ''], 'IotId' => ['description' => 'Device ID.', 'type' => 'string', 'example' => 'sjI0Sd124XFYyjBYMiYO******', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"B1DF865D-2474-4CD5-9B7E-59B06D204CBF\\",\\n \\"Success\\": true,\\n \\"Data\\": [\\n {\\n \\"BindStatus\\": 1,\\n \\"InstanceId\\": \\"iot-v64********\\",\\n \\"IotId\\": \\"sjI0Sd124XFYyjBYMiYO******\\"\\n }\\n ]\\n}","type":"json"}]', 'title' => 'Batch Query the Status of Gateways or Devices Attached to an Edge Instance', 'summary' => 'Invoke this API to batch query the status of gateways or devices attached to an edge instance.', 'description' => '## Condition'."\n" .'Each Alibaba Cloud account can send a maximum of 5 queries per second (QPS) to invoke this API.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~135196~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:BatchGetDeviceBindStatus', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchGetDeviceBindStatus'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'BatchGetDeviceState' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the ID of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n\n" .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n" .'>* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n" ."\n\n" .'> If you configure this parameter, you must also specify a value for the **DeviceName** parameter.', 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The **List** of **Name**s of devices whose running **status** you want to **View**. '."\n" .'> If you specify this parameter, you must also specify **ProductKey**. '."\n" .'> '."\n", 'type' => 'array', 'items' => ['type' => 'string', 'description' => 'The names of the devices.'."\n" ."\n\n" .'> If you configure this parameter, you must also specify a value for the **ProductKey** parameter.', 'title' => '', 'example' => ''], 'required' => false, 'example' => 'light', 'maxItems' => 51, 'title' => '', ], ], [ 'name' => 'IotId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'A list of device IDs whose running status you want to view.'."\n" ."\n" .'> **IotId** is a unique device identifier and has a one-to-one mapping with the combination of **ProductKey** and **DeviceName**. If you specify this parameter, you do not need to specify **ProductKey** and **DeviceName**. If you specify both **IotId** and the **ProductKey**/**DeviceName** combination, **IotId** takes precedence.'."\n" .'>', 'type' => 'array', 'items' => ['type' => 'string', 'description' => 'The IDs of the devices.'."\n" ."\n\n" ."\n" .'> The IotId parameter specifies a globally unique identifier (GUID) for the device. The value of the **IotId** parameter corresponds to a combination of the values of the **ProductKey** and **DeviceName** parameters. If you configure this parameter, you do not need to configure the **ProductKey** or **DeviceName** parameter. If you specify values for the **IotId**, **ProductKey**, and **DeviceName** parameters, the value of the **IotId** parameter takes precedence.', 'title' => '', 'example' => ''], 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'maxItems' => 51, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'DeviceStatusList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'DeviceStatus' => [ 'description' => 'The device status information returned if the call is successful. For more information, see the following parameters that are included in the DeviceStatus parameter.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the device. Valid values: Valid values:'."\n" ."\n" .'* **ONLINE**: The device is online.'."\n" .'* **OFFLINE**: The device is offline.'."\n" .'* **UNACTIVE**: The device is not activated.'."\n" .'* **DISABLE**: The device is disabled.'."\n", 'type' => 'string', 'example' => 'OFFLINE', 'title' => ''], 'LastOnlineTime' => ['description' => 'The last time when the device was online.'."\n", 'type' => 'string', 'example' => '2020-01-17 16:19:11', 'title' => ''], 'DeviceName' => ['description' => 'The DeviceName of the device.'."\n", 'type' => 'string', 'example' => 'light', 'title' => ''], 'DeviceId' => ['description' => 'The ID of the device (expired).'."\n" ."\n" .'> This parameter is no longer supported. Do not use this parameter to identify a device. You can use the value of the **IotId**** parameter or a combination of the values of the ****ProductKey** and DeviceName parameters to identify a device.'."\n", 'type' => 'string', 'example' => 'dwnS41bhNxjslDAI****', 'title' => ''], 'Timestamp' => ['type' => 'integer', 'format' => 'int64', 'description' => '', 'example' => '1557062301656', 'title' => ''], 'AsAddress' => ['description' => 'The IP address of the device.'."\n", 'type' => 'string', 'example' => '192.0.2.1', 'title' => ''], 'IotId' => ['description' => 'The ID of the device. The ID is the unique identifier that is issued by IoT Platform to the device.'."\n", 'type' => 'string', 'example' => 'dwnS41bhNxjslDAI****000100', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"DeviceStatusList\\": {\\n \\"DeviceStatus\\": [\\n {\\n \\"Status\\": \\"OFFLINE\\",\\n \\"LastOnlineTime\\": \\"2020-01-17 16:19:11\\",\\n \\"DeviceName\\": \\"light\\",\\n \\"DeviceId\\": \\"dwnS41bhNxjslDAI****\\",\\n \\"Timestamp\\": 1557062301656,\\n \\"AsAddress\\": \\"192.0.2.1\\",\\n \\"IotId\\": \\"dwnS41bhNxjslDAI****000100\\"\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'View the running status of specified devices under the same product in batch', 'summary' => 'Invoke this API to batch query the running status of specified devices under the same product.'."\n", 'description' => '## How-To'."\n" ."\n" .'When invoking this API:'."\n" ."\n" .'- Pass both **ProductKey** and multiple **DeviceName** values as request parameters to query the running status of multiple devices under the same product.'."\n" .'- Pass multiple **IotId** values as request parameters to query the running status of devices across different products, since **IotId** uniquely identifies a device regardless of its product.'."\n" ."\n" .'>You can query the running status of up to 50 devices in a single API call.'."\n" .'>'."\n" ."\n" .'## Queries Per Second (QPS) Limit'."\n" ."\n" .'The maximum queries per second (QPS) limit for this API is 50 for a single Alibaba Cloud account. '."\n" .'> All Resource Access Management (RAM) users under an Alibaba Cloud account share the quota of that Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters documentation](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:BatchGetDeviceState', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchGetDeviceState'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'BatchGetEdgeDriver' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for public instances. However, this parameter is required for the instances that you have purchased.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'DriverIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'A list of driver IDs. You can specify up to 30 driver IDs, which means you can query information about up to 30 drivers in a single request. For the format, see the request sample below in this topic.', 'type' => 'array', 'items' => ['type' => 'string', 'description' => 'The IDs of drivers whose information is to be queried. You can specify a maximum of 30 driver IDs in this parameter.'."\n", 'title' => '', 'example' => ''], 'required' => true, 'example' => 'fec565038d7544978d9aed5c1a******', 'maxItems' => 31, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code. Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call failed.'."\n", 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'A42CAB88-6E26-4DC7-9A35-584D17E82DE0', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. true indicates that the call was successful. false indicates that the call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'DriverList' => [ 'description' => 'The information about each driver.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'GmtCreateTimestamp' => ['description' => 'The time when the driver was created. The time is displayed in UTC.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1581912859713', 'title' => ''], 'Type' => ['description' => 'The type of the driver. Valid values:'."\n" ."\n" .'* 0: official driver'."\n" .'* 1: custom driver'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'CpuArch' => ['description' => 'The CPU architecture that the driver supports. Valid values:'."\n" ."\n" .'* ARMv7'."\n" .'* ARMv7-HF'."\n" .'* AArch64'."\n" .'* x86-64'."\n" .'* x86'."\n", 'type' => 'string', 'example' => 'x86-64', 'title' => ''], 'DriverId' => ['description' => 'The ID of the driver.'."\n", 'type' => 'string', 'example' => 'fec565038d7544978d9aed5c1a******', 'title' => ''], 'IsBuiltIn' => ['description' => 'Indicates whether the driver is a built-in driver.'."\n" ."\n" .'* true: indicates that the driver is a built-in driver, that is, the driver code is pre-configured on the gateway device.'."\n" .'* false: indicates that the driver is not a built-in driver.'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], 'GmtModifiedTimestamp' => ['description' => 'The time when the driver was last modified. The time is displayed in UTC.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1581912859713', 'title' => ''], 'Runtime' => ['description' => 'The language in which the driver is programmed. Valid values:'."\n" ."\n" .'* nodejs8: Node.js v8'."\n" .'* python3: Python v3.5'."\n" .'* c: C'."\n", 'type' => 'string', 'example' => 'c', 'title' => ''], 'DriverName' => ['description' => 'The name of the driver.'."\n", 'type' => 'string', 'example' => 'MyLedDriver', 'title' => ''], 'DriverProtocol' => ['description' => 'The communications protocol that the driver uses. Valid values:'."\n" ."\n" .'* modbus: Modbus protocol'."\n" .'* opc-ua: OPC UA protocol'."\n" .'* customize: custom protocol'."\n", 'type' => 'string', 'example' => 'customize', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"A42CAB88-6E26-4DC7-9A35-584D17E82DE0\\",\\n \\"Success\\": true,\\n \\"DriverList\\": [\\n {\\n \\"GmtCreateTimestamp\\": 1581912859713,\\n \\"Type\\": 1,\\n \\"CpuArch\\": \\"x86-64\\",\\n \\"DriverId\\": \\"fec565038d7544978d9aed5c1a******\\",\\n \\"IsBuiltIn\\": false,\\n \\"GmtModifiedTimestamp\\": 1581912859713,\\n \\"Runtime\\": \\"c\\",\\n \\"DriverName\\": \\"MyLedDriver\\",\\n \\"DriverProtocol\\": \\"customize\\"\\n }\\n ]\\n}","type":"json"}]', 'title' => 'Batch query driver information', 'summary' => 'Batch query driver information.'."\n", 'description' => '## Condition '."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account when calling this API is 5.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When invoking the API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters documentation](~~135196~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:BatchGetEdgeDriver', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchGetEdgeDriver'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'BatchGetEdgeInstanceChannel' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'Instance ID. Do not specify this parameter for public instances. Specify it for Enterprise instances. ', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'ID of the edge instance. You can obtain the ID by hovering your mouse over the target edge instance name on the **Edge Instances** page in the [edge computing console](https://iot.console.aliyun.com/le/instance/list). '."\n" ."\n" .'You can also obtain it by invoking the [QueryEdgeInstance](~~135214~~) API. ', 'type' => 'string', 'required' => true, 'example' => '6GaTtvTj7vJhiS******', 'title' => ''], ], [ 'name' => 'DriverId', 'in' => 'query', 'schema' => ['description' => 'Driver ID. You can obtain the ID by hovering your mouse over the target driver name on the **Driver Management** page in the [edge computing console](https://iot.console.aliyun.com/le/instance/list). '."\n" ."\n" .'You can also obtain it by invoking the [QueryEdgeDriver](~~155776~~) API. ', 'type' => 'string', 'required' => true, 'example' => '9c1ae7bd59f1469abbdccc9592******', 'title' => ''], ], [ 'name' => 'ChannelIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'List of driver channel IDs. You can obtain channel IDs by invoking the [QueryEdgeInstanceChannel](~~162253~~) API. '."\n" ."\n" .'> You can specify up to 20 channel IDs in a single invocation. ', 'type' => 'array', 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'required' => true, 'example' => 'BE0BD49EF5EF4D119D09CC1B25******', 'maxItems' => 21, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'Return code of the API. "Success" indicates success. Other values indicate error codes. For more information, see [error codes](~~135200~~). ', 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'Error message returned when the invocation fails. ', 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request. ', 'type' => 'string', 'example' => '5B86570E-C1A7-4569-BF7B-F7F09EB35BEB', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. true indicates success. false indicates failure. ', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Channel' => [ 'description' => 'The data returned when the request succeeds.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ChannelName' => ['description' => 'The name of the driver channel.', 'type' => 'string', 'example' => 'le_name0', 'title' => ''], 'ChannelId' => ['description' => 'The ID of the driver channel.', 'type' => 'string', 'example' => 'BE0BD49EF5EF4D119D09CC1B25******', 'title' => ''], 'ConfigList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Config' => [ 'description' => 'The list of configuration information.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'Keyword of the configuration.', 'type' => 'string', 'example' => 'key1', 'title' => ''], 'ConfigId' => ['description' => 'Configuration ID.', 'type' => 'string', 'example' => '5d6016035c1a451daf174b1051******', 'title' => ''], 'Format' => ['description' => 'The configuration format. Valid values: KV (key-value pair configuration), JSON (JSON format), and FILE (configuration file).', 'type' => 'string', 'example' => 'JSON', 'title' => ''], 'Content' => ['description' => 'The configuration content.', 'type' => 'string', 'example' => '{\\"protocol\\":\\"TCP\\", \\"ip\\":\\"1.2.3.4\\", \\"port\\":1}', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"5B86570E-C1A7-4569-BF7B-F7F09EB35BEB\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Channel\\": [\\n {\\n \\"ChannelName\\": \\"le_name0\\",\\n \\"ChannelId\\": \\"BE0BD49EF5EF4D119D09CC1B25******\\",\\n \\"ConfigList\\": {\\n \\"Config\\": [\\n {\\n \\"Key\\": \\"key1\\",\\n \\"ConfigId\\": \\"5d6016035c1a451daf174b1051******\\",\\n \\"Format\\": \\"JSON\\",\\n \\"Content\\": \\"{\\\\\\\\\\\\\\"protocol\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"TCP\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"ip\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1.2.3.4\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"port\\\\\\\\\\\\\\":1}\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'Batch query driver channels in an edge instance ', 'summary' => 'Batch query driver channels in an edge instance. ', 'description' => '## Condition '."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 5. '."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. ', 'requestParamsDescription' => 'When invoking the API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters document](~~135196~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:BatchGetEdgeInstanceChannel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchGetEdgeInstanceChannel'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'BatchGetEdgeInstanceDeviceChannel' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. Do not pass this parameter for public instances; pass it for Enterprise instances.', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the edge instance. On the **Edge Instances** page in the [Edge Computing console](https://iot.console.aliyun.com/le/instance/list), hover your mouse over the name of the target edge instance to view its ID.'."\n" ."\n" .'You can also invoke the [QueryEdgeInstance](~~135214~~) API to obtain it.', 'type' => 'string', 'required' => true, 'example' => '6GaTtvTj7vJhiS******', 'title' => ''], ], [ 'name' => 'DriverId', 'in' => 'query', 'schema' => ['description' => 'The driver ID. You can obtain it by hovering your mouse over the target driver name on the **Driver Management** page in the [edge computing console](https://iot.console.aliyun.com/le/instance/list).'."\n" ."\n" .'You can also call the [QueryEdgeDriver](~~155776~~) API to obtain it.', 'type' => 'string', 'required' => true, 'example' => '9c1ae7bd59f1469abbdccc9592******', 'title' => ''], ], [ 'name' => 'IotIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'A list of sub-device IDs. You can call the [QueryDevice](~~69905~~) API to query sub-device IDs.'."\n" ."\n" .'> A maximum of 20 sub-device IDs can be specified in a single invocation.', 'type' => 'array', 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'required' => true, 'example' => 'Hathoyxglj9jpYPyw3WN******', 'maxItems' => 21, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the API. "Success" indicates success; other values indicate error codes. For details, see [error codes](~~135200~~).', 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => '029BC40B-8353-48B3-94C3-7ABF296F0AE5', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. true indicates success; false indicates failure.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'DeviceChannelList' => [ 'description' => 'The list of driver channels associated with sub-devices.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ChannelId' => ['description' => 'The driver channel ID.', 'type' => 'string', 'example' => 'BE0BD49EF5EF4D119D09CC1B25******', 'title' => ''], 'ChannelName' => ['description' => 'The driver channel name.', 'type' => 'string', 'example' => 'le_name_update', 'title' => ''], 'IotId' => ['description' => 'The sub-device ID.', 'type' => 'string', 'example' => 'Hathoyxglj9jpYPyw3WN0******', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"029BC40B-8353-48B3-94C3-7ABF296F0AE5\\",\\n \\"Success\\": true,\\n \\"DeviceChannelList\\": [\\n {\\n \\"ChannelId\\": \\"BE0BD49EF5EF4D119D09CC1B25******\\",\\n \\"ChannelName\\": \\"le_name_update\\",\\n \\"IotId\\": \\"Hathoyxglj9jpYPyw3WN0******\\"\\n }\\n ]\\n}","type":"json"}]', 'title' => 'Batch Retrieve Driver Channels Associated with Sub-Devices', 'summary' => 'Batch retrieve driver channels associated with sub-devices.', 'description' => '## Conditions'."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 10.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters documentation](~~135196~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:BatchGetEdgeInstanceDeviceChannel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchGetEdgeInstanceDeviceChannel'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'BatchGetEdgeInstanceDeviceConfig' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance that you want to query and obtain the instance ID.'."\n" ."\n" .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'F3APY0tPLhmgGtx0****', 'title' => ''], ], [ 'name' => 'IotIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'A list of Device IDs to query. You can call the [QueryEdgeInstanceDevice](~~135261~~) API to retrieve the device IDs in an instance.'."\n" ."\n" .'> A maximum of 20 Device IDs can be specified in a single call.', 'type' => 'array', 'items' => ['type' => 'string', 'description' => 'The IDs of the devices. You can call the [QueryEdgeInstanceDevice](~~135261~~) operation to query the IDs of the devices that are bound to an edge instance.'."\n" ."\n" .'> You can specify a maximum of 20 device IDs when you call the BatchGetEdgeInstanceDeviceConfig operation.'."\n", 'title' => '', 'example' => ''], 'required' => true, 'example' => 'BXPV9Ks3bxwM9fDl****000101', 'maxItems' => 21, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message that is returned if the call failed.'."\n", 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'D4A102C2-36A5-4964-9694-0F8EFF95CCA8', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'DeviceConfigList' => [ 'description' => 'The device configuration information that is returned if the call was successful.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'IotId' => ['description' => 'The ID of the device.'."\n", 'type' => 'string', 'example' => 'sjI0Sd124XFYyjBY****000101', 'title' => ''], 'Config' => [ 'description' => 'The configuration information of the device.'."\n", 'type' => 'object', 'properties' => [ 'Content' => ['description' => 'The configuration content or the Object Storage Service (OSS) path of the configuration file.'."\n", 'type' => 'string', 'example' => '{\\"test\\": \\"device_config_demo\\"}', 'title' => ''], 'Format' => ['description' => 'The format of the configuration. Valid values: KV (key-value pair), JSON (JSON string), and FILE (configuration file).'."\n", 'type' => 'string', 'example' => 'JSON', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"D4A102C2-36A5-4964-9694-0F8EFF95CCA8\\",\\n \\"Success\\": true,\\n \\"DeviceConfigList\\": [\\n {\\n \\"IotId\\": \\"sjI0Sd124XFYyjBY****000101\\",\\n \\"Config\\": {\\n \\"Content\\": \\"{\\\\\\\\\\\\\\"test\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"device_config_demo\\\\\\\\\\\\\\"}\\",\\n \\"Format\\": \\"JSON\\"\\n }\\n }\\n ]\\n}","type":"json"}]', 'title' => 'Batch Retrieve Device Configurations of an Edge Instance', 'summary' => 'Batch retrieve device configurations of an edge instance.', 'description' => '## Conditions'."\n" .'Each Alibaba Cloud account can send a maximum of 5 queries per second (QPS) to call this API.'."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When you invoke this API, in addition to the API-specific request parameters described in this topic, you must also specify common request parameters. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:BatchGetEdgeInstanceDeviceConfig', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchGetEdgeInstanceDeviceConfig'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'BatchGetEdgeInstanceDeviceDriver' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. Do not pass this parameter for public instances; it is required for Enterprise instances.', 'example' => 'iot_instc_pu****_c*-v64********', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the edge instance. You can obtain this ID by hovering your mouse over the target edge instance name on the **Edge Instances** page in the [Edge Computing console](https://iot.console.aliyun.com/le/instance/list).'."\n" ."\n" .'You can also call the [QueryEdgeInstance](~~135214~~) API to retrieve it.', 'example' => '6GaTtvTj7vJhiS******', 'required' => true, 'type' => 'string', 'title' => ''], ], [ 'name' => 'IotIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'A list of sub-device IDs. You can call the [QueryDevice](~~69905~~) API to query device IDs.'."\n" ."\n" .'> You can specify up to 20 device IDs in a single invocation.', 'example' => 'Hathoyxglj9jpYPyw3WN******', 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'maxItems' => 21, 'required' => true, 'type' => 'array', 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'properties' => [ 'Code' => ['description' => 'The return code of the API. A value of "Success" indicates success; other values indicate error codes. For details, see [error codes](~~135200~~).', 'example' => 'Success', 'type' => 'string', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation failed.', 'example' => 'request parameter error', 'type' => 'string', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'example' => 'E8D82F7A-0F84-4BD3-AE8A-5444A5B42800', 'type' => 'string', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. A value of true indicates success, and false indicates failure.', 'example' => 'true', 'type' => 'boolean', 'title' => ''], 'DeviceDriverList' => [ 'description' => 'The list of drivers for sub-devices.', 'items' => [ 'properties' => [ 'DriverId' => ['description' => 'The driver ID.', 'example' => '9c1ae7bd59f1469abbdccc9592******', 'type' => 'string', 'title' => ''], 'IotId' => ['description' => 'The sub-device ID.', 'example' => 'Hathoyxglj9jpYPyw3WN******', 'type' => 'string', 'title' => ''], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], 'type' => 'array', 'title' => '', 'example' => '', ], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"E8D82F7A-0F84-4BD3-AE8A-5444A5B42800\\",\\n \\"Success\\": true,\\n \\"DeviceDriverList\\": [\\n {\\n \\"DriverId\\": \\"9c1ae7bd59f1469abbdccc9592******\\",\\n \\"IotId\\": \\"Hathoyxglj9jpYPyw3WN******\\"\\n }\\n ]\\n}","type":"json"}]', 'title' => 'Batch Retrieve Drivers Associated with Sub-Devices', 'summary' => 'Batch retrieve drivers associated with sub-devices.', 'description' => '## Condition'."\n" .'The maximum queries per second (QPS) for this API per Alibaba Cloud account is 10.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking the API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters documentation](~~135196~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:BatchGetEdgeInstanceDeviceDriver', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchGetEdgeInstanceDeviceDriver'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'BatchGetEdgeInstanceDriverConfigs' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance that uses the drivers and obtain the instance ID.'."\n" ."\n" .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'F3APY0tPLhmgGtx0****', 'title' => ''], ], [ 'name' => 'DriverIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of driver IDs to query. You can obtain the ID by hovering your mouse over the target driver name on the **Driver Management** page in the [edge computing console](https://iot.console.aliyun.com/le/instance/list). '."\n" ."\n" .'You can also call the [QueryEdgeDriver](~~155776~~) API to obtain the driver IDs. '."\n" ."\n" .'> You can specify up to 20 driver IDs, which means you can retrieve configurations for up to 20 drivers in a single batch request. ', 'type' => 'array', 'items' => ['type' => 'string', 'description' => 'The IDs of the drivers that you want to query. To obtain the driver IDs, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Drivers** page, move the pointer over the name of each driver whose configurations you want to query and obtain the driver ID.'."\n" ."\n" .'You can also call the [QueryEdgeDriver](~~155776~~) operation to query the driver IDs.'."\n" ."\n" .'> You can specify a maximum of 20 driver IDs. This means that you can obtain the configuration information of a maximum of 20 drivers at a time.'."\n", 'title' => '', 'example' => ''], 'required' => true, 'example' => '021d154d2a2f4dd7a489773d9e04****', 'maxItems' => 21, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message that is returned if the call failed.'."\n", 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'D6113390-F507-458B-8544-7B01F945630B', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'DriverConfigList' => [ 'description' => 'The data that is returned if the call was successful.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'DriverId' => ['description' => 'The ID of the driver.'."\n", 'type' => 'string', 'example' => '021d154d2a2f4dd7a489773d9e04****', 'title' => ''], 'ConfigList' => [ 'description' => 'The configuration information of the driver.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The key of the configuration. If multiple configurations are available, keywords can be used to identify the configurations.'."\n", 'type' => 'string', 'example' => 'key1', 'title' => ''], 'ConfigId' => ['description' => 'The ID of the configuration.'."\n", 'type' => 'string', 'example' => 'dac71722ceac4a299dbf3e8dc3c8****', 'title' => ''], 'Format' => ['description' => 'The format of the configuration. Valid values: KV (key-value pair), JSON (JSON string), and FILE (configuration file).'."\n", 'type' => 'string', 'example' => 'JSON', 'title' => ''], 'Content' => ['description' => 'The configuration content or the Object Storage Service (OSS) path of the configuration file.'."\n", 'type' => 'string', 'example' => '{\\"test\\":123}', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"D6113390-F507-458B-8544-7B01F945630B\\",\\n \\"Success\\": true,\\n \\"DriverConfigList\\": [\\n {\\n \\"DriverId\\": \\"021d154d2a2f4dd7a489773d9e04****\\",\\n \\"ConfigList\\": [\\n {\\n \\"Key\\": \\"key1\\",\\n \\"ConfigId\\": \\"dac71722ceac4a299dbf3e8dc3c8****\\",\\n \\"Format\\": \\"JSON\\",\\n \\"Content\\": \\"{\\\\\\\\\\\\\\"test\\\\\\\\\\\\\\":123}\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', 'title' => 'Batch Retrieve Driver Configurations of an Edge Instance ', 'summary' => 'Batch retrieve driver configurations of edge instances.', 'description' => '## Conditions'."\n" .'The maximum queries per second (QPS) for this API per Alibaba Cloud account is 10. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking the API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:BatchGetEdgeInstanceDriverConfigs', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchGetEdgeInstanceDriverConfigs'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'BatchGrayMigrationDevice' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the devices belong. ', 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceNames', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of device names to be grayscale migrated. '."\n" ."\n" .'You can specify up to 10 device names in a single API call. Any device names beyond 10 will be discarded directly. ', 'type' => 'array', 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'required' => true, 'example' => 'light', 'maxItems' => 10, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'When the invocation fails, an error code is returned. For more information, see **error code** below. ', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request. ', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: The invocation failed. ', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The returned migration result. ', 'type' => 'object', 'properties' => [ 'Details' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'item' => [ 'description' => '', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Status' => ['description' => '', 'type' => 'string', 'example' => 'SUCCEEDED', 'title' => ''], 'Code' => ['description' => '', 'type' => 'integer', 'format' => 'int32', 'example' => '500', 'title' => ''], 'Message' => ['description' => '', 'type' => 'string', 'example' => '系统错误', 'title' => ''], 'DeviceName' => ['description' => '', 'type' => 'string', 'example' => 'light', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.device.InvalidParams', 'errorMessage' => 'The parameter is invalid。', 'description' => 'The parameter is invalid。'], ['errorCode' => 'iot.provisioning.TaskNotExist', 'errorMessage' => 'Task not exists.', 'description' => 'Task not exists.'], ['errorCode' => 'iot.provisioning.InvalidDistributionStatus', 'errorMessage' => 'The distribution status is invalid.', 'description' => 'The distribution status is invalid.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Details\\": {\\n \\"item\\": [\\n {\\n \\"Status\\": \\"SUCCEEDED\\",\\n \\"Code\\": 500,\\n \\"Message\\": \\"系统错误\\",\\n \\"DeviceName\\": \\"light\\"\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', 'title' => 'BatchGrayMigrationDevice ', 'summary' => 'Invoke this API to continuously perform grayscale migration for newly added devices. ', 'description' => '## How-To '."\n" .'During instance migration, if new devices have not undergone grayscale migration, you can call this API to continuously migrate incremental devices in grayscale mode. '."\n" ."\n" .'Before calling this API, you must have created a grayscale migration job in the [IoT Platform console](https://iot.console.aliyun.com/), completed grayscale verification, and ensured that the job is already in the grayscale-completed status. For detailed steps, see [Instance Migration](~~353160~~). '."\n" ."\n" .'## QPS Limit '."\n" .'The maximum queries per second (QPS) limit for this API is 5 per Alibaba Cloud account. '."\n" .'> All Resource Access Management (RAM) users under an Alibaba Cloud account share the quota of that account. ', 'requestParamsDescription' => 'When calling this API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:BatchGrayMigrationDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchGrayMigrationDevice'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'BatchImportDevice' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'> If your instance has an ID, you must specify this parameter. Otherwise, the request fails. If no Overview page exists or no instance ID is displayed, you do not need to specify this parameter.'."\n" ."\n" .'For more information, see the [Overview](~~356505~~) topic of IoT instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot-1n8t****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the gateway product to which the devices belong.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceList', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Sn' => ['type' => 'string', 'required' => false, 'description' => 'The serial number (SN) of the device.'."\n" ."\n" .'The SN must be 1 to 64 characters in length, and can contain letters, digits, and underscores (\\_).'."\n" ."\n" .'> You can specify up to 10,000 SNs in a single call. If the number of SNs reaches this limit, the excess SNs are discarded.'."\n", 'example' => 'QC4******001', 'title' => ''], 'DeviceName' => ['type' => 'string', 'required' => true, 'description' => 'The DeviceName of the device.'."\n" ."\n" .'The DeviceName must be 4 to 32 characters in length, and can contain letters, digits, hyphens (-), underscores (\\_), at signs (@), periods (.), and colons (:).'."\n" ."\n" .'The DeviceName must be unique in the product.'."\n" ."\n" .'> You can specify up to 10,000 DeviceNames in a single call. If the number of DeviceNames reaches this limit, the excess DeviceNames are discarded.'."\n", 'example' => 'device1', 'title' => ''], 'DeviceSecret' => ['type' => 'string', 'required' => true, 'description' => 'The DeviceSecret of the device.'."\n" ."\n" .'The DeviceSecret must be 1 to 32 characters in length, and can contain letters, digits, hyphens (-), underscores (\\_), at signs (@), periods (.), and colons (:).'."\n" ."\n" .'> You can specify up to 10,000 DeviceSecrets in a single call. If the number of DeviceSecrets reaches this limit, the excess DeviceSecrets are discarded.'."\n", 'example' => 'b4d43f7******10ba5e5', 'title' => ''], ], 'required' => false, 'description' => 'Device Information.', 'title' => '', 'example' => '', ], 'required' => true, 'maxItems' => 10000, 'description' => 'The information about devices.'."\n", 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the request fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'ApplyId' => ['description' => 'The application ID returned if the request is successful.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1295006', 'title' => ''], 'InvalidDetailList' => [ 'itemNode' => true, 'description' => '', 'type' => 'object', 'properties' => [ 'InvalidDetailList' => [ 'description' => 'Detailed information about the invalid devices when device import failed. ', 'type' => 'array', 'items' => [ 'description' => 'Detailed information about an invalid device when device import failed. ', 'type' => 'object', 'properties' => [ 'ErrorMsg' => ['description' => 'The error message returned when the device import failed. ', 'type' => 'string', 'example' => 'The device name is illegal.', 'title' => ''], 'Sn' => ['description' => 'Device SN code. ', 'type' => 'string', 'example' => 'QC4001#', 'title' => ''], 'DeviceName' => ['description' => 'Device name. ', 'type' => 'string', 'example' => 'light%', 'title' => ''], 'DeviceSecret' => ['description' => 'Device secret. ', 'type' => 'string', 'example' => '^67$', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], 'RepeatedDeviceNameList' => [ 'itemNode' => true, 'description' => '', 'type' => 'object', 'properties' => [ 'repeatedDeviceName' => [ 'description' => 'The list of duplicate device names returned when the invocation failed. ', 'type' => 'array', 'items' => ['description' => 'A duplicate device name returned when the invocation failed. ', 'type' => 'string', 'example' => '{ "RepeatedDeviceNameList": [ "abcd", "asdf" ] }', 'title' => ''], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], 'InvalidSnList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'invalidSn' => [ 'description' => 'The list of invalid device SN codes returned when the invocation fails.', 'type' => 'array', 'items' => ['description' => 'An invalid device SN code returned when the invocation fails.', 'type' => 'string', 'example' => '{ "InvalidSnList": [ "" ] }', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'InvalidDeviceSecretList' => [ 'itemNode' => true, 'description' => '', 'type' => 'object', 'properties' => [ 'invalidDeviceSecret' => [ 'description' => 'The list of invalid device secrets returned when the invocation failed.', 'type' => 'array', 'items' => ['description' => 'The invalid device secret returned when the invocation fails.', 'type' => 'string', 'example' => '{ "InvalidDeviceSecretList": [ "^67$", "1" ] }', 'title' => ''], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], 'InvalidDeviceNameList' => [ 'itemNode' => true, 'description' => '', 'type' => 'object', 'properties' => [ 'invalidDeviceName' => [ 'description' => 'The list of invalid device names returned when the invocation failed.'."\n", 'type' => 'array', 'items' => ['description' => 'An invalid device name returned when the invocation failed.'."\n", 'type' => 'string', 'example' => '{ "InvalidDeviceNameList": [ "APT$", "aw" ] }', 'title' => ''], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.device.TooManyDeviceNamesPerRequest', 'errorMessage' => 'The devices you query exceed the maximum number.', 'description' => 'The devices you query exceed the maximum number.'], ['errorCode' => 'iot.device.ApplyManyDevicesFailed', 'errorMessage' => 'An error occurred while creating multiple devices.', 'description' => 'An error occurred while creating multiple devices.'], ['errorCode' => 'iot.device.DeviceNumerExceedTenant', 'errorMessage' => 'The device total number beyond limit.', 'description' => 'The device total number beyond limit.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ApplyId\\": 1295006,\\n \\"InvalidDetailList\\": {\\n \\"InvalidDetailList\\": [\\n {\\n \\"ErrorMsg\\": \\"The device name is illegal.\\",\\n \\"Sn\\": \\"QC4001#\\",\\n \\"DeviceName\\": \\"light%\\",\\n \\"DeviceSecret\\": \\"^67$\\"\\n }\\n ]\\n },\\n \\"RepeatedDeviceNameList\\": {\\n \\"repeatedDeviceName\\": [\\n \\"{ \\\\\\"RepeatedDeviceNameList\\\\\\": [ \\\\\\"abcd\\\\\\", \\\\\\"asdf\\\\\\" ] }\\"\\n ]\\n },\\n \\"InvalidSnList\\": {\\n \\"invalidSn\\": [\\n \\"{ \\\\\\"InvalidSnList\\\\\\": [ \\\\\\"\\\\\\" ] }\\"\\n ]\\n },\\n \\"InvalidDeviceSecretList\\": {\\n \\"invalidDeviceSecret\\": [\\n \\"{ \\\\\\"InvalidDeviceSecretList\\\\\\": [ \\\\\\"^67$\\\\\\", \\\\\\"1\\\\\\" ] }\\"\\n ]\\n },\\n \\"InvalidDeviceNameList\\": {\\n \\"invalidDeviceName\\": [\\n \\"{ \\\\\\"InvalidDeviceNameList\\\\\\": [ \\\\\\"APT$\\\\\\", \\\\\\"aw\\\\\\" ] }\\"\\n ]\\n }\\n }\\n}","type":"json"}]', 'title' => 'Batch Import Devices under an MQTT Cloud Gateway Product', 'summary' => 'Invoke this API to batch import devices under an MQTT instance or an MQTT cloud gateway product. ', 'description' => '## How-To '."\n" .'If you are adding MQTT cloud gateway devices, before invoking this API, first add an MQTT cloud gateway and successfully create a cloud gateway product to obtain the **ProductKey** of the product. For more information, see [Create a Cloud Gateway Product (MQTT)](~~433804~~). '."\n" ."\n" .'## Queries per second (QPS) limit '."\n" ."\n" .'The maximum queries per second (QPS) for this API for a single Alibaba Cloud account is 10. '."\n" ."\n" .'> All Resource Access Management (RAM) users under a single Alibaba Cloud account share the quota of that Alibaba Cloud account. ', 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:BatchImportDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchImportDevice'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'BatchImportVehicleDevice' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'BatchImportVehicleDevice', 'type' => 'string', 'required' => true, 'example' => 'iot-1n8t****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the cloud gateway product to which the device belongs. ', 'type' => 'string', 'required' => true, 'example' => 'a1Bw****', 'title' => ''], ], [ 'name' => 'DeviceList', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'DeviceName' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], 'DeviceId' => ['type' => 'string', 'required' => false, 'example' => '', 'description' => '', 'title' => ''], 'DeviceSecret' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], 'DeviceModel' => ['type' => 'string', 'required' => false, 'example' => '', 'description' => '', 'title' => ''], 'Manufacturer' => ['type' => 'string', 'required' => false, 'example' => '', 'description' => '', 'title' => ''], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => true, 'maxItems' => 10000, 'description' => '', 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see **error code** below.', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.'."\n" ."\n" .'When device import fails, the following information is returned:'."\n" ."\n" .'- **InvalidDeviceIdList**: List of invalid Device IDs.'."\n" .'- **InvalidDeviceModelList**: List of invalid Device Models.'."\n" .'- **InvalidManufacturerList**: List of invalid Device Manufacturer IDs.'."\n" .'- **RepeatedDeviceIdList**: List of duplicate Device IDs.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The Unique Identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: Failed to invoke. '."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data returned when the call succeeds.', 'type' => 'object', 'properties' => [ 'ApplyId' => ['description' => 'The application batch ID returned by the system when the call succeeds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1295006', 'title' => ''], 'InvalidDetailList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'InvalidDetailList' => [ 'description' => '', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ErrorMsg' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'DeviceModel' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'DeviceName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'DeviceId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Manufacturer' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'InvalidManufacturerList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'invalidManufacturerList' => [ 'description' => '', 'type' => 'array', 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'RepeatedDeviceIdList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'repeatedDeviceIdList' => [ 'description' => '', 'type' => 'array', 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'RepeatedDeviceNameList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'RepeatedDeviceNameList' => [ 'description' => '', 'type' => 'array', 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'InvalidDeviceIdList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'invalidDeviceIdList' => [ 'description' => '', 'type' => 'array', 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'InvalidDeviceModelList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'invalidDeviceModelList' => [ 'description' => '', 'type' => 'array', 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'InvalidDeviceNameList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'InvalidDeviceNameList' => [ 'description' => '', 'type' => 'array', 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.device.TooManyDeviceNamesPerRequest', 'errorMessage' => 'The devices you query exceed the maximum number.', 'description' => 'The devices you query exceed the maximum number.'], ['errorCode' => 'iot.device.ApplyManyDevicesFailed', 'errorMessage' => 'An error occurred while creating multiple devices.', 'description' => 'An error occurred while creating multiple devices.'], ['errorCode' => 'iot.common.InvalidTenant', 'errorMessage' => 'the device tenantId is invalid.', 'description' => 'the device tenantId is invalid.'], ['errorCode' => 'iot.device.InvalidFormattedDeviceNameInNameArray', 'errorMessage' => 'The DeviceName list contains an invalid DeviceName.', 'description' => 'The DeviceName list contains an invalid DeviceName.'], ['errorCode' => 'iot.prod.InvalidProductAuthType', 'errorMessage' => 'The product authentication type is invalid.', 'description' => 'The product authentication type is invalid.'], ['errorCode' => 'iot.prod.InvalidFormattedProductkey', 'errorMessage' => 'The ProductKey format is invalid.', 'description' => 'The ProductKey format is invalid.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ApplyId\\": 1295006,\\n \\"InvalidDetailList\\": {\\n \\"InvalidDetailList\\": [\\n {\\n \\"ErrorMsg\\": \\"\\",\\n \\"DeviceModel\\": \\"\\",\\n \\"DeviceName\\": \\"\\",\\n \\"DeviceId\\": \\"\\",\\n \\"Manufacturer\\": \\"\\"\\n }\\n ]\\n },\\n \\"InvalidManufacturerList\\": {\\n \\"invalidManufacturerList\\": [\\n \\"\\"\\n ]\\n },\\n \\"RepeatedDeviceIdList\\": {\\n \\"repeatedDeviceIdList\\": [\\n \\"\\"\\n ]\\n },\\n \\"RepeatedDeviceNameList\\": {\\n \\"RepeatedDeviceNameList\\": [\\n \\"\\"\\n ]\\n },\\n \\"InvalidDeviceIdList\\": {\\n \\"invalidDeviceIdList\\": [\\n \\"\\"\\n ]\\n },\\n \\"InvalidDeviceModelList\\": {\\n \\"invalidDeviceModelList\\": [\\n \\"\\"\\n ]\\n },\\n \\"InvalidDeviceNameList\\": {\\n \\"InvalidDeviceNameList\\": [\\n \\"\\"\\n ]\\n }\\n }\\n}","type":"json"}]', 'title' => 'BatchImportVehicleDevice ', 'summary' => 'Invoke this API to batch import devices under a cloud gateway product.', 'description' => '## How-To '."\n" .'This API is used to batch import JT/T 808 protocol cloud gateway devices.'."\n" ."\n\n" .'## queries per second (QPS) Limit '."\n" ."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 10.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling the API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters document](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchImportVehicleDevice'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'BatchPub' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the device belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'Qos', 'in' => 'query', 'schema' => [ 'description' => 'The quality of service (QoS) level of the message. Valid values:'."\n" ."\n" .'* **0**: The message is published at most once.'."\n" .'* **1**: The message is published at least once.'."\n" ."\n" .'Default value: **0**.'."\n" ."\n" .'> IoT Platform stores QoS 1 messages for up to 7 days. IoT Platform does not store QoS 0 messages.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'default' => '0', 'enum' => ['0', '1'], 'title' => '', ], ], [ 'name' => 'TopicShortName', 'in' => 'query', 'schema' => ['description' => 'The suffix of the custom topic.'."\n" ."\n" .'A custom topic is in the following format: `/${productKey}/${deviceName}/user/${TopicShortName}`. ${TopicShortName} specifies the suffix.'."\n" ."\n" .'> You must specify the Subscribe permission, or Publish and Subscribe permissions for the topic. Make sure that all devices subscribe to the topic.'."\n" ."\n" .'You can use the following methods to view custom topics:'."\n" ."\n" .'* On the **Topic Categories** tab of the Product Details page, view the custom topics of the product.'."\n" .'* On the **Topic List** tab of the Device Details page, view the custom topics to which the device has subscribed.'."\n" .'* Call the [QueryProductTopic](~~69647~~) operation to query the custom topics of the product.'."\n", 'type' => 'string', 'required' => false, 'example' => 'get', 'title' => ''], ], [ 'name' => 'MessageContent', 'in' => 'query', 'schema' => ['description' => 'The body of the message to be published. The maximum size of a message is 256 KB.'."\n" ."\n" .'To generate a message body, you must convert the raw message into binary data and perform Base64 encoding.'."\n", 'type' => 'string', 'required' => true, 'example' => 'eyJ0ZXN0IjoidGFzayBiYXRjaHB1YiBicm9hZGNhc3QifQ==', 'title' => ''], ], [ 'name' => 'TopicTemplateName', 'in' => 'query', 'schema' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], ], [ 'name' => 'ResponseTopicTemplateName', 'in' => 'query', 'schema' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], ], [ 'name' => 'CorrelationData', 'in' => 'query', 'schema' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], ], [ 'name' => 'PayloadFormatIndicator', 'in' => 'query', 'schema' => ['type' => 'integer', 'description' => '', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => ''], ], [ 'name' => 'ContentType', 'in' => 'query', 'schema' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], ], [ 'name' => 'MessageExpiryInterval', 'in' => 'query', 'schema' => ['type' => 'integer', 'description' => '', 'format' => 'int64', 'required' => false, 'title' => '', 'example' => ''], ], [ 'name' => 'Retained', 'in' => 'query', 'schema' => ['type' => 'boolean', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The device name of the device that accepts the message. '."\n" ."\n" .'> - This parameter must be used together with **ProductKey**. The specified device must belong to the same product. '."\n" .'- In a single API call, you can specify up to 100 device names, and the device names must be unique. '."\n", 'type' => 'array', 'items' => ['type' => 'string', 'description' => 'The name of the device that receives the message.'."\n" ."\n" .'> * This parameter is used together with the **ProductKey** parameter. The specified devices must belong to the same product.'."\n" .'>* You can specify up to 100 device names in a single call. The device names must be unique.', 'title' => '', 'example' => ''], 'required' => true, 'example' => 'newdevice1', 'maxItems' => 100, 'title' => '', ], ], [ 'name' => 'UserProp', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'maxItems' => 20, 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Key' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], 'Value' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Send Messages to Devices in Batches', 'summary' => 'Send messages in batches to multiple devices under a specified product by using a custom topic.', 'description' => '## How-To'."\n" ."\n" .'- You can send messages to a maximum of 100 devices under the same product in a single batch.'."\n" .'- The BatchPub API does not support sending instructions to set properties or invoke services. To set properties, use the [SetDeviceProperty](~~69579~~) or [SetDevicesProperty](~~96243~~) API. To invoke services, use the [InvokeThingService](~~69584~~) or [InvokeThingsService](~~96242~~) API.'."\n" ."\n" .'## Queries Per Second (QPS) Limits'."\n" ."\n" .'Each Alibaba Cloud account can send a maximum of 50 requests per second (QPS) to call this API.'."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When you invoke this API, you must specify both the common request parameters and the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:BatchPub', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchPub'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'BatchQueryDeviceDetail' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the devices specified by the **DeviceName.N** parameter belong.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-v64***', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'A list of device names to query. You can specify up to 100 device names.'."\n" ."\n" .'> The devices to query must belong to the same product.'."\n", 'type' => 'array', 'items' => ['type' => 'string', 'description' => 'The DeviceNames of the devices. You can specify a maximum of 100 DeviceNames.'."\n" ."\n" .'> The specified devices must belong to the same product.'."\n", 'title' => '', 'example' => ''], 'required' => true, 'example' => 'light', 'maxItems' => 100, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Data' => [ 'description' => 'The device details returned if the call is successful.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the device. Valid values:'."\n" ."\n" .'* **ONLINE**: The device is online.'."\n" .'* **OFFLINE**: The device is offline.'."\n" .'* **UNACTIVE**: The device is not activated.'."\n" .'* **DISABLE**: The device is disabled.'."\n", 'type' => 'string', 'example' => 'ONLINE', 'title' => ''], 'UtcActive' => ['description' => 'The activation time of the device. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2019-06-21T12:31:42.000Z', 'title' => ''], 'ProductName' => ['description' => 'The name of the product to which the device belongs.'."\n", 'type' => 'string', 'example' => '路灯产品', 'title' => ''], 'DeviceName' => ['description' => 'The DeviceName of the device.'."\n", 'type' => 'string', 'example' => 'light', 'title' => ''], 'UtcCreate' => ['description' => 'The creation time of the device. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2019-06-21T12:31:42.000Z', 'title' => ''], 'FirmwareVersion' => ['description' => 'The firmware version number of the device.'."\n", 'type' => 'string', 'example' => 'V1.0.0.0', 'title' => ''], 'ProductKey' => ['description' => 'The **ProductKey** of the product to which the device belongs.'."\n", 'type' => 'string', 'example' => 'a1BwAGV****', 'title' => ''], 'NodeType' => ['description' => 'The type of the node. Valid values:'."\n" ."\n" .'* **0**: device. Sub-devices cannot be mounted on a gateway. A device can connect to IoT Platform directly or as a sub-device of a gateway.'."\n" .'* **1**: gateway. Sub-devices can be attached to a gateway. A gateway can manage sub-devices, maintain the topological relationships with sub-devices, and synchronize the topological relationships to IoT Platform.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'Region' => ['description' => 'The ID of the region where the device resides. The region is the same as the region where IoT Platform resides. You can view the region in the IoT Platform console.'."\n", 'type' => 'string', 'example' => 'cn-shanghai', 'title' => ''], 'DeviceSecret' => ['description' => 'The DeviceSecret of the device.'."\n", 'type' => 'string', 'example' => 'mz2Canp4GB7qRVf1OYPNtRqB2anu****', 'title' => ''], 'GmtCreate' => ['description' => 'The creation time of the device. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2019-06-21 20:31:42', 'title' => ''], 'GmtActive' => ['description' => 'The activation time of the device. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2019-06-21 20:33:00', 'title' => ''], 'Nickname' => ['description' => 'The alias of the device.'."\n", 'type' => 'string', 'example' => '智能路灯', 'title' => ''], 'IotId' => ['description' => 'The unique ID of the device. The device ID is issued by IoT Platform.'."\n", 'type' => 'string', 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Data\\": [\\n {\\n \\"Status\\": \\"ONLINE\\",\\n \\"UtcActive\\": \\"2019-06-21T12:31:42.000Z\\",\\n \\"ProductName\\": \\"路灯产品\\",\\n \\"DeviceName\\": \\"light\\",\\n \\"UtcCreate\\": \\"2019-06-21T12:31:42.000Z\\",\\n \\"FirmwareVersion\\": \\"V1.0.0.0\\",\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"NodeType\\": 0,\\n \\"Region\\": \\"cn-shanghai\\",\\n \\"DeviceSecret\\": \\"mz2Canp4GB7qRVf1OYPNtRqB2anu****\\",\\n \\"GmtCreate\\": \\"2019-06-21 20:31:42\\",\\n \\"GmtActive\\": \\"2019-06-21 20:33:00\\",\\n \\"Nickname\\": \\"智能路灯\\",\\n \\"IotId\\": \\"Q7uOhVRdZRRlDnTLv****00100\\"\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'Batch Query Device Details', 'summary' => 'Query the detailed information of multiple devices under a specified product.'."\n", 'description' => '## How-To'."\n" ."\n" .'- You can query up to 100 devices in a single call.'."\n" .'- You can only batch query device details under the current Alibaba Cloud account. If any device in the provided list does not belong to the current account, the request immediately returns a failed result.'."\n" .'- If the provided device list includes non-existent devices, only the details of existing devices are returned.'."\n" ."\n" .'## QPS Limit'."\n" .'The maximum queries per second (QPS) for this API is 5 per Alibaba Cloud account.'."\n" ."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When invoking this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters document](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:BatchQueryDeviceDetail', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchQueryDeviceDetail'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'BatchRegisterDevice' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the devices belong.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'Count', 'in' => 'query', 'schema' => ['description' => 'The number of devices to be registered.'."\n" ."\n" .'> You can register up to 10,000 devices in a single call.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '100', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data returned if the call is successful.'."\n", 'type' => 'object', 'properties' => [ 'ApplyId' => ['description' => 'The application ID (ApplyId) returned for the request if the call is successful.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1295006', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ApplyId\\": 1295006\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n\\n 12345678\\n\\n92C67DC1-41B5-45F8-9AFD-1FB42448D405\\ntrue\\n","errorExample":""}]', 'title' => 'BatchRegisterDevice', 'summary' => 'Registers multiple devices under a product. The DeviceNames of these devices are randomly generated.', 'description' => 'You can use one of the following methods to register multiple devices:'."\n" ."\n" .'* If you want to generate random DeviceNames, call the BatchRegisterDevice operation.'."\n" ."\n" .' Perform the following steps to register devices and view the result:'."\n" ."\n" .' 1\\. Call the BatchRegisterDevice operation to register multiple devices. A successful response indicates that the registration request is submitted. The actual registration process is asynchronously implemented and takes some minutes.'."\n" ."\n" .' 2\\. Call the [QueryBatchRegisterDeviceStatus](~~69483~~) operation to query the device registration result.'."\n" ."\n" .' 3\\. Call the [QueryPageByApplyId](~~69518~~) operation to view the details of registered devices. The details include the DeviceName, DeviceSecret, and IotId parameters.'."\n" ."\n" .'* If you want to specify custom DeviceNames, call the BatchRegisterDeviceWithApplyId operation. For more information, see [BatchRegisterDeviceWithApplyId](~~69514~~).'."\n" ."\n" .'## Limits'."\n" ."\n" .'- You can create a maximum of 10,000 devices in a single call.'."\n" .'- Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS). > RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:BatchRegisterDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'BatchRegisterDeviceWithApplyId' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n" .'>* If no **Overview** page or ID is generated for your instance, you do not need to configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'ApplyId', 'in' => 'query', 'schema' => ['description' => 'The ID of the application. The application ID is returned by the [BatchCheckDeviceNames](~~69482~~) operation.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1295006', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the request fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data returned if the call succeeds. For more information, see the following parameters.'."\n", 'type' => 'object', 'properties' => [ 'ApplyId' => ['description' => 'The application ID.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1295006', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ApplyId\\": 1295006\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n\\n 1234567\\n\\n82C16DC1-41B5-45F8-9AFD-1FB42448D405\\ntrue\\n","errorExample":""}]', 'title' => 'BatchRegisterDeviceWithApplyId', 'summary' => 'Registers multiple devices by using an application ID at a time.', 'description' => 'You can use one of the following methods to register multiple devices at a time:'."\n" ."\n" .'* Call the [BatchRegisterDevice](~~69473~~) operation to generate random DeviceNames.'."\n" ."\n" .'* Call the BatchRegisterDeviceWithApplyId and **BatchCheckDeviceNames** operations to specify custom DeviceNames. Procedure:'."\n" ."\n" .' Call the [BatchCheckDeviceNames](~~69482~~) operation and specify the names of devices that you want to register. If the DeviceNames are valid, IoT Platform returns an application ID that is specified by the **ApplyId** parameter. You can query the DeviceName setting results, device registration results, and device details by **ApplyId**.'."\n" ."\n" .' Call the [QueryBatchRegisterDeviceStatus](~~69483~~) operation to query the name setting result.'."\n" ."\n" .' Call the BatchRegisterDeviceWithApplyId operation to register multiple devices. The successful result that is returned by this operation indicates that only the batch registration request is submitted. In actual scenarios, the registration process takes a few minutes.'."\n" ."\n" .' Optional. Call the [QueryBatchRegisterDeviceStatus](~~69483~~) operation to query the device registration result.'."\n" ."\n" .' Call the [QueryPageByApplyId](~~69518~~) operation to view the details of devices that are registered in batches.'."\n" ."\n" .'## QPS limits'."\n" ."\n" .'Each Alibaba Cloud account can run up to 500 queries per second (QPS). '."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:BatchRegisterDeviceWithApplyId', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'BatchSetEdgeInstanceDeviceChannel' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. Do not pass this parameter for public instances; required for Enterprise instances.', 'example' => 'iot_instc_pu****_c*-v64********', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the edge instance. In the **Edge Instances** page of the [Edge Computing console](https://iot.console.aliyun.com/le/instance/list), hover your mouse over the target edge instance name to obtain the ID.'."\n" ."\n" .'You can also call the [QueryEdgeInstance](~~135214~~) API to retrieve it.', 'example' => '6GaTtvTj7vJhiS******', 'required' => true, 'type' => 'string', 'title' => ''], ], [ 'name' => 'DriverId', 'in' => 'query', 'schema' => ['description' => 'The driver ID. In the **Driver Management** page of the [Edge Computing console](https://iot.console.aliyun.com/le/instance/list), hover your mouse over the target driver name to obtain the ID.'."\n" ."\n" .'You can also call the [QueryEdgeDriver](~~155776~~) API to retrieve it.', 'example' => '9c1ae7bd59f1469abbdccc9592******', 'required' => true, 'type' => 'string', 'title' => ''], ], [ 'name' => 'ChannelId', 'in' => 'query', 'schema' => ['description' => 'The driver channel ID. Call the [QueryEdgeInstanceChannel](~~162253~~) API to obtain it.', 'example' => 'BE0BD49EF5EF4D119D09CC1B25******', 'required' => true, 'type' => 'string', 'title' => ''], ], [ 'name' => 'IotIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'A list of sub-device IDs. You can call the [QueryDevice](~~69905~~) API to query sub-device IDs.'."\n" ."\n" .'> A maximum of 20 sub-device IDs can be specified in a single invocation.', 'example' => 'Hathoyxglj9jpYPyw3WN******', 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'maxItems' => 21, 'required' => true, 'type' => 'array', 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'properties' => [ 'Code' => ['description' => 'The return code of the API. "Success" indicates success; other values indicate error codes. For details, see [error codes](~~135200~~).', 'example' => 'Success', 'type' => 'string', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'example' => 'request parameter error', 'type' => 'string', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'example' => 'B0325EA9-671C-460B-B0F3-83F41CFF855B', 'type' => 'string', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. true indicates success; false indicates failure.', 'example' => 'true', 'type' => 'boolean', 'title' => ''], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"B0325EA9-671C-460B-B0F3-83F41CFF855B\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Batch Associate Driver Channels with Sub-devices', 'summary' => 'Batch associate driver channels with sub-devices.', 'description' => '## Conditions'."\n" .'Each Alibaba Cloud account can make a maximum of 5 queries per second (QPS) to this API.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking this API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters documentation](~~135196~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:BatchSetEdgeInstanceDeviceChannel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchSetEdgeInstanceDeviceChannel'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'BatchSetEdgeInstanceDeviceConfig' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. Do not pass this parameter for public instances. Pass this parameter for Enterprise instances.', 'example' => 'iot_instc_pu****_c*-v64********', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the edge instance. You can obtain the ID by moving the mouse pointer over the name of the target edge instance on the **Edge Instances** page in the [Edge Computing console](https://iot.console.aliyun.com/le/instance/list).'."\n" ."\n" .'You can also call the [QueryEdgeInstance](~~135214~~) API to obtain the ID.', 'example' => 'F3APY0tPLhmgGtx0****', 'required' => true, 'type' => 'string', 'title' => ''], ], [ 'name' => 'DeviceConfigs', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of device configuration information.', 'items' => [ 'properties' => [ 'Content' => ['description' => 'The configuration content. You can pass one of the following:'."\n" ."\n" .'- Configuration text. For the format, see [Device Configuration Guide](~~172319~~).'."\n" .'- The Object Storage Service (OSS) URL where the configuration file is stored.'."\n" ."\n" .'> You can specify up to 20 configuration entries in a single call.', 'example' => '{"test": "device_config_demo"}', 'required' => true, 'type' => 'string', 'title' => ''], 'IotId' => ['description' => 'The Device ID.'."\n" ."\n" .'You can call the [QueryEdgeInstanceDevice](~~135261~~) API to query the device IDs in the instance.'."\n" ."\n" .'> You can specify up to 20 device IDs in a single call.', 'example' => 'sjI0Sd124XFYyjBY****000101', 'required' => true, 'type' => 'string', 'title' => ''], ], 'required' => false, 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], 'maxItems' => 21, 'required' => true, 'type' => 'array', 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'properties' => [ 'Code' => ['description' => 'The return code of the API. A value of Success indicates that the call succeeded. Other values indicate error codes. For more information, see [Error Codes](~~135200~~).', 'example' => 'Success', 'type' => 'string', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'example' => 'request parameter error', 'type' => 'string', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'example' => '748659E2-EDC9-4E3E-BF9D-06F16995CF66', 'type' => 'string', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. A value of true indicates success, and false indicates failure.', 'example' => 'true', 'type' => 'boolean', 'title' => ''], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"748659E2-EDC9-4E3E-BF9D-06F16995CF66\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'BatchSetEdgeInstanceDeviceConfig', 'summary' => 'Invoke this API to batch configure devices in an edge instance.', 'description' => '## Conditions'."\n" .'Each Alibaba Cloud account can send a maximum of 5 queries per second (QPS) to call this API.'."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling this API, you must include the common request parameters in addition to the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:BatchSetEdgeInstanceDeviceConfig', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchSetEdgeInstanceDeviceConfig'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'BatchUnbindDeviceFromEdgeInstance' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance from which you want to unbind multiple devices and obtain the instance ID.'."\n" ."\n" .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'F3APY0tPLhmgGtx0****', 'title' => ''], ], [ 'name' => 'IotIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'A list of Device IDs. You can call the [QueryDevice](~~69905~~) API to query all device information under your account and obtain the IotId of each device.'."\n" ."\n" .'> You can remove up to 20 devices in a single call.', 'type' => 'array', 'items' => ['type' => 'string', 'description' => 'The IDs of the devices. You can call the [QueryDevice](~~69905~~) operation to query detailed information about all devices that belong to the current Alibaba Cloud account and obtain the required device IDs.'."\n" ."\n" .'> You can specify a maximum of 20 device IDs when you call the BatchUnbindDeviceFromEdgeInstance operation.'."\n", 'title' => '', 'example' => ''], 'required' => true, 'example' => 'BXPV9Ks3bxwM9fD****0000101', 'maxItems' => 21, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message that is returned if the call failed.'."\n", 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '34755DC3-2809-4AE2-BAD8-7B81ED69D570', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"34755DC3-2809-4AE2-BAD8-7B81ED69D570\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Remove multiple devices from an edge instance in a batch', 'summary' => 'Remove multiple devices from an edge instance in a batch.', 'description' => '## Conditions'."\n" .'Each Alibaba Cloud account can send a maximum of 5 queries per second (QPS) to call this API.'."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When you invoke this API, you must specify both the common request parameters and the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:BatchUnbindDeviceFromEdgeInstance', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchUnbindDeviceFromEdgeInstance'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'BatchUnbindProjectDevices' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID.'."\n" ."\n" .'You can view the current instance ID on the **Instance Overview** page in the IoT Platform console. If an ID exists, you must specify it; otherwise, the invocation will fail.'."\n" ."\n" .''."\n" .'> If your public instance does not have an ID, see [How to Obtain an Instance ID](~~267533~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProjectId', 'in' => 'formData', 'schema' => ['description' => 'The project ID.'."\n" .'1. Log on to the [IoT Application Development Console](https://studio.iot.aliyun.com/?spm=a2c4g.11186623.2.8.1e7830fagdybMb). After selecting the corresponding instance in the upper-left corner of the page, click Project Management in the left-side navigation pane.'."\n" .'2. In the standard project list, locate the target project, click its project card, and then check the address bar of your browser.', 'type' => 'string', 'required' => true, 'example' => 'a12******', 'title' => ''], ], [ 'name' => 'Devices', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of devices to be dissociated.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ProductKey' => ['description' => 'The ProductKey of the products to which the devices being dissociated from the project belong.', 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], 'DeviceName' => ['description' => 'The DeviceName of the devices to be dissociated from the project.', 'type' => 'string', 'required' => true, 'example' => 'Ee2******', 'title' => ''], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => true, 'maxItems' => 10, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the invocation failed. For more information about error codes, see [Error Codes](~~202245~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'Data' => ['description' => 'This parameter is returned if the invocation succeeded, with a value of true.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the invocation failed.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generated for this request.', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" ."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 200 => [ ['errorCode' => 'IoT.Common.NullParameter', 'errorMessage' => 'Parameter cannot be empty.', 'description' => ''], ], 400 => [ ['errorCode' => 'Studio.Device.BatchRemoveDevicesFromProjectFailed', 'errorMessage' => 'batch remove devices from project failed', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"Data\\": true,\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'BatchUnbindProjectDevices', 'summary' => 'Invoke this API to batch dissociate devices associated with a project.', 'description' => '## Limits'."\n" .'- The maximum queries per second (QPS) for this API per Alibaba Cloud account is 5.'."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n" .'- You can dissociate up to 10 associated devices in a single API call.', 'requestParamsDescription' => 'When invoking the API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Request Parameters](https://help.aliyun.com/document_detail/30561.html?spm=a2c4g.11186623.2.11.cd0fc4793w9Hmy).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchUnbindProjectDevices'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'BatchUnbindProjectProducts' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID.'."\n" .'- Enterprise instance: You must specify this parameter. You can view your Enterprise instance ID on the **Instance Overview** page in the IoT Platform console.'."\n" .'- Public instance: You do not need to specify this parameter.', 'example' => 'iot_instc_pu****_c*-v64********', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'ProjectId', 'in' => 'formData', 'schema' => ['description' => 'The project ID.'."\n" .'1. Log on to the [IoT application development console](https://studio.iot.aliyun.com/?spm=a2c4g.11186623.2.8.1e7830fagdybMb). In the upper-left corner of the page, select the target instance. In the left-side navigation pane, click Project Management.'."\n" .'2. In the standard project list, find the target project, click the project card, and then check the address bar of your browser to obtain the project ID.', 'example' => 'a123********', 'required' => true, 'type' => 'string', 'title' => ''], ], [ 'name' => 'ProductKeys', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'A list of ProductKeys of the products whose association with the project you want to detach.', 'example' => 'a1BwAGV****', 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'maxItems' => 10, 'required' => true, 'type' => 'array', 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation failed.', 'example' => 'iot.system.SystemException', 'type' => 'string', 'title' => ''], 'Data' => ['description' => 'Indicates whether the invocation succeeded. The value is true if the invocation succeeded.', 'example' => 'true', 'type' => 'boolean', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation failed.', 'example' => '系统异常', 'type' => 'string', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'type' => 'string', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- true: The invocation succeeded.'."\n" .'- false: The invocation failed.', 'example' => 'true', 'type' => 'boolean', 'title' => ''], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 200 => [ ['errorCode' => 'IoT.Common.NullParameter', 'errorMessage' => 'Parameter cannot be empty.', 'description' => ''], ], 400 => [ ['errorCode' => 'Studio.Product.UnbindFailed', 'errorMessage' => 'unbind failed', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"Data\\": true,\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Batch Detach Project Products', 'summary' => 'Detach the specified product from the specified project. Batch operations are supported.', 'description' => '## Limits'."\n" .'- If you invoke this API in an Enterprise instance, you must specify the **IotInstanceId** request parameter. Otherwise, the invocation fails.'."\n" .'- Each Alibaba Cloud account can send a maximum of 5 queries per second (QPS) to invoke this API.'."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n" .'- You can detach a maximum of 10 associated products in a single API call.', 'requestParamsDescription' => 'When you invoke this API, you must specify both the common request parameters and the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Request Parameters](https://help.aliyun.com/document_detail/30561.html?spm=a2c4g.11186623.2.11.cd0fc4793w9Hmy).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:BatchUnbindProjectProducts', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchUnbindProjectProducts'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'BatchUpdateDeviceNickname' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'DeviceNicknameInfo', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of devices whose nicknames you want to update. ', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ProductKey' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], 'DeviceName' => ['description' => 'The DeviceName of the device.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **ProductKey** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'light', 'title' => ''], 'Nickname' => ['description' => 'The new alias of the device. The alias must be 4 to 32 characters in length, and can contain letters, digits, and underscores (\\_). Each Chinese character is counted as two characters.'."\n" ."\n" .'> If you do not specify this parameter, the original alias of the device will be deleted.'."\n", 'type' => 'string', 'required' => false, 'example' => 'AliyunDataCenter', 'title' => ''], 'IotId' => ['description' => 'The ID of the device.'."\n" ."\n" .'> If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. The **IotId** parameter specifies a globally unique identifier (GUID) of the device, which corresponds to a combination of **ProductKey** and **DeviceName**. If you specify both **IotId** and the combination of **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => true, 'maxItems' => 50, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'BatchUpdateDeviceNickname ', 'summary' => 'Call this API to batch update device nicknames. ', 'description' => '## QPS Limits '."\n" .'Each Alibaba Cloud account can send a maximum of 10 queries per second (QPS) to call this API. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. '."\n", 'requestParamsDescription' => 'When calling this API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Request Parameters](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:BatchUpdateDeviceNickname', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchUpdateDeviceNickname'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'BindApplicationToEdgeInstance' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. Do not pass this parameter for public instances. Pass this parameter for Enterprise instances. ', 'example' => 'iot_instc_pu****_c*-v64********', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the edge instance. To obtain the ID, go to the **Edge Instances** page in the [Edge Computing console](https://iot.console.aliyun.com/le/instance/list), and move the mouse pointer over the name of the target edge instance. '."\n" ."\n" .'You can also call the [QueryEdgeInstance](~~135214~~) API to retrieve the ID. ', 'example' => 'Tb4r9k3GWHJFWv******', 'required' => true, 'type' => 'string', 'title' => ''], ], [ 'name' => 'ApplicationId', 'in' => 'query', 'schema' => ['description' => 'The ID of the edge application. To obtain the ID, go to the **Application Management** page in the [Edge Computing console](https://iot.console.aliyun.com/le/instance/list), and move the mouse pointer over the name of the target application. ', 'example' => '361368ba5a094da9bf5625d092******', 'required' => true, 'type' => 'string', 'title' => ''], ], [ 'name' => 'ApplicationVersion', 'in' => 'query', 'schema' => ['description' => 'The version number of the edge application. ', 'example' => '3.7', 'required' => true, 'type' => 'string', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'properties' => [ 'Code' => ['description' => 'The return code of the API. A value of "Success" indicates that the request succeeded. Other values indicate error codes. For more information, see [error code](~~135200~~). ', 'example' => 'Success', 'type' => 'string', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation failed. ', 'example' => 'request parameter error', 'type' => 'string', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generated for this request. ', 'example' => '86B23D5F-BF86-4F29-82E2-686D7B4D9AAA', 'type' => 'string', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. A value of true indicates success, and false indicates failure. ', 'example' => 'true', 'type' => 'boolean', 'title' => ''], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"86B23D5F-BF86-4F29-82E2-686D7B4D9AAA\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Attach an edge application to an edge instance ', 'summary' => 'Attach an edge application to an edge instance. ', 'description' => '## Condition '."\n" .'Each Alibaba Cloud account can send a maximum of 5 queries per second (QPS) to call this API. '."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. ', 'requestParamsDescription' => 'When you invoke this API, you must specify both the common request parameters and the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Request Parameters](~~135196~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:BindApplicationToEdgeInstance', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BindApplicationToEdgeInstance'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'BindDriverToEdgeInstance' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance to which you want to bind a driver and obtain the instance ID.'."\n" ."\n" .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'F3APY0tPLhmgGtx0****', 'title' => ''], ], [ 'name' => 'DriverId', 'in' => 'query', 'schema' => ['description' => 'The ID of the driver. To obtain the driver ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Drivers** page, move the pointer over the name of the driver that you want to bind and obtain the driver ID.'."\n" ."\n" .'You can also call the [QueryEdgeDriver](~~155776~~) operation to query the driver ID.'."\n", 'type' => 'string', 'required' => true, 'example' => '9c1ae7bd59f1469abbdccc959228****', 'title' => ''], ], [ 'name' => 'DriverVersion', 'in' => 'query', 'schema' => ['description' => 'The version number of the driver. By default, if you do not specify this parameter, the latest version of the driver is used.'."\n", 'type' => 'string', 'required' => false, 'example' => '2.0.0', 'title' => ''], ], [ 'name' => 'OrderId', 'in' => 'query', 'schema' => ['description' => 'The ID of the order.'."\n" ."\n" .'> This parameter is required if you use a third-party driver that is purchased from the IoT marketplace. If an official or self-developed driver is used, you do not need to specify this parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => '11123458765****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message that is returned if the call failed.'."\n", 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '28D159F4-980F-423D-95F0-F705E9DFC016', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"28D159F4-980F-423D-95F0-F705E9DFC016\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n FEA6A369-2E16-4DB3-A0A6-6D14FD244170\\r\\n Success\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'BindDriverToEdgeInstance', 'summary' => 'Binds a driver to an edge instance.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of five queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:BindDriverToEdgeInstance', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'BindGatewayToEdgeInstance' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance to which you want to bind a gateway and obtain the instance ID.'."\n" ."\n" .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'F3APY0tPLhmgGtx0****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The key that uniquely identifies the product to which the gateway belongs.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1mAdeG****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The name of the gateway.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **ProductKey** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'device1', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the gateway in IoT Platform. This parameter corresponds to the combination of the **ProductKey** and **DeviceName** parameters.'."\n" ."\n" .'> If you specify this parameter, you do not need to specify the **ProductKey** or **DeviceName** parameter. If you use the **IotId** parameter and the combination of the **ProductKey** and **DeviceName** parameters, only the **IotId** parameter takes effect.'."\n", 'type' => 'string', 'required' => false, 'example' => '4z819VQHk6VSLmmBJfrf0010******', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message that is returned if the call failed.'."\n", 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '28D159F4-980F-423D-95F0-F705E9DFC016', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"28D159F4-980F-423D-95F0-F705E9DFC016\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n E3817065-2A17-4814-82FA-66FAB2CC01DF\\r\\n Success\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'BindGatewayToEdgeInstance', 'summary' => 'Binds a gateway to an edge instance.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:BindGatewayToEdgeInstance', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'BindLicenseDevice' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Enterprise Edition instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot-e3***', 'title' => ''], ], [ 'name' => 'LicenseCode', 'in' => 'query', 'schema' => ['description' => 'The license type that specifies the audio and video specifications. Valid values: **480P** and **720P**.'."\n", 'type' => 'string', 'required' => true, 'example' => '720P', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the devices belong.'."\n" ."\n" .'You can go to the IoT Platform console or call the [QueryProductList](~~69271~~) operation to view the information about all products of the instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a2YwD23***', 'title' => ''], ], [ 'name' => 'IotIdList', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of devices to which the license will be authorized. You must provide the **IotId** of each device.'."\n" ."\n" .'You can invoke the [QueryDevice](~~69905~~) API to query the **IotId** of all devices under a specified product.', 'type' => 'array', 'items' => ['description' => 'A device to which the license will be authorized. You must provide the **IotId** of the device.'."\n" ."\n" .'You can invoke the [QueryDevice](~~69905~~) API to query the **IotId** of all devices under a specified product.', 'type' => 'string', 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], 'required' => false, 'maxItems' => 10000, 'title' => '', 'example' => '', ], ], [ 'name' => 'DeviceNameList', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of devices to which the license will be authorized. You must provide the **DeviceName** of each device.'."\n" ."\n" .'You can invoke the [QueryDevice](~~69905~~) API to query the **DeviceName** of all devices under a specified product.', 'type' => 'array', 'items' => ['description' => 'A device to which the license will be authorized. You must provide the **DeviceName** of the device.'."\n" ."\n" .'You can invoke the [QueryDevice](~~69905~~) API to query the **DeviceName** of all devices under a specified product.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], 'required' => false, 'maxItems' => 10000, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the request fails. For more information, see the "Error codes" section in this topic.'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the request fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'E4F94B97-1D64-4080-BFD2-67461667AA43', 'title' => ''], 'Success' => ['description' => 'Indicates whether the request was successful.'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The result of the batch binding operation.'."\n", 'type' => 'object', 'properties' => [ 'SuccessSum' => ['description' => 'The number of devices to which the license is successfully bound.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''], 'Progress' => ['description' => 'The progress of the batch binding operation. The progress is a percentage. Valid values: 1 to 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], 'ResultCsvFile' => ['description' => 'The URL of the file that contains unbound devices. The devices failed to be bound to the license.'."\n", 'type' => 'string', 'example' => 'http://***', 'title' => ''], 'CheckProgressId' => ['description' => 'The unique ID that can be used to query the progress of the batch binding operation.'."\n", 'type' => 'string', 'example' => '123***', 'title' => ''], 'FailSum' => ['description' => 'The number of devices that failed to be bound to the license.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.rtc.service.notSigned', 'errorMessage' => 'The RTC service is not activated.', 'description' => 'The Real-Time Communication service is not activated.'], ['errorCode' => 'iot.rtc.invalid.product.key', 'errorMessage' => 'Invalid product key.', 'description' => 'Invalid product key'], ['errorCode' => 'iot.rtc.license.product.relation.nonexist', 'errorMessage' => 'License product relation non existent.', 'description' => 'License product relation non existent.'], ['errorCode' => 'iot.rtc.license.quota.lack', 'errorMessage' => 'License quota is not enough.', 'description' => ''], ['errorCode' => 'iot.vas.EmptyLicenseDeviceList', 'errorMessage' => 'Empty license device list.', 'description' => 'Empty license device list'], ['errorCode' => 'iot.rtc.invalid.license.code', 'errorMessage' => 'Invalid license code.', 'description' => 'Invalid license code'], ['errorCode' => 'iot.rtc.license.device.authorization.executing', 'errorMessage' => 'Authorization for this license device is in progress.', 'description' => 'Authorization for this license device is in progress'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4F94B97-1D64-4080-BFD2-67461667AA43\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"SuccessSum\\": 10,\\n \\"Progress\\": 100,\\n \\"ResultCsvFile\\": \\"http://***\\",\\n \\"CheckProgressId\\": \\"123***\\",\\n \\"FailSum\\": 2\\n }\\n}","type":"json"}]', 'title' => 'Authorize a License for Devices Under a Specified Product', 'summary' => 'Invoke this API to authorize a license for devices under a specified product.', 'description' => '## How-To'."\n" ."\n" .'Before invoking this API, confirm that you have completed the following operations:'."\n" ."\n" .'1. Purchase a license. For more information, see [Purchase Methods](~~427935~~).'."\n" .'2. Authorize the license for the product to which the target devices belong. For more information, see [BindLicenseProduct](~~427956~~) or [Product Authorization](~~427937~~).'."\n" ."\n\n" .'## Queries Per Second (QPS) Limit'."\n" ."\n" .'The maximum queries per second (QPS) limit for this API is 10 per Alibaba Cloud account. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling the API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:BindLicenseDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BindLicenseDevice'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'BindLicenseProduct' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the Enterprise instance. You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console.', 'type' => 'string', 'required' => false, 'example' => 'iot-23***', 'title' => ''], ], [ 'name' => 'LicenseCode', 'in' => 'query', 'schema' => ['description' => 'The license type (audio and video specification). Valid values: **480P**, **720P**.', 'type' => 'string', 'required' => true, 'example' => '480P', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to be authorized.'."\n" ."\n" .'You can view the information of all products under the current instance in the IoT Platform console or by calling the [QueryProductList](~~69271~~) API.', 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV***', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see **Error Codes** below in this topic.', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'Data' => ['description' => 'Indicates whether the product license authorization succeeded.'."\n" .'- **true**: The product license was authorized successfully.'."\n" .'- **false**: The product license authorization failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => 'E4F94B97-1D64-4080-BFD2-67461667AA43', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.rtc.service.notSigned', 'errorMessage' => 'The RTC service is not activated.', 'description' => 'The Real-Time Communication service is not activated.'], ['errorCode' => 'iot.rtc.invalid.license.code', 'errorMessage' => 'invalid license code', 'description' => ''], ['errorCode' => 'iot.rtc.invalid.product.key', 'errorMessage' => 'invalid product key', 'description' => 'invalid product key'], ['errorCode' => 'iot.rtc.license.product.relation.exist', 'errorMessage' => 'license product relation has exist', 'description' => 'license product relation has exist'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"Data\\": true,\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4F94B97-1D64-4080-BFD2-67461667AA43\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Authorize a License for a Specified Product', 'summary' => 'Invoke this API to authorize a license for a specified product.', 'description' => '## How-To'."\n" ."\n" .'Before invoking this API, purchase a license. For more information, see [Purchase Method](~~427935~~).'."\n" ."\n\n" .'## QPS Limit'."\n" ."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 10.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters document](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:BindLicenseProduct', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BindLicenseProduct'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'BindRoleToEdgeInstance' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. Do not pass this parameter for public instances; pass it for Enterprise instances.', 'example' => 'iot_instc_pu****_c*-v64********', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the edge instance. On the **Edge Instances** page in the [Edge Computing console](https://iot.console.aliyun.com/le/instance/list), hover your mouse over the name of the target edge instance to view its ID.'."\n" ."\n" .'You can also obtain the ID by calling the [QueryEdgeInstance](~~135214~~) API.', 'example' => 'F3APY0tPLhmgGtx0****', 'required' => true, 'type' => 'string', 'title' => ''], ], [ 'name' => 'RoleArn', 'in' => 'query', 'schema' => ['description' => 'The global resource descriptor (ARN) of the authorized role. After creating a role in the [Resource Access Management (RAM) console](https://ram.console.aliyun.com/), click the role name and view its ARN on the **Basic Information** page.', 'example' => 'acs:ram::176********:role/iotedgerole', 'required' => true, 'type' => 'string', 'title' => ''], ], [ 'name' => 'RoleName', 'in' => 'query', 'schema' => ['description' => 'The name of the role.', 'example' => 'IoTEdgeRole', 'required' => true, 'type' => 'string', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'properties' => [ 'Code' => ['description' => 'The return code of the API. A value of Success indicates success; other values indicate error codes. For details, see [Error Codes](~~135200~~).', 'example' => 'Success', 'type' => 'string', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'example' => 'request parameter error', 'type' => 'string', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'example' => '3DE428F8-22AF-4B37-8FEC-E64CFBE4A125', 'type' => 'string', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. A value of true indicates success; false indicates failure.', 'example' => 'true', 'type' => 'boolean', 'title' => ''], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"3DE428F8-22AF-4B37-8FEC-E64CFBE4A125\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Attach a Role to an Edge Instance', 'summary' => 'Attach a role to an edge instance.', 'description' => '## Conditions'."\n" .'The maximum queries per second (QPS) for this API per Alibaba Cloud account is 10.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~135196~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:BindRoleToEdgeInstance', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BindRoleToEdgeInstance'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'BindSceneRuleToEdgeInstance' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. Do not pass this parameter for public instances. Required for Enterprise instances.', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the edge instance. On the **Edge Instances** page in the [Edge Computing console](https://iot.console.aliyun.com/le/instance/list), hover your mouse over the name of the target edge instance to view its ID.'."\n" ."\n" .'You can also call the [QueryEdgeInstance](~~135214~~) API to obtain it.', 'type' => 'string', 'required' => true, 'example' => 'llL44UVXUqb9m5******', 'title' => ''], ], [ 'name' => 'RuleId', 'in' => 'query', 'schema' => ['description' => 'The ID of the scene orchestration rule. Call the [QuerySceneRule](~~169498~~) API to obtain the scene orchestration rule ID.', 'type' => 'string', 'required' => true, 'example' => 'f041397879ad4d89822811d741******', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the API. A value of "Success" indicates success; other values indicate error codes. For details, see [error codes](~~135200~~).', 'type' => 'string', 'example' => 'Success', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => 'C9D9C91B-1B3B-4D84-AE58-68E7BAA909EK', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. A value of true indicates success, and false indicates failure.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"RequestId\\": \\"C9D9C91B-1B3B-4D84-AE58-68E7BAA909EK\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Attach a scene orchestration rule to an edge instance', 'summary' => 'Attach a scene orchestration rule to an edge instance.', 'description' => '## Condition'."\n" .'Each Alibaba Cloud account can send a maximum of 20 queries per second (QPS) to invoke this API.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When you invoke this API, in addition to the API-specific Request Parameters described in this topic, you must also pass in the Common Request Parameters. For more information about common parameters, see [Common Parameters documentation](~~135196~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:BindSceneRuleToEdgeInstance', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BindSceneRuleToEdgeInstance'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'CancelJob' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID.'."\n" ."\n" .'You can view the **ID** of your current instance on the **Instance Overview** page in the IoT Platform console. If an ID exists, you must specify it; otherwise, the invocation fails.'."\n" ."\n" .'> If your public instance does not have an ID, see [How to Obtain an Instance ID](~~267533~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'JobId', 'in' => 'query', 'schema' => ['description' => 'The job ID. This is the globally unique identifier of the job.', 'type' => 'string', 'required' => true, 'example' => 'XUbmsMHmkqv0PiAG****010001', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => 'C25255EA-9F6E-4E04-85FE-AC1E9C136EBB', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"C25255EA-9F6E-4E04-85FE-AC1E9C136EBB\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Cancel Job', 'summary' => 'Invoke this API to cancel the execution of a job. ', 'description' => '## How-To'."\n" ."\n\n" ."\n" .'- While a job is being canceled, its status changes to **CANCELLING**. If you call CancelJob again on a job in this status, the system immediately returns a failure response.'."\n" ."\n" .'- A single Alibaba Cloud account can make up to 5 queries per second (QPS) to this API.'."\n" ."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. ', 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:CancelJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CancelJob'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'CancelOTAStrategyByJob' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'JobId', 'in' => 'query', 'schema' => ['description' => 'The ID of the update batch.'."\n" ."\n" .'After you call the [CreateOTADynamicUpgradeJob](~~147887~~) operation to create an update batch, the **JobId** parameter is returned. You can also view the batch ID on the **Firmware Details** page of the IoT Platform console.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'HvKuBpuk3rdk6E92CP****0200', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '291438BA-6E10-4C4C-B761-243B9A0D324F', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"291438BA-6E10-4C4C-B761-243B9A0D324F\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n A01829CE-75A1-4920-B775-921146A1AB79\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'CancelOTAStrategyByJob', 'summary' => 'Cancels a dynamic update policy.', 'description' => '## Limits'."\n" ."\n" .'* You can cancel only the dynamic update policy that is attached to a dynamic update batch. This operation is not applicable to static update batches.'."\n" ."\n" .' After the operation is successful, the **JobStatus** parameter is set to CANCELED.'."\n" ."\n" .'* Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:CancelOTAStrategyByJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'CancelOTATaskByDevice' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n" .'>* If no **Overview** page or ID is generated for your instance, you do not need to configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'FirmwareId', 'in' => 'query', 'schema' => ['description' => 'The unique ID of the OTA update package.'."\n" ."\n" .'An update package ID is returned after you call the [CreateOTAFirmware](~~147311~~) operation to create the update package.'."\n" ."\n" .'You can call the [ListOTAFirmware](~~147450~~) operation and view the update package ID in the response.'."\n", 'type' => 'string', 'required' => true, 'example' => 'T0F5b5tpFnHQrgfk****030100', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1V4kde****', 'title' => ''], ], [ 'name' => 'JobId', 'in' => 'query', 'schema' => ['description' => 'The ID of the update batch. If you configure this parameter, only the device update tasks in the specified update batch are deleted.'."\n" ."\n" .'After you call the [CreateOTAVerifyJob](~~147480~~), [CreateOTAStaticUpgradeJob](~~147496~~), or [CreateOTADynamicUpgradeJob](~~147887~~) operation to create a device update task, you can obtain the value of the **JobId** parameter. You can also view the batch ID on the **Firmware Details** page in the IoT Platform console.'."\n", 'type' => 'string', 'required' => false, 'example' => 'wahVIzGkCMuAUE2gDERM02****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The names of the devices whose upgrades you want to cancel.'."\n" ."\n" .'Device names must be unique.'."\n" ."\n" .'You can specify up to 200 device names.', 'type' => 'array', 'items' => ['type' => 'string', 'description' => 'The list of device names that you want to query.'."\n" ."\n" .'Each device name in the list must be unique.'."\n" ."\n" .'The list can contain up to 200 device names.'."\n", 'title' => '', 'example' => ''], 'required' => true, 'example' => 'device1', 'maxItems' => 200, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'A01829CE-75A1-4920-B775-921146A1AB79', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"A01829CE-75A1-4920-B775-921146A1AB79\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Cancel Upgrade Jobs for Devices Pending Upgrade', 'summary' => 'Cancel the upgrade jobs of devices that are in the pending upgrade state for a specified firmware.', 'description' => '## How-To'."\n" .'This API can be used only to cancel device upgrades that are in the pending push, pushed, or upgrading status.'."\n" ."\n" .'## QPS Limit'."\n" .'Each Alibaba Cloud account can send up to 10 queries per second (QPS) to call this API.'."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When you invoke this API, you must specify both the common request parameters and the specific request parameters described in this topic. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:CancelOTATaskByDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CancelOTATaskByDevice'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'CancelOTATaskByJob' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can obtain the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must specify this parameter. Otherwise, the call fails.'."\n" .'>* If the **Overview** page or an instance ID is not displayed in the IoT Platform console, ignore this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'JobId', 'in' => 'query', 'schema' => ['description' => 'The ID of the update batch.'."\n" ."\n" .'Use the value that is returned for the **JobId** parameter contained in the response of the [CreateOTAStaticUpgradeJob](~~147496~~) or [CreateOTADynamicUpgradeJob](~~147887~~) operation. You can also obtain the batch ID on the **Firmware Details** page of the IoT Platform console.'."\n", 'type' => 'string', 'required' => true, 'example' => '7glPHmaDYLAYMD1HHutT02****', 'title' => ''], ], [ 'name' => 'CancelScheduledTask', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to cancel update tasks of a scheduled update batch. If you specify the **ScheduleTime** parameter when you call the [CreateOTAStaticUpgradeJob](~~147496~~) operation, a scheduled update batch is created. Default value: false. Valid values:'."\n" ."\n" .'* **true**: cancel update tasks of a scheduled update batch.'."\n" .'* **false**: do not cancel update tasks of a scheduled update batch.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'CancelQueuedTask', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to cancel the update tasks that are in the **QUEUED** state in an update batch. Default value: false. Valid values:'."\n" ."\n" .'* **true**: cancel the update tasks that are in the NOTIFIED state.'."\n" .'* **false**: do not cancel the update tasks that are in the NOTIFIED state.'."\n" ."\n" .'> If you set this parameter to **true** and specify the **CancelUnconfirmedTask** parameter, only the update tasks that are in the QUEUED state are canceled. If you do not specify the **CancelUnconfirmedTask** parameter, the update tasks that are in the QUEUED or CONFIRM state are canceled.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'CancelInProgressTask', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to cancel the update tasks that are in the **IN_PROGRESS** state in an update batch. Default value: false. Valid values:'."\n" ."\n" .'* **true**: cancel the update tasks that are in the IN_PROGRESS state.'."\n" .'* **false**: do not cancel the update tasks that are in the IN_PROGRESS state.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'CancelNotifiedTask', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to cancel the update tasks that are in the **NOTIFIED** state in an update batch. Default value: false. Valid values:'."\n" ."\n" .'* **true**: cancel the update tasks that are in the NOTIFIED state.'."\n" .'* **false**: do not cancel the update tasks that are in the NOTIFIED state.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'CancelUnconfirmedTask', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to cancel the update tasks that are in the **CONFIRM** state in an update batch. Default value: false. Valid values:'."\n" ."\n" .'* **true**: cancel the update tasks that are in the CONFIRM state.'."\n" .'* **false**: do not cancel the update tasks that are in the CONFIRM state.'."\n" ."\n" .'This parameter is empty by default.'."\n" ."\n" .'> If you do not specify this parameter and set the **CancelQueuedTask** parameter to **true**, the update tasks that are in the CONFIRM state are canceled. If you set the **CancelQueuedTask** parameter to **false**, the update tasks that are in the CONFIRM state are not canceled.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '291438BA-6E10-4C4C-B761-243B9A0D324F', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"291438BA-6E10-4C4C-B761-243B9A0D324F\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n A01829CE-75A1-4920-B775-921146A1AB79\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'CancelOTATaskByJob', 'summary' => 'Cancels update tasks of a specified batch.', 'description' => 'When you call this operation, make sure that you specify at least one of the CancelScheduledTask, CancelQueuedTask, CancelInProgressTask, CancelNotifiedTask, and CancelUnconfirmedTask parameters. Otherwise, the request will fail.'."\n" ."\n" .'## QPS limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of five queries per second (QPS). '."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:CancelOTATaskByJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'CancelReleaseProduct' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to be unpublished.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 5573D217-8E3E-47AD-9331-2083B88E64B2\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'CancelReleaseProduct', 'summary' => 'Unpublishes a specified product.', 'description' => 'Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:CancelReleaseProduct', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'CheckBindLicenseDeviceProgress' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- For a new public instance or an Enterprise instance, the instance has an ID value, which must be provided. Otherwise, the API invocation will fail.'."\n" .'- For a legacy public instance, the instance does not have an ID value, so it is not required.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).', 'example' => 'iot-2ws****', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'LicenseCode', 'in' => 'query', 'schema' => ['description' => 'The license type (audio and video specification). Valid values: **480P**, **720P**.', 'example' => '720P', 'required' => true, 'type' => 'string', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the device belongs.'."\n" ."\n" .'You can view information about all products under the current instance either in the IoT Platform console or by invoking the [QueryProductList](~~69271~~) API.', 'example' => 'uhf5****', 'required' => true, 'type' => 'string', 'title' => ''], ], [ 'name' => 'CheckProgressId', 'in' => 'query', 'schema' => ['description' => 'The unique ID for querying the progress of batch device authorization.', 'example' => '23****', 'required' => true, 'type' => 'string', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation failed. For more information, see **error code** later in this topic.', 'example' => 'iot.system.SystemException', 'type' => 'string', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation failed.', 'example' => '系统异常', 'type' => 'string', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'example' => '291438BA-6E10-4C4C-B761-243B9A0D324F', 'type' => 'string', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: The invocation failed.', 'example' => 'true', 'type' => 'boolean', 'title' => ''], 'Data' => [ 'description' => 'The returned query result.', 'properties' => [ 'SuccessSum' => ['description' => 'The number of devices for which license authorization succeeded.', 'example' => '9', 'format' => 'int64', 'type' => 'integer', 'title' => ''], 'Progress' => ['description' => 'The percentage of progress for batch license authorization for devices. Valid values range from 1 to 100.', 'example' => '80', 'format' => 'int32', 'type' => 'integer', 'title' => ''], 'ResultCsvFile' => ['description' => 'The URL of the result file after authorization is complete, which is the storage address of the file in Object Storage Service (OSS).', 'example' => 'http://***.oss-***.aliyuncs.com/license_device_***/***/d***h/c***.csv?Expires=16***&OSSAccessKeyId=L***&Signature=***', 'type' => 'string', 'title' => ''], 'FailSum' => ['description' => 'The number of devices for which license authorization failed.', 'example' => '1', 'format' => 'int64', 'type' => 'integer', 'title' => ''], ], 'type' => 'object', 'title' => '', 'example' => '', ], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.rtc.service.notSigned', 'errorMessage' => 'The RTC service is not activated.', 'description' => 'The Real-Time Communication service is not activated.'], ['errorCode' => 'iot.rtc.invalid.product.key', 'errorMessage' => 'Invalid product key.', 'description' => 'Invalid product key'], ['errorCode' => 'iot.rtc.license.product.relation.nonexist', 'errorMessage' => 'License product relation non existent.', 'description' => 'License product relation non existent.'], ['errorCode' => 'iot.rtc.invalid.license.code', 'errorMessage' => 'Invalid license code.', 'description' => 'Invalid license code'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"291438BA-6E10-4C4C-B761-243B9A0D324F\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"SuccessSum\\": 9,\\n \\"Progress\\": 80,\\n \\"ResultCsvFile\\": \\"http://***.oss-***.aliyuncs.com/license_device_***/***/d***h/c***.csv?Expires=16***&OSSAccessKeyId=L***&Signature=***\\",\\n \\"FailSum\\": 1\\n }\\n}","type":"json"}]', 'title' => 'CheckBindLicenseDeviceProgress', 'summary' => 'You can call this API to query the authorization progress by using the unique ID (CheckProgressId) returned from the batch device authorization API.', 'description' => '## How-To '."\n" .'You have already called the [BindLicenseDevice](~~427961~~) API to authorize a license for devices and obtained the **CheckProgressId** for querying the authorization progress.'."\n" ."\n" .'## Queries per second (QPS) limit '."\n" ."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 10. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When you call this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:CheckBindLicenseDeviceProgress', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CheckBindLicenseDeviceProgress'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'ClearDeviceDesiredProperty' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the ID of the instance on the **Overview** page in the IoT Platform console.****'."\n" ."\n" .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.****'."\n" .'>* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-2w****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the device belongs.'."\n" ."\n" .'> If you specify a value for this parameter, you must configure the **DeviceName** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The DeviceName of the device.'."\n" ."\n" .'> If you specify a value for this parameter, you must configure the **ProductKey** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'light', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n" ."\n" .'> The IotId parameter specifies a globally unique identifier (GUID) for the device. The value of the **IotId** parameter is equivalent to a combination of the values of the **ProductKey** and **DeviceName** parameters. If you specify a value for the IotId parameter, you do not need to configure the **ProductKey** or **DeviceName** parameter. If you specify values for the **IotId**, **ProductKey**, and **DeviceName** parameters, the value of the **IotId** parameter takes precedence.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], [ 'name' => 'Identifies', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'A list of property identifiers for which you want to delete the desired property values. The number of property identifiers cannot exceed 10. ', 'type' => 'array', 'items' => ['type' => 'string', 'description' => 'The identifiers of properties whose desired values you want to delete. You can specify up to 10 property identifiers.'."\n", 'title' => '', 'example' => ''], 'required' => false, 'example' => 'temperature', 'maxItems' => 10, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see the "**Error codes**" section of this topic.'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data returned if the call is successful.'."\n", 'type' => 'object', 'properties' => [ 'Versions' => ['description' => 'The latest version of the desired values of the properties after you call this operation to delete the specified desired property values.'."\n", 'type' => 'string', 'example' => '{\\"temperature\\":0}', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.device.InvalidFormattedDeviceName', 'errorMessage' => 'The DeviceName format is invalid.', 'description' => 'The DeviceName format is invalid.'], ['errorCode' => 'iot.device.NotSupportExemptionValidateType', 'errorMessage' => 'The feature does not support the specified verification type.', 'description' => 'The feature does not support the specified verification type.'], ['errorCode' => 'iot.prod.NotExistedProduct', 'errorMessage' => 'The specified product does not exist.', 'description' => 'The product does not exist.'], ['errorCode' => 'iot.prod.QueryProductPropertyFailed', 'errorMessage' => 'An error occurred while querying the product property.', 'description' => 'An error occurred while querying the product property.'], ['errorCode' => 'iot.check.InvalidFormattedParameter', 'errorMessage' => 'The parameter format is invalid.', 'description' => 'The parameter format is invalid.'], ['errorCode' => 'Iot.digitaltwin.DTInstanceInvalidThingType', 'errorMessage' => 'The digital twin operation is not supported.', 'description' => 'You cannot call this operation to access data of the twin type.'], ['errorCode' => 'iot.check.NullParameter', 'errorMessage' => 'Specify parameter is null.', 'description' => 'Specify parameter is null'], ['errorCode' => 'iot.device.CanNotSetReadOnlyProperty', 'errorMessage' => 'Cannot set read only property.', 'description' => 'Cannot set read only property'], ['errorCode' => 'iot.device.DeviceIsDisable', 'errorMessage' => 'The specified device has been disabled.', 'description' => 'The specified device has been disabled.'], ['errorCode' => 'iot.device.InvalidIoTId', 'errorMessage' => 'The specified device ID is invalid.', 'description' => 'The specified device ID is invalid.'], ['errorCode' => 'iot.device.NullDeviceName', 'errorMessage' => 'The DeviceName parameter cannot be empty.', 'description' => 'The DeviceName parameter cannot be empty.'], ['errorCode' => 'iot.prod.NullProductKey', 'errorMessage' => 'The ProductKey parameter cannot be empty.', 'description' => 'The ProductKey parameter cannot be empty.'], ['errorCode' => 'iot.prod.InvalidFormattedProductkey', 'errorMessage' => 'The ProductKey format is invalid.', 'description' => 'The ProductKey format is invalid.'], ['errorCode' => 'iot.common.InvalidTenant', 'errorMessage' => 'The Invalid tenant.', 'description' => ''], ['errorCode' => 'iot.prod.QueryPropertyNotFound', 'errorMessage' => 'Query property not found.', 'description' => 'Query property not found.'], ['errorCode' => 'iot.device.ClearPropertyDesiredFailed', 'errorMessage' => 'Failed to clear desired value of property.', 'description' => 'Failed to clear desired value of property.'], ['errorCode' => 'iot.prod.QueryProductAbilitiesNotFound', 'errorMessage' => 'query product abilities not found.', 'description' => ''], ['errorCode' => 'iot.Device.NotExistedDevice', 'errorMessage' => 'This device does not exist.', 'description' => 'The error message returned because the device does not exist or is not activated.'], ['errorCode' => 'iot.prod.NullAbilityIdentifier', 'errorMessage' => 'You must specify a feature identifier.', 'description' => 'You must specify a feature identifier.'], ['errorCode' => 'iot.system.IllegalRequest', 'errorMessage' => 'The request parameter is invalid.', 'description' => 'The request parameter is invalid.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Versions\\": \\"{\\\\\\\\\\\\\\"temperature\\\\\\\\\\\\\\":0}\\"\\n }\\n}","type":"json"}]', 'title' => 'ClearDeviceDesiredProperty ', 'summary' => 'Invoke this API to delete the desired property values that have been set for a device. ', 'description' => '## How-To '."\n" .'- When calling this API, you must specify the identifiers of the properties whose desired values you want to delete (**Identifies**). If **Identifies** is not provided, the call will fail. '."\n" .'- You can specify up to 10 property identifiers in a single API call. '."\n" .'- After successfully deleting the desired property values by using this API, when you call the [QueryDeviceDesiredProperty](~~107566~~) API to query the desired property values, the response will include the corresponding **Identifier** (property identifier) but will no longer include the corresponding **Value**.'."\n" ."\n" .'## Queries per second (QPS) limit '."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 50. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. ', 'requestParamsDescription' => 'When calling this API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Request Parameters](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:ClearDeviceDesiredProperty', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ClearDeviceDesiredProperty'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'ClearEdgeInstanceDriverConfigs' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'This parameter is not required for the public instance but required for your purchased instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance that uses the driver and obtain the instance ID.'."\n" ."\n" .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'F3APY0tPLhmgGtx0****', 'title' => ''], ], [ 'name' => 'DriverId', 'in' => 'query', 'schema' => ['description' => 'The ID of the driver. To obtain the driver ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Drivers** page, move the pointer over the name of the driver whose configurations you want to delete and obtain the driver ID.'."\n" ."\n" .'You can also call the [QueryEdgeDriver](~~155776~~) operation to query the driver ID.'."\n", 'type' => 'string', 'required' => true, 'example' => '021d154d2a2f4dd7a489773d9e04****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message that is returned if the call failed.'."\n", 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'DF6B728B-ADD7-4C41-88C3-D21B4CA82CF1', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"DF6B728B-ADD7-4C41-88C3-D21B4CA82CF1\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n DF6B728B-ADD7-4C41-88C3-D21B4CA82CF1\\r\\n Success\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'ClearEdgeInstanceDriverConfigs', 'summary' => 'Deletes the configurations of a driver that is bound to an edge instance.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:ClearEdgeInstanceDriverConfigs', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'CloseDeviceTunnel' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'TunnelId', 'in' => 'query', 'schema' => ['description' => 'The ID of the secure tunnel to shut down.', 'type' => 'string', 'required' => true, 'example' => 'd4098041-a560-***', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID value exists, you must specify this ID. Otherwise, the invocation fails.'."\n" .'- If the **Instance Overview** page or ID value does not exist, you do not need to specify this parameter.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-***-v6***', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation failed. For more information, see [Error Codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation failed.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generated for this request.', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" ."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.securetunnel.TunnelNotExist', 'errorMessage' => 'The device tunnel does not exist.', 'description' => 'The device tunnel does not exist.'], ['errorCode' => 'iot.securetunnel.InstanceIdMismatch', 'errorMessage' => 'The instanceId does not match the parameter.', 'description' => 'The instance ID does not match the parameter.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Shut down a secure tunnel whose status is Open', 'summary' => 'You can shut down a secure tunnel whose status is Open after it has been created and used.', 'description' => '## Queries per second (QPS) limit'."\n" ."\n" .'A single Alibaba Cloud account can send a maximum of 5 requests per second (QPS) to call this API.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When you invoke this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:CloseDeviceTunnel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CloseDeviceTunnel'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'CloseEdgeInstanceDeployment' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance for which you want to stop deployment tasks and obtain the instance ID.'."\n" ."\n" .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'PgEfYupSn6Pvhfkx****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message that is returned if the call failed.'."\n", 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '3C969586-3DD1-41A7-9B8E-E8B134CA6600', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"3C969586-3DD1-41A7-9B8E-E8B134CA6600\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 3C969586-3DD1-41A7-9B8E-E8B134CA6600\\r\\n Success\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'CloseEdgeInstanceDeployment', 'summary' => 'Stops the deployment tasks of an edge instance.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of five queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:CloseEdgeInstanceDeployment', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'ConfirmOTATask' => [ 'methods' => ['post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-v64********', 'title' => ''], ], [ 'name' => 'TaskId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The ID of the device upgrade job to be confirmed. You can specify up to 10 TaskId values.', 'type' => 'array', 'items' => ['type' => 'string', 'description' => 'The ID of the update task to be confirmed. You can specify a maximum of 10 task IDs.'."\n", 'title' => '', 'example' => ''], 'required' => true, 'example' => 'y3tOmCDNgpR8F9jnVEzC01****', 'maxItems' => 10, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'A59D3BE1-E9A3-43F3-9B50-B7C8DE165D9B', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"A59D3BE1-E9A3-43F3-9B50-B7C8DE165D9B\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Batch Confirm Device Upgrade Jobs', 'summary' => 'Batch confirm device upgrade jobs that are in the pending confirmation status.', 'description' => '## How-To'."\n" .'If a batch upgrade job is scheduled for a specific time, you can call this API to confirm the device upgrade job only within the specified time range.'."\n" ."\n" .'## QPS limit'."\n" .'Each Alibaba Cloud account can send up to 20 queries per second (QPS) to call this API.'."\n" ."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When you invoke this API, in addition to the API-specific request parameters described in this topic, you must also specify common request parameters. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ConfirmOTATask'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'CopyThingModel' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. On the **Overview** page in the IoT Platform console, you can view the ID of the instance.'."\n" ."\n" .'>* If your instance has an ID, you must specify this parameter. Otherwise, the call fails.'."\n" .'>* If the **Overview** page or instance ID is not displayed in the IoT Platform console, ignore this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group.'."\n" ."\n" .'> You do not need to configure this parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-acfm4l5tcwd****', 'title' => ''], ], [ 'name' => 'SourceProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the source product.'."\n" ."\n" .'You can view the ProductKey on the Product Details page of the IoT Platform console. You can also obtain the ProductKey by calling the [QueryProductList](~~69271~~) operation.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'TargetProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the destination product.'."\n" ."\n" .'You can view the ProductKey on the Product Details page of the IoT Platform console. You can also obtain the ProductKey by calling the [QueryProductList](~~69271~~) operation.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwwG0****', 'title' => ''], ], [ 'name' => 'SourceModelVersion', 'in' => 'query', 'schema' => ['description' => 'The version of the TSL model that you want to copy.'."\n" ."\n" .'You can call the [ListThingModelVersion](~~150318~~) operation to view the TSL model versions of a product.'."\n", 'type' => 'string', 'required' => false, 'example' => 'V1.0.0', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\n9E76053E-26ED-4AB4-AE58-8AFC3F1E7E8E\\ntrue\\n","errorExample":""}]', 'title' => 'CopyThingModel', 'summary' => 'Copies a Thing Specification Language (TSL) model from a source product to a destination product.', 'description' => '* If a destination product is published, you must call the [CancelReleaseProduct](~~213875~~) operation to unpublish the product before you can copy a TSL model.'."\n" .'* The categories of the source product and destination product must be the same. The product category is indicated by the **CategoryKey** parameter. You can call the [QueryProduct](~~69272~~) operation and view the **CategoryKey** parameter of a product in the returned result.'."\n" .'* You must specify the version of the TSL model that you want to copy by using the **SourceModelVersion** parameter in the request. Otherwise, the CopyThingModel operation fails.'."\n" ."\n" .'## QPS limits'."\n" ."\n" .'Each Alibaba Cloud account can run up to five queries per second (QPS). '."\n" ."\n" .'> The Resource Access Management (RAM) users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:CopyThingModel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'CopyThingModelAsync' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'TargetProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'SourceModelVersion', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'SourceProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Request.param.error', 'errorMessage' => 'Request.param.error. %s.', 'description' => ''], ['errorCode' => 'Product.Key.Invalid', 'errorMessage' => 'Product key is invalid.', 'description' => 'The ProductKey is invalid.'], ['errorCode' => 'Product.not.found', 'errorMessage' => 'Product.not.found.', 'description' => 'The product does not exist.'], ['errorCode' => 'Distribute.thing.module.no.edit', 'errorMessage' => 'Distribute.thing.module.no.edit.', 'description' => 'Distribute.thing.module.no.edit.'], ['errorCode' => 'Thing.Model.Get.Lock.Failed', 'errorMessage' => 'The thing model get lock failed. Please try again later.', 'description' => 'The system failed to obtain the lock of the TSL model. Try again later.'], ['errorCode' => 'Product.authright.illegal', 'errorMessage' => 'Product authRight illegal.', 'description' => 'The permissions on the product are invalid.'], ['errorCode' => 'Thing.model.not.found', 'errorMessage' => 'The thing model is not existed.', 'description' => 'The TSL model does not exist.'], ['errorCode' => 'Server.error', 'errorMessage' => 'Server error.', 'description' => 'An error occurred on the server.'], ['errorCode' => 'Thing.Model.Status.Not.Final', 'errorMessage' => 'The thing model may be importing or copying or publishing. Please wait for the final status.', 'description' => 'The TSL model is being exported, copied, or published. Try again later.'], ['errorCode' => 'Product.has.published', 'errorMessage' => 'Product has published.', 'description' => 'The product is published.'], ['errorCode' => 'Category.not.same', 'errorMessage' => 'Category must be the same.', 'description' => 'The category must be the same as the resource.'], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:CopyThingModelAsync', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false\\n}","type":"json"}]', ], 'CountSpeechBroadcastHour' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'ShareTaskCode', 'in' => 'formData', 'schema' => ['description' => 'The code that is used to share the speeches.'."\n" ."\n" .'You can obtain the **code** on the **Shared Corpus Management** page of **Speech Sending Voice Broadcasting Service**.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ebed9280_ba25_48df_80c2_****', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'> If your instance has an ID, you must specify this parameter. Otherwise, the request fails. If no Overview page exists or no instance ID is displayed, you do not need to specify this parameter.'."\n" ."\n" .'For more information, see the [Overview](~~356505~~) topic of IoT instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot-2w****', 'title' => ''], ], [ 'name' => 'QueryDateTimeHour', 'in' => 'query', 'schema' => ['description' => 'The end time of the hour in which you want to query the number of broadcasted speeches. Example: 2020090919, which indicates 19:00 on September 9, 2020.'."\n", 'type' => 'string', 'required' => true, 'example' => '2020090919', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'String iot.system.SystemException ', 'title' => ''], 'Data' => ['description' => 'The number of shared speeches that were broadcasted in the specific hour.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1000', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the request fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.speech.InvalidIotInstanceId', 'errorMessage' => 'invalid instance id', 'description' => ''], ['errorCode' => 'iot.soundcode.InvalidParam', 'errorMessage' => 'invalid param', 'description' => 'invalid param'], ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"String\\\\tiot.system.SystemException\\\\t\\",\\n \\"Data\\": 1000,\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\nE4C0FF92-2A86-41DB-92D3-73B60310D25E\\n1000\\ntrue\\n","errorExample":""}]', 'title' => 'CountSpeechBroadcastHour', 'summary' => 'Queries the number of speeches that were broadcasted in a specific hour.', 'description' => '## Usage notes'."\n" ."\n" .'You can call this operation to query the shared speeches that were broadcasted six hours ago. For example, if a speech was broadcasted at 07:15, you can query the speech after 13:15.'."\n" ."\n" .'## QPS limits'."\n" ."\n" .'You can call this API operation up to 100 times per second per account.'."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:CountSpeechBroadcastHour', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'CreateConsumerGroup' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'GroupName', 'in' => 'query', 'schema' => ['description' => 'The name of the consumer group. The name must be 4 to 30 characters in length and can contain letters, digits, and underscores (\\_).'."\n", 'type' => 'string', 'required' => true, 'example' => '消费组1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '73B9DF43-7780-47DE-8BED-077729D28BD2', 'title' => ''], 'GroupId' => ['description' => 'The ID of the consumer group.'."\n", 'type' => 'string', 'example' => 'nJRaJPn5U1JITGf******', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"73B9DF43-7780-47DE-8BED-077729D28BD2\\",\\n \\"GroupId\\": \\"nJRaJPn5U1JITGf******\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n nJRaJPn5U1JITGf******\\r\\n 73B9DF43-7780-47DE-8BED-077729D28BD2\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'CreateConsumerGroup', 'summary' => 'Creates a consumer group that is required for an AMQP server-side subscription.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateConsumerGroup', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'CreateConsumerGroupSubscribeRelation' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'ConsumerGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the consumer group. After you call the [CreateConsumerGroup](~~170388~~) operation to create a consumer group, the consumer group ID is returned. You can call the [QueryConsumerGroupList](~~170419~~) operation to query the consumer group ID by group name. You can also go to the IoT Platform console,and choose **Rules** > **Server-side Subscription** > **Consumer Groups** to view the consumer group ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'nJRaJPn5U1JITGfjBO9l00****', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product that is specified for the subscription.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1fyXVF****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 73B9DF43-7780-47DE-8BED-077729D28BD2\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'CreateConsumerGroupSubscribeRelation', 'summary' => 'Adds a consumer group to an AMQP subscription.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateConsumerGroupSubscribeRelation', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'CreateDataAPIService' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'RequestParam', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'List of request parameters.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Type' => ['description' => 'Parameter type. For more information, see [JDBCType](https://docs.oracle.com/javase/8/docs/api/java/sql/JDBCType.html). Currently supported types are: ARRAY, VARCHAR, INTEGER, BIGINT, BOOLEAN, DECIMAL, and TIMESTAMP.', 'type' => 'string', 'required' => false, 'example' => 'VARCHAR', 'title' => ''], 'Required' => ['description' => 'Indicates whether the parameter is required.'."\n" ."\n" .'- true: Required.'."\n" .'- false: Optional.'."\n" ."\n" .'Default value is true.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], 'Example' => ['description' => 'Sample parameter value.', 'type' => 'string', 'required' => false, 'example' => 'dksiaiek23s', 'title' => ''], 'Name' => ['description' => 'Parameter name.'."\n" ."\n" .'For example, for a template parameter in the format `${status}`, the parameter name is `status`.', 'type' => 'string', 'required' => false, 'example' => 'status', 'title' => ''], 'Desc' => ['description' => 'Parameter description.', 'type' => 'string', 'required' => false, 'example' => '设备状态', 'title' => ''], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 100, 'title' => '', 'example' => '', ], ], [ 'name' => 'ResponseParam', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'List of response parameters.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Type' => ['description' => 'Parameter type. For more information, see [JDBCType](https://docs.oracle.com/javase/8/docs/api/java/sql/JDBCType.html). Currently supported types are: VARCHAR, INTEGER, BIGINT, BOOLEAN, DECIMAL, and TIMESTAMP.', 'type' => 'string', 'required' => false, 'example' => 'INTEGER', 'title' => ''], 'Required' => ['description' => 'Indicates whether the parameter is required.'."\n" ."\n" .'- true: Required.'."\n" .'- false: Optional.'."\n" ."\n" .'> This parameter does not need to be processed in the response.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], 'Example' => ['description' => 'Sample parameter value.', 'type' => 'string', 'required' => false, 'example' => '100', 'title' => ''], 'Name' => ['description' => 'Parameter name.', 'type' => 'string', 'required' => false, 'example' => 'deviceCount', 'title' => ''], 'Desc' => ['description' => 'Parameter description.', 'type' => 'string', 'required' => false, 'example' => '设备总数', 'title' => ''], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 100, 'title' => '', 'example' => '', ], ], [ 'name' => 'DisplayName', 'in' => 'formData', 'schema' => ['description' => 'The display name of the API, which must be globally unique. It supports only Chinese characters, English letters, digits, underscores (_), hyphens (-), English parentheses, and spaces, with a maximum length of 20 characters.', 'type' => 'string', 'required' => true, 'example' => '查询设备总数', 'title' => ''], ], [ 'name' => 'OriginSql', 'in' => 'formData', 'schema' => ['description' => 'The original SQL corresponding to the API, specifying the SQL style for data development.'."\n" ."\n" .'For example: `select count(*) as deviceCount from ${system.device} where status = 1`. Here, `${system.device}` refers to the device table in the platform system. For details, see the table descriptions in [Data Table](~~120902~~).', 'type' => 'string', 'required' => true, 'example' => 'SELECT COUNT(iot_id) AS deviceCount FROM ${system.device} WHERE status=1', 'title' => ''], ], [ 'name' => 'Desc', 'in' => 'formData', 'schema' => ['description' => 'The description of the API.', 'type' => 'string', 'required' => false, 'example' => '数据分析API', 'title' => ''], ], [ 'name' => 'TemplateSql', 'in' => 'formData', 'schema' => ['description' => 'The template SQL statement for the service, which is a templated version of the original SQL.'."\n" ."\n" .'For example, `select count(*) as deviceCount from ${system.device} where status = ${status}`. In this example, `${status}` is a templated parameter. Dynamic values can be configured for template parameters.', 'type' => 'string', 'required' => true, 'example' => 'SELECT COUNT(iot_id) AS deviceCount FROM ${system.device} WHERE status=${status}', 'title' => ''], ], [ 'name' => 'ApiPath', 'in' => 'formData', 'schema' => ['description' => 'The custom part of the API invocation path. As a resource identifier for the API, it must be globally unique.'."\n" ."\n" .'> The preceding segment of the API invocation path is generated by the system.', 'type' => 'string', 'required' => true, 'example' => 'device/getDeviceCountByStatus', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'Instance ID. Do not specify this parameter for public instances. Specify it for Enterprise instances.', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the call fails. For more information, see [Error Codes](~~135176~~).', 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the call fails.', 'type' => 'string', 'example' => '请求参数错误', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => '57b144cf-09fc-4916-a272-a62902d5b207', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call succeeded.'."\n" .'- **true**: The call succeeded.'."\n" .'- **false**: The call failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The device information returned when the call succeeds.', 'type' => 'object', 'properties' => [ 'LastUpdateTime' => ['description' => 'The last update time of the API, in milliseconds (ms).', 'type' => 'integer', 'format' => 'int64', 'example' => '1557839468865', 'title' => ''], 'ApiSrn' => ['description' => 'The API resource identifier, which is the global unique identifier of the API.'."\n" ."\n" .'Sample:'."\n" ."\n" .'`acs:iot:*:127103983461****:serveapi/device/getDeviceCountByStatus2`'."\n" ."\n" .'The preceding sample contains the following information:'."\n" ."\n" .'- `127103983461****` is the Alibaba Cloud account ID.'."\n" ."\n" .'- `/device/getDeviceCountByStatus` is the value of the ApiPath request parameter, which represents the custom part of the API invocation path.', 'type' => 'string', 'example' => 'acs:iot:*:127103983461****:serveapi/device/getDeviceCountByStatus2', 'title' => ''], 'CreateTime' => ['description' => 'The creation time of the API, in milliseconds (ms).', 'type' => 'integer', 'format' => 'int64', 'example' => '1557839468865', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"请求参数错误\\",\\n \\"RequestId\\": \\"57b144cf-09fc-4916-a272-a62902d5b207\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"LastUpdateTime\\": 1557839468865,\\n \\"ApiSrn\\": \\"acs:iot:*:127103983461****:serveapi/device/getDeviceCountByStatus2\\",\\n \\"CreateTime\\": 1557839468865\\n }\\n}","type":"json"}]', 'title' => 'CreateDataAPIService', 'summary' => 'Invoke this API to create a data algorithm service API.', 'description' => '## Conditions'."\n" .'Each Alibaba Cloud account can make a maximum of 1 query per second (QPS) to this API.'."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling this API, you must include the common request parameters in addition to the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateDataAPIService', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateDataAPIService'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'CreateDataSourceItem' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'> If your instance has an ID, you must specify this parameter. Otherwise, the request fails. If no Overview page exists or no instance ID is displayed, you do not need to specify this parameter.'."\n" ."\n" .'For more information, see the [Overview](~~356505~~) topic of IoT instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot-0pp1n8t***', 'title' => ''], ], [ 'name' => 'DataSourceId', 'in' => 'query', 'schema' => ['description' => 'DataSource ID.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '999999999999', 'minimum' => '0', 'example' => '1002', 'title' => ''], ], [ 'name' => 'Topic', 'in' => 'query', 'schema' => ['description' => 'The topic that you want to add to the data source in the rules engine. Format: `/${productKey}/${deviceName}/topicShortName`. `${productKey}` specifies the **ProductKey** of the product to which a device belongs. `${deviceName}` specifies the name of the device. `topicShortName` specifies the custom name of the topic.'."\n" ."\n" .'* Basic communication topics or Thing Specification Language (TSL) communication topics are in the `/${productKey}/${deviceName}/topicShortName` format. You can replace `${deviceName}` with the plus sign (`+`) wildcard character. The wildcard character specifies that the topic applies to all devices in the product. Valid values of `topicShortName`:'."\n" ."\n" .' * `/thing/event/property/post`: submits the property data of a device.'."\n" .' * `/thing/event/${tsl.event.identifier}/post`: submits the event data of a device. `${tsl.event.identifier}` specifies the identifier of an event in the TSL model.'."\n" .' * `/thing/lifecycle`: submits device lifecycle changes.'."\n" .' * `/thing/downlink/reply/message`: sends a response to a request from IoT Platform.'."\n" .' * `/thing/list/found`: submits data when a gateway detects a new sub-device.'."\n" .' * `/thing/topo/lifecycle`: submits device topology changes.'."\n" .' * `/thing/event/property/history/post`: submits the historical property data of a device.'."\n" .' * `/thing/event/${tsl.event.identifier}/post`: submits the historical event data of a device. `${tsl.event.identifier}` specifies the identifier of an event in the TSL model.'."\n" .' * `/ota/upgrade`: submits the over-the-air (OTA) update status.'."\n" .' * `/ota/version/post`: submits OTA module versions.'."\n" .' * `/thing/deviceinfo/update`: submits device tag changes.'."\n" ."\n" .' `/${productKey}/${packageId}/${jobId}/ota/job/status`: submits the status of each OTA update batch. This topic is a basic communication topic. `${packageId}` specifies the ID of the update package. `${jobId}` specifies the ID of the update batch.'."\n" ."\n" .'* Custom topics are in the `/${productKey}/${deviceName}/user/#` format. Example: `/${productKey}/${deviceName}/user/get`.'."\n" ."\n" .' You can call the [QueryProductTopic](~~69647~~) operation to view all custom topics of a product.'."\n" ."\n" .' When you specify a custom topic, you can use the plus sign (`+`) and number sign (`#`) wildcard characters.'."\n" ."\n" .' * You can replace `${deviceName}` with the plus sign (`+`) wildcard character. The wildcard character specifies that the topic applies to all devices in the product.'."\n" .' * You can replace the fields that follow ${deviceName} with `/user/#`. The number sign (`#`) wildcard character specifies that the topic applies to all fields that follow `/user`.'."\n" ."\n" .'* Topics that are used to submit device status changes are in the `/as/mqtt/status/${productKey}/${deviceName}` format.'."\n" ."\n" .'You can use the plus sign (`+`) wildcard character to specify that the status changes of all devices in the product are submitted.'."\n" ."\n" .'For more information about how to use wildcard characters, see the "Custom topics with wildcard characters" section in [Use custom topics](~~85539~~).'."\n" ."\n" .'For more information about the data formats of topics, see [Data formats](~~73736~~).'."\n" ."\n" .'> You can add only the following topics to the data source in the rules engine for MQTT gateways, devices of MQTT gateways, and products and devices that use the open source MQTT protocol: custom topics, topics that are used to submit device status changes, and topics that are used to submit device lifecycle changes. For more information about custom topics, see the "Messaging" topic. If you set this parameter to a custom topic, you must specify ScopeType and ProductKey. If you set ScopeType to DEVICE, you must specify DeviceName.'."\n", 'type' => 'string', 'required' => true, 'example' => '/as/mqtt/status/gy***z/+', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the custom message **topic** belongs.'."\n" ."\n" .'>You must set this parameter for open-source MQTT hosted products and devices, and for MQTT cloud gateway products and devices.'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => 'gy***z', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The **device name** of the device to which the custom message **topic** belongs.'."\n" ."\n" .'>When the **topic** is a custom message **topic** and **scopeType** is **DEVICE**, you must set this parameter for open-source MQTT hosted products and devices, and for MQTT cloud gateway products and devices.'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => 'device1', 'title' => ''], ], [ 'name' => 'ScopeType', 'in' => 'query', 'schema' => [ 'description' => 'The scope of the subscription to the custom message topic. Valid values:'."\n" ."\n" .'- **PRODUCT**: Product dimension. This value indicates that the subscription applies to all devices under the product. In this case, you must also specify **ProductKey**.'."\n" .'- **DEVICE**: Device dimension. This value indicates that the subscription applies to a specified device under the product. In this case, you must also specify **DeviceName**.'."\n" ."\n" .'>For open-source MQTT-hosted products and devices, and MQTT cloud gateway products and devices, if the **topic** is a custom message topic, you must specify this parameter.'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => 'PRODUCT', 'enum' => ['PRODUCT', 'DEVICE'], 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.prod.NotExistedProduct', 'errorMessage' => 'The specified product does not exist.', 'description' => 'The product does not exist.'], ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ['errorCode' => 'iot.common.InvalidFormattedParameter', 'errorMessage' => 'The parameter format is invalid.', 'description' => 'The parameter format is invalid.'], ['errorCode' => 'iot.common.QueryProductActionError', 'errorMessage' => 'query product info fail', 'description' => ''], ['errorCode' => 'iot.rule.DataSourceNotExists', 'errorMessage' => 'data source not exist', 'description' => ''], ['errorCode' => 'iot.rule.ItemExceedsLimit', 'errorMessage' => 'item exceeds limit', 'description' => ''], ['errorCode' => 'iot.rule.DataSourceItemExists', 'errorMessage' => 'data source item exist', 'description' => ''], ['errorCode' => 'iot.common.TooManyRequest', 'errorMessage' => 'Request frequency is too high', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'CreateDataSourceItem', 'summary' => 'Invoke this API operation to add a topic to a data source in the rules engine.', 'description' => '## How-To'."\n" .'Before you invoke this API operation, create a data source first. For more information, see [Step 1 to Step 6 in Create a data source](~~270932~~). Then, go to the **Data Sources** tab of the **Message Forwarding > Data Forwarding** page for the corresponding instance in the IoT Platform console to view the **DataSource ID**.'."\n" ."\n" .'>For open-source MQTT-hosted products and devices, and MQTT cloud gateway products and devices, if the **topic** is a custom message topic, you must specify **ScopeType** and **ProductKey**. If **ScopeType** is set to **DEVICE**, you must also specify **DeviceName**.'."\n" .'>'."\n" ."\n" .'## QPS limits'."\n" .'Each Alibaba Cloud account can send up to 10 queries per second (QPS) to invoke this API operation.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When you invoke this API operation, you must specify both the common request parameters and the operation-specific request parameters described in this topic. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateDataSourceItem', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateDataSourceItem'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'CreateDestination' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'Configuration', 'in' => 'query', 'schema' => ['description' => 'Configuration information corresponding to the data destination, provided as a JSON string. The required content varies depending on the action type of the rule. For specific requirements and examples, see the parameter notes below this table.', 'type' => 'string', 'required' => true, 'example' => '{"topic":"/a1POX0c****/device1/user/get","topicType":1}', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the current instance ID on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must provide it; otherwise, the call will fail.'."\n" .'- If there is no **Instance Overview** page or ID, you do not need to provide this parameter.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-2w****', 'title' => ''], ], [ 'name' => 'Type', 'in' => 'query', 'schema' => ['description' => 'The operation type of the data destination. Valid values:'."\n" ."\n" .'- **REPUBLISH**: Forward the topic data processed by the resolver script to another communication topic in the IoT Platform.'."\n" .'- **AMQP**: Forward the topic data processed by the resolver script to an AMQP consumer group.'."\n" .'- **DATAHUB**: Forward the topic data processed by the resolver script to Alibaba Cloud DataHub for stream data processing.'."\n" .'- **ONS**: Forward the topic data processed by the resolver script to Alibaba Cloud Message Queue for Apache RocketMQ for message distribution.'."\n" .'- **MNS**: Send the topic data processed by the resolver script to Alibaba Cloud Message Service for message transmission.'."\n" .'- **FC**: Send the topic data processed by the resolver script to Alibaba Cloud Function Compute for event-driven computing.'."\n" .'- **OTS**: Send the topic data processed by the resolver script to Alibaba Cloud Tablestore for NoSQL data storage.'."\n", 'type' => 'string', 'required' => true, 'example' => 'REPUBLISH', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'Name of the data destination.', 'type' => 'string', 'required' => true, 'example' => 'DataPurpose', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'Description of the data destination.', 'type' => 'string', 'required' => false, 'example' => '数据流转至数据库。', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.'."\n", 'type' => 'string', 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" ."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: The invocation failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Destination' => [ 'description' => 'The data destination information returned after successful creation.'."\n", 'type' => 'object', 'properties' => [ 'Type' => ['description' => 'The operation type of the data destination.'."\n", 'type' => 'string', 'example' => 'REPUBLISH', 'title' => ''], 'DestinationId' => ['description' => 'The ID of the data destination.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1003', 'title' => ''], 'Configuration' => ['description' => 'The configuration information corresponding to the data destination.'."\n", 'type' => 'string', 'example' => '{"topic":"/a1POX0c****/device1/user/get","topicType":1}', 'title' => ''], 'Name' => ['description' => 'The name of the data destination.'."\n", 'type' => 'string', 'example' => 'DataPurpose', 'title' => ''], 'UtcCreated' => ['description' => 'The UTC time when the data destination was created. The format is `yyyy-MM-dd\'T\'HH:mm:ss.SSS\'Z\'`.'."\n", 'type' => 'string', 'example' => '2022-03-27T12:45:43.000Z', 'title' => ''], 'IsFailover' => ['description' => 'Indicates whether this data destination configuration is used to forward faulted operation data—specifically, data that failed to be forwarded to other cloud products and also failed after retries.'."\n" ."\n" .'- **true**: It forwards faulted operation data. '."\n" .'- **false**: It does not forward faulted operation data; instead, it performs normal forwarding operations.'."\n" ."\n" .'The default value is **false**.'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ['errorCode' => 'iot.system.IllegalRequest', 'errorMessage' => 'The request parameter is invalid.', 'description' => 'The request parameter is invalid.'], ['errorCode' => 'iot.ruleng.NullRuleActionConfig', 'errorMessage' => 'The rule action configuration is empty.', 'description' => 'The rule action configuration is empty.'], ['errorCode' => 'iot.ruleng.NullRuleActionType', 'errorMessage' => 'The specified rule action is invalid or the rule action type is unspecified.', 'description' => 'The specified rule action is invalid or the rule action type is unspecified.'], ['errorCode' => 'iot.ruleng.InvalidRamRole', 'errorMessage' => 'The RAM role is invalid', 'description' => 'The RAM role is invalid'], ['errorCode' => 'iot.rule.DestinationCountExceed', 'errorMessage' => 'The count of destination exceeds the maximum number', 'description' => 'The count of destination exceeds the maximum number'], ['errorCode' => 'iot.rule.DestinationNameExisted', 'errorMessage' => 'The destination name is existed', 'description' => 'The destination name is existed'], ['errorCode' => 'iot.rule.InvalidDestinationName', 'errorMessage' => 'The destination name is invalid', 'description' => 'The destination name is invalid'], ['errorCode' => 'iot.ruleng.RegionNotSupportRuleForwardCloudProduct', 'errorMessage' => 'The specified region does not support creating rules to publish messages to the specified cloud product', 'description' => 'The specified region does not support creating rules to publish messages to the specified cloud product'], ['errorCode' => 'iot.ruleng.IncorrectRegionName', 'errorMessage' => 'The regionName value is incorrect', 'description' => 'The regionName value is incorrect'], ['errorCode' => 'iot.consumer.group.InvalidConsumerGroupId', 'errorMessage' => 'Illegal consumer group ID', 'description' => 'Illegal consumer group ID'], ['errorCode' => 'iot.ruleng.NullProjectOfDatahub', 'errorMessage' => 'The project in DataHub is empty', 'description' => 'The project in DataHub is empty'], ['errorCode' => 'iot.ruleng.NotFoundTopicInDataHubProject', 'errorMessage' => 'This specified topic does not exist in the project in DataHub', 'description' => 'This specified topic does not exist in the project in DataHub'], ['errorCode' => 'iot.ruleng.NotFoundVpcInstance', 'errorMessage' => 'The specified VPC instance does not exist.', 'description' => 'The specified VPC instance does not exist.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true,\\n \\"Destination\\": {\\n \\"Type\\": \\"REPUBLISH\\",\\n \\"DestinationId\\": 1003,\\n \\"Configuration\\": \\"{\\\\\\"topic\\\\\\":\\\\\\"/a1POX0c****/device1/user/get\\\\\\",\\\\\\"topicType\\\\\\":1}\\",\\n \\"Name\\": \\"DataPurpose\\",\\n \\"UtcCreated\\": \\"2022-03-27T12:45:43.000Z\\",\\n \\"IsFailover\\": false\\n }\\n}","type":"json"}]', 'title' => 'Create a Resolver Stream Data Destination', 'summary' => 'Create a Resolver stream to transfer Data.', 'description' => '## Queries per second (QPS) limit'."\n" ."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account invoking this API is 10. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => '**REPUBLISH-type Configuration definition** '."\n" .'| Name | Description | '."\n" .'|------|------| '."\n" .'| productKey | The ProductKey of the product to which the target topic belongs. | '."\n" ."\n" .'Sample **Configuration** of the REPUBLISH type: '."\n" .'``` '."\n" .'{ '."\n" .' "productKey":"hf****3xn" '."\n" .'} '."\n" .'``` '."\n" ."\n" .'**AMQP-type Configuration definition** '."\n" ."\n" .'| Name | Description | '."\n" .'|-------------|------------| '."\n" .'| groupId | The consumer group ID. | '."\n" ."\n" .'Sample **Configuration** of the AMQP type: '."\n" ."\n" .'``` '."\n" .'{ '."\n" .' "groupId":"ZTh1JmuZcUfv44p4z00****" '."\n" .'} '."\n" .'``` '."\n" ."\n" .'**OTS-type Configuration definition** '."\n" .'| Name | Description | '."\n" .'|-------------|------------| '."\n" .'| instanceName | The name of the Tablestore instance that receives messages. | '."\n" .'| regionName | The Alibaba Cloud Region code where the target instance resides, for example, cn-shanghai. | '."\n" .'| tableName | The name of the Data Table in Tablestore that receives messages. | '."\n" .'| role | Authorization role information. By granting the IoT Platform a specified system service role, you authorize the IoT Platform to access your Tablestore instance. Role information format:
`{"roleName":"AliyunIOTAccessingOTSRole","roleArn":"acs:ram::${uid}:role/aliyuniotaccessingotsrole"}`
`${uid}` is your Alibaba Cloud account ID. You can log on to the console and view your Account ID on the Security Settings page.
`AliyunIOTAccessingOTSRole` is a server role defined in Resource Access Management (RAM). It grants the IoT Platform permission to access Tablestore. For more information about roles, go to the Role Management page in the RAM console. | '."\n" ."\n" .'Sample **Configuration** of the OTS type: '."\n" ."\n" .'``` '."\n" .'{ '."\n" .' "instanceName":"${instanceName}", '."\n" .' "regionName":"cn-shanghai", '."\n" .' "tableName":"test_table", '."\n" .' "role":{ '."\n" .' "roleName":"AliyunIOTAccessingOTSRole", '."\n" .' "roleArn":"acs:ram::${uid}:role/aliyuniotaccessingotsrole" '."\n" .' } '."\n" .'} '."\n" .'``` '."\n" ."\n" .'**DATAHUB-type Configuration definition** '."\n" ."\n" .'| Name | Description | '."\n" .'|-------------|------------ | '."\n" .'| projectName | The specific project in the target DataHub instance that receives messages. | '."\n" .'| topicName | The specific topic in the target DataHub instance that receives messages. | '."\n" .'| regionName | The Alibaba Cloud Region code where the target DataHub instance resides, for example, cn-shanghai. | '."\n" .'| role | Authorization role information. By granting IoT Platform a specified system service role, you authorize the IoT Platform to access your DataHub instance. Role information format:
`{"roleArn":"acs:ram::${uid}:role/aliyuniotaccessingdatahubrole","roleName": "AliyunIOTAccessingDataHubRole"}`
`${uid}` is your Alibaba Cloud account ID. You can log on to the console and view your Account ID on the Security Settings page.
`AliyunIOTAccessingDataHubRole` is a server role defined in Resource Access Management (RAM). It grants the IoT Platform permission to access DataHub. For more information about roles, go to the Role Management page in the RAM console. | '."\n" ."\n" .'Sample **Configuration** of the DATAHUB type: '."\n" ."\n" .'``` '."\n" .'{ '."\n" .' "role":{ '."\n" .' "roleArn": "acs:ram::${uid}:role/aliyuniotaccessingdatahubrole", '."\n" .' "roleName": "AliyunIOTAccessingDataHubRole" '."\n" .' }, '."\n" .' "ProjectName": "test_project_name", '."\n" .' "RegionName": "cn-shanghai", '."\n" .' "TopicName": "test_topic" '."\n" .'} '."\n" .'``` '."\n" ."\n" .'**MNS-type Configuration definition** '."\n" .'| Name | Description | '."\n" .'|-------------|------------| '."\n" .'| themeName | The name of the target subject in Message Service that receives messages. | '."\n" .'| regionName | The Alibaba Cloud Region code where the target Message Service instance resides, for example, cn-shanghai. | '."\n" .'| role | Authorization role information. By granting the IoT Platform a specified system service role, you authorize the IoT Platform to access your Message Service instance. Role information format:
`{"roleArn":"acs:ram::${uid}:role/aliyuniotaccessingmnsrole","roleName": "AliyunIOTAccessingMNSRole"}`
`${uid}` is your Alibaba Cloud account ID. You can log on to the console and view your Account ID on the Security Settings page.
`AliyunIOTAccessingMNSRole` is a server role defined in Resource Access Management (RAM). It grants the IoT Platform permission to access Message Service. For more information about roles, go to the Role Management page in the RAM console. | '."\n" ."\n" .'Sample **Configuration** of the MNS type: '."\n" ."\n" .'``` '."\n" .'{ '."\n" .' "themeName": "test_name", '."\n" .' "role":{ '."\n" .' "roleArn": "acs:ram::${uid}:role/aliyuniotaccessingmnsrole", '."\n" .' "roleName": "AliyunIOTAccessingMNSRole" '."\n" .' }, '."\n" .' "regionName": "cn-shanghai" '."\n" .'} '."\n" .'``` '."\n" ."\n" .'**ONS-type Configuration definition** '."\n" ."\n" .'> You must call the SDK of Message Queue for Apache RocketMQ or use the Message Queue for Apache RocketMQ console to authorize the IoT Platform to access Message Queue for Apache RocketMQ (at least granting publish permission) before you can successfully create a rule action that forwards topic data to Message Queue for Apache RocketMQ. '."\n" ."\n" .'| Name | Description | '."\n" .'|-------------|------------| '."\n" .'| instanceId | The instance ID of the target topic in RocketMQ that receives messages. | '."\n" .'| topic | The target topic in RocketMQ that receives messages. | '."\n" .'| regionName | The Alibaba Cloud Region code where the target RocketMQ instance resides, for example, cn-shanghai.
Data forwarding is currently supported only within the same Region. | '."\n" .'| role | Authorization role information. By granting the IoT Platform a specified system service role, you authorize the IoT Platform to access your Message Queue for Apache RocketMQ service. Role information format:
`{"roleArn":"acs:ram::${uid}:role/aliyuniotaccessingmqrole","roleName": "AliyunIOTAccessingMQRole"}`
`${uid}` is your Alibaba Cloud account ID. You can log on to the console and view your Account ID on the Security Settings page.
`AliyunIOTAccessingMQRole` is a server role defined in Resource Access Management (RAM). It grants the IoT Platform permission to access Message Queue for Apache RocketMQ. For more information about roles, go to the Role Management page in the RAM console. | '."\n" ."\n" .'Sample **Configuration** of the ONS type: '."\n" ."\n" .'``` '."\n" .'{ '."\n" .' "instanceId": "${MQ_INST_ID}", '."\n" .' "role": '."\n" .' { '."\n" .' "roleArn": "acs:ram::${uid}:role/aliyuniotaccessingmqrole", '."\n" .' "roleName": "AliyunIOTAccessingMQRole" '."\n" .' }, '."\n" .' "regionName": "cn-shanghai", '."\n" .' "topic": "test_topic" '."\n" .'} '."\n" .'``` '."\n" ."\n" .'**FC-type Configuration definition** '."\n" ."\n" .'| Name | Description | '."\n" .'|-------------|------------| '."\n" .'| functionName | The name of the target function in Function Compute that receives messages. | '."\n" .'| serviceName | The name of the target service in Function Compute that receives messages. | '."\n" .'| regionName | The Alibaba Cloud Region code where the target Function Compute instance resides, such as cn-shanghai. | '."\n" .'| role | Authorization role information. By granting the IoT Platform a specified system service role, you authorize the IoT Platform to access your Function Compute service. Role information format:
`{"roleArn":"acs:ram::${uid}:role/aliyuniotaccessingfcrole","roleName": "AliyunIOTAccessingFCRole"}`
`${uid}` is your Alibaba Cloud account ID. You can log on to the console and view your Account ID on the Security Settings page.
`AliyunIOTAccessingFCRole` is a server role defined in Resource Access Management (RAM). It grants the IoT Platform permission to access Function Compute. For more information about roles, go to the Role Management page in the RAM console. | '."\n" ."\n" .'Sample **Configuration** of the FC type: '."\n" ."\n" .'``` '."\n" .'{ '."\n" .' "role": '."\n" .' { '."\n" .' "roleArn": "acs:ram::${uid}:role/aliyuniotaccessingfcrole", '."\n" .' "roleName": "AliyunIOTAccessingFCRole" '."\n" .' }, '."\n" .' "functionName": "${function_name}", '."\n" .' "serviceName": "${service_name}", '."\n" .' "regionName": "cn-shanghai" '."\n" .'} '."\n" .'``` '."\n" ."\n" .'When calling this API, in addition to the specific Request Parameters described in this topic, you must also pass common parameters. For more information about Common Request Parameters, see [Common Parameters documentation](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateDestination', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateDestination'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'CreateDeviceDistributeJob' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'DeviceName', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'The names of the devices to be distributed. You can specify a maximum of 10,000 device names.', 'type' => 'array', 'items' => ['type' => 'string', 'required' => false, 'example' => 'RepeatList', 'description' => '', 'title' => ''], 'required' => true, 'example' => 'RepeatList', 'maxItems' => 10000, 'title' => '', ], ], [ 'name' => 'TargetInstanceConfig', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'List of target instance configurations.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'TargetInstanceId' => ['description' => 'The configurations of the destination instance to which the device is distributed. For more information about instance IDs, see the description of the **SourceInstanceId** parameter.'."\n" ."\n" .'* If the value of the **Strategy** parameter is **1**, you can specify multiple instance IDs.'."\n" .'* If the value of the **Strategy** parameter is **0**, you can specify only one instance ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'iot-cn-6ja***', 'title' => ''], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => true, 'maxItems' => 10, 'title' => '', 'example' => '', ], ], [ 'name' => 'SourceInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the source instance to which the device belongs.'."\n" ."\n" .'* The IDs of public instances in different regions:'."\n" ."\n" .' * China (Shanghai): iotx-oxssharez200.'."\n" .' * Japan (Tokyo): iotx-oxssharez300.'."\n" .' * Singapore (Singapore): iotx-oxssharez400.'."\n" .' * US (Silicon Valley): iotx-oxssharez500.'."\n" .' * US (Virginia): iotx-oxssharez600.'."\n" .' * Germany (Frankfurt): iotx-oxssharez700.'."\n" ."\n" .'* The IDs of Enterprise Edition instances:'."\n" ."\n" .' 1\\. Log on to the IoT Platform console. Select a region from the drop-down list in the upper-left corner of the top navigation bar.'."\n" ."\n" .' 2\\. On the **Overview** page, click the instance name. On the **Instance Details** page, view the instance ID in the **Basic Information** section.'."\n", 'type' => 'string', 'required' => true, 'example' => 'iot-060***', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'formData', 'schema' => ['description' => 'The **ProductKey** of the product to which the device belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'TargetUid', 'in' => 'formData', 'schema' => ['description' => 'The ID of the Alibaba Cloud account to which the device belongs. You can log on to the IoT Platform console, click the profile picture, and then view the account ID on the **Security Settings** page.'."\n" ."\n" .'The **TargetUid** and **TargetAliyunId** parameters cannot be left empty at the same time.'."\n", 'type' => 'string', 'required' => false, 'example' => '198***', 'title' => ''], ], [ 'name' => 'TargetAliyunId', 'in' => 'formData', 'schema' => ['description' => 'The Alibaba Cloud account to which the device belongs. You can log on to the IoT Platform console, click the profile picture, and then view the account ID on the **Security Settings** page.'."\n" ."\n" .'The **TargetUid** and **TargetAliyunId** parameters cannot be left empty at the same time.'."\n", 'type' => 'string', 'required' => false, 'example' => ' io****@example.com', 'title' => ''], ], [ 'name' => 'Strategy', 'in' => 'formData', 'schema' => ['description' => 'The distribution policy. Default value: 0.'."\n" ."\n" .'* **0**: distributes devices to instances in a specified region.'."\n" .'* **1**: configures instance IDs in multiple regions and distributes devices to the nearest regions based on the IP addresses of the devices.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '0', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'JobId' => ['description' => 'The task ID returned if the call is successful. The ID globally identifies the task.'."\n", 'type' => 'string', 'example' => 'UbmsMHmkqv0PiAG****010001', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"JobId\\": \\"UbmsMHmkqv0PiAG****010001\\"\\n}","type":"json"}]', 'title' => 'CreateDeviceDistributeJob', 'summary' => 'Invoke this API to create a device distribution job. By default, the product to which the devices belong is also distributed.', 'description' => '## How-To'."\n" ."\n" .'Follow these steps to complete device distribution.'."\n" ."\n" .'1. Invoke this API to initiate an asynchronous device distribution job and obtain the **JobId** from the response.'."\n" ."\n" .'2. Use the **JobId** obtained in the previous step as a request parameter and repeatedly invoke the [QueryDeviceDistributeJob](~~199536~~) API to check the **Status** in the response.'."\n" ."\n" .' > You must control the frequency of repeated API calls according to the queries per second (QPS) limit of the API.'."\n" ."\n" .' The following **Status** values indicate that the distribution job has reached its desired state:'."\n" .' - **2**: The device distribution job completed successfully. However, this does not guarantee that all devices were distributed successfully. To obtain the specific result for each device, proceed to the next step.'."\n" .' - **3**: The distribution job was abnormally interrupted. After handling the abnormal flow, you can re-initiate the device distribution job.'."\n" ."\n" .'3. Use the **JobId** from step 1 as a request parameter and invoke the [QueryDeviceDistributeDetail](~~199533~~) API to retrieve the **File** parameter, which contains the URL to the distribution result file.'."\n" ."\n" .' > The URL to the file is valid for 10 minutes.'."\n" ."\n" .'4. Access the distribution result details via the file URL. Each device has a corresponding **Code** indicating its distribution result. If **Code** is 200, the device was distributed successfully.'."\n" ."\n" .' If a device fails to be distributed, you can repeat the above steps to redistribute it.'."\n" ."\n" .'## Limitations'."\n" ."\n" .'- The **Endpoint** for accessing Alibaba Cloud services supports only China (Shanghai), i.e., `iot.cn-shanghai.aliyuncs.com`.'."\n" ."\n" .'- This API does not support creating cross-account distribution jobs.'."\n" ."\n" .'- A single Alibaba Cloud account can have no more than 10 combined product and device distribution jobs. For information about creating a product distribution job, see [CreateProductDistributeJob](~~199383~~).'."\n" ."\n" .'- The maximum queries per second (QPS) for invoking this API under a single Alibaba Cloud account is 2.'."\n" ."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateDeviceDistributeJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateDeviceDistributeJob'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'CreateDeviceDynamicGroup' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID.'."\n" ."\n" .'You can view the current instance ID on the **Instance Overview** page in the IoT Platform console.', 'type' => 'string', 'required' => true, 'example' => 'iot-***', 'title' => ''], ], [ 'name' => 'GroupDesc', 'in' => 'query', 'schema' => ['description' => 'Group description. The length must not exceed 100 characters, with each Chinese character counting as one character.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'GroupName', 'in' => 'query', 'schema' => ['description' => 'Group Name. The name must be 4 to 30 characters in length and can contain Chinese characters, English letters, digits, and underscores (_). Each Chinese character counts as two characters.', 'type' => 'string', 'required' => true, 'example' => 'grouptest', 'title' => ''], ], [ 'name' => 'DynamicGroupExpression', 'in' => 'query', 'schema' => ['description' => 'Dynamic group rule used to query and dynamically match devices to the group. For information about how to write rule expressions, see [SQL-like Syntax Description](~~185713~~).', 'type' => 'string', 'required' => true, 'example' => 'product_key = "a1***" and name LIKE "test%"', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => '4D6D7F71-1C94-4160-8511-EFF4B8F0634D', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" ."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The group information returned when the invocation succeeds.', 'type' => 'object', 'properties' => [ 'DynamicGroupExpression' => ['description' => 'Dynamic group rule.', 'type' => 'string', 'example' => 'product_key = "a1***" and name LIKE "test%"', 'title' => ''], 'GroupName' => ['description' => 'Group Name.', 'type' => 'string', 'example' => 'grouptest', 'title' => ''], 'GroupId' => ['description' => 'Group ID, which is a globally unique identifier generated by the system for the group.', 'type' => 'string', 'example' => 'HtMLECKbdJQL***', 'title' => ''], 'GroupDesc' => ['description' => 'Group Description.', 'type' => 'string', 'example' => 'test', 'title' => ''], 'UtcCreate' => ['description' => 'Creation Time.', 'type' => 'string', 'example' => '2021-10-17T11:19:31.000Z', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.group.DynamicGroupMatchedDeviceCountExceedMax', 'errorMessage' => 'The maximum number of device matched by dynamic group condition is exceeded.', 'description' => 'The maximum number of device matched by dynamic group condition is exceeded.'], ['errorCode' => 'iot.group.GroupCountExceedMax', 'errorMessage' => 'The number of device groups exceeds the limit.', 'description' => 'The number of device groups exceeds the limit.'], ['errorCode' => 'iot.devicesearch.InvalidSQLError', 'errorMessage' => 'The SQL statement is invalid.', 'description' => 'The SQL statement is invalid.'], ['errorCode' => 'iot.devicesearch.InvalidSQLOffsetError', 'errorMessage' => 'The SQL offset is invalid.', 'description' => 'The SQL offset is invalid.'], ['errorCode' => 'iot.devicesearch.InvalidSQLFieldError', 'errorMessage' => 'The SQL statement contains invalid field names.', 'description' => 'The SQL statement contains invalid field names.'], ['errorCode' => 'iot.devicesearch.InvalidSQLConditionError', 'errorMessage' => 'The SQL statement contains too many conditions.', 'description' => 'The SQL statement contains too many conditions.'], ['errorCode' => 'iot.devicesearch.InvalidSQLOrderError', 'errorMessage' => 'The SQL statement contains invalid ORDER BY conditions.', 'description' => 'The SQL statement contains invalid ORDER BY conditions.'], ['errorCode' => 'iot.devicesearch.InvalidSQLOperatorTypeError', 'errorMessage' => 'The operator and data type in the SQL statement do not match.', 'description' => 'The operator and data type in the SQL statement do not match.'], ['errorCode' => 'iot.devicesearch.InvalidSQLParamError', 'errorMessage' => 'The SQL syntax is unsupported.', 'description' => 'The SQL syntax is not supported.'], ['errorCode' => 'iot.devicesearch.InvalidSQLIdentfierError', 'errorMessage' => 'The TSL identifier is not configured.', 'description' => 'The TSL identifier is not configured.'], ['errorCode' => 'iot.group.InvalidGroupName', 'errorMessage' => 'The specified device group name is invalid.', 'description' => 'The specified device group name is invalid.'], ['errorCode' => 'iot.group.LongGroupDescError', 'errorMessage' => 'The group description exceeds the length limit.', 'description' => 'The group description exceeds the length limit.'], ['errorCode' => 'iot.group.SuperGroupUnsupport', 'errorMessage' => 'The super groups do not support subGroups.', 'description' => 'The super groups do not support sub groups.'], ['errorCode' => 'iot.common.APINotSupportedInInstance', 'errorMessage' => 'This API operation is not supported in this instance.', 'description' => 'The API operation is not supported in this instance.'], ['errorCode' => 'iot.group.GroupNameExisted', 'errorMessage' => 'The specified device group name already exists.', 'description' => 'The specified device group name already exists.'], ['errorCode' => 'iot.group.CreateGroupFailed', 'errorMessage' => 'An error occurred while creating a device group.', 'description' => 'An error occurred while creating the device group.'], ['errorCode' => 'iot.device.RegionNotSupportDynamicGroup', 'errorMessage' => 'The region does not currently support the dynamic group feature.', 'description' => 'The region does not currently support the dynamic group feature.'], ['errorCode' => 'MissingDynamicGroupExpression', 'errorMessage' => 'DynamicGroupExpression is mandatory for this action.', 'description' => 'You must specify DynamicGroupExpression.'], ['errorCode' => 'iot.databus.SearchIndexConfigNotFound', 'errorMessage' => 'The search index config is not found.', 'description' => 'The search index config is not found.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"4D6D7F71-1C94-4160-8511-EFF4B8F0634D\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"DynamicGroupExpression\\": \\"product_key = \\\\\\"a1***\\\\\\" and name LIKE \\\\\\"test%\\\\\\"\\",\\n \\"GroupName\\": \\"grouptest\\",\\n \\"GroupId\\": \\"HtMLECKbdJQL***\\",\\n \\"GroupDesc\\": \\"test\\",\\n \\"UtcCreate\\": \\"2021-10-17T11:19:31.000Z\\"\\n }\\n}","type":"json"}]', 'title' => 'Create Dynamic Group', 'summary' => 'Create a dynamic group and add devices that meet the dynamic group conditions to the group.', 'description' => '## Limits'."\n" ."\n" .'- You can create dynamic groups only for Enterprise instances and new public instances in the China (Shanghai) region. For more information about instances, see [Instance Management](~~147356~~).'."\n" ."\n" .'- You can create up to 10 dynamic groups under a single Alibaba Cloud account.'."\n" ."\n" .'- The maximum queries per second (QPS) for calling this API under a single Alibaba Assistant Cloud account is 1.'."\n" ."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters documentation](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateDeviceDynamicGroup', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '1', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateDeviceDynamicGroup'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'CreateDeviceGroup' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'SuperGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the parent group.'."\n" ."\n" .'If you need to create a first-level group, do not specify this parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'SuperGroupId1', 'title' => ''], ], [ 'name' => 'GroupDesc', 'in' => 'query', 'schema' => ['description' => 'The description of the group. The description must be 1 to 100 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Group test', 'title' => ''], ], [ 'name' => 'GroupName', 'in' => 'query', 'schema' => ['description' => 'The name of the group. The alias must be 4 to 30 characters in length, and can contain letters, digits, and underscores (\\_).'."\n", 'type' => 'string', 'required' => true, 'example' => 'grouptest', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '4D6D7F71-1C94-4160-8511-EFF4B8F0634D', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The group information returned if the call succeeds.'."\n", 'type' => 'object', 'properties' => [ 'GroupId' => ['description' => 'The ID of the group. The ID is the globally unique identifier (GUID) that the system generates for the group.'."\n", 'type' => 'string', 'example' => 'HtMLECKbdJQL****', 'title' => ''], 'GroupName' => ['description' => 'The name of the group.'."\n", 'type' => 'string', 'example' => 'grouptest', 'title' => ''], 'GroupDesc' => ['description' => 'The description of each group.'."\n", 'type' => 'string', 'example' => 'Group test', 'title' => ''], 'UtcCreate' => ['description' => 'The time when the group was created.'."\n", 'type' => 'string', 'example' => '2018-10-17T11:19:31.000Z', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"4D6D7F71-1C94-4160-8511-EFF4B8F0634D\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"GroupId\\": \\"HtMLECKbdJQL****\\",\\n \\"GroupName\\": \\"grouptest\\",\\n \\"GroupDesc\\": \\"Group test\\",\\n \\"UtcCreate\\": \\"2018-10-17T11:19:31.000Z\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n \\r\\n Group test\\r\\n grouptest\\r\\n 2018-10-17T11:19:31.000Z\\r\\n HtMLECKbdJQL****\\r\\n \\r\\n 4D6D7F71-1C94-4160-8511-EFF4B8F0634D\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'CreateDeviceGroup', 'summary' => 'Creates a group.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 500 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateDeviceGroup', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'CreateDeviceTunnel' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The Device ID of the specified device.'."\n" ."\n" .'>If you specify this parameter, you do not need to specify **ProductKey** and **DeviceName**. **IotId** is the unique identifier of the device and has a one-to-one mapping with the combination of **ProductKey** and **DeviceName**. If you specify both **IotId** and the **ProductKey** and **DeviceName** combination, **IotId** takes precedence.'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv***00100', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the secure tunnel. The description can be up to 1,024 characters in length.', 'type' => 'string', 'required' => false, 'example' => '用于远程登录到摄像头。', 'title' => ''], ], [ 'name' => 'Udi', 'in' => 'query', 'schema' => ['description' => 'Custom information pushed to the device. The data format is customizable and can contain up to 4096 characters.'."\n" ."\n" .'This information is sent to the device when notifying it of the creation of a secure tunnel.'."\n" ."\n", 'type' => 'string', 'required' => false, 'example' => 'reboot', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the device belongs.'."\n" ."\n" .'>If you pass this parameter, you must also pass **DeviceName**.'."\n" .'> ', 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV***', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The device name of the specified device. '."\n" .'>If you pass this parameter, you must also pass **ProductKey**.'."\n" .'> ', 'type' => 'string', 'required' => false, 'example' => 'light', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID value exists, you must pass this ID value; otherwise, the invocation will fail.'."\n" .'- If there is no **Instance Overview** page or ID value, you do not need to pass it.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~). ', 'type' => 'string', 'required' => false, 'example' => 'iot-***-v64***', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [error code](~~87387~~).', 'type' => 'string', 'example' => ' iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" ."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The basic information about the secure tunnel returned when the invocation succeeds.', 'type' => 'object', 'properties' => [ 'TunnelId' => ['description' => 'The ID of the secure tunnel.', 'type' => 'string', 'example' => 'd4098041-***', 'title' => ''], 'SourceURI' => ['description' => 'The URL for establishing a WebSocket connection to access the corresponding device through the secure tunnel.', 'type' => 'string', 'example' => 'wss://secure-tunnel-ws.iot.aliyun.test/tunnel/1834248a-37b7-4fd2-***/source', 'title' => ''], 'SourceAccessToken' => ['description' => 'The authentication token for accessing the corresponding device through the secure tunnel. This token is used during the WebSocket connection authentication phase. For more information, see [Secure Tunnel Flow](~~312333~~).', 'type' => 'string', 'example' => '521c43e4-a6da-***', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.securetunnel.ParamInvalid', 'errorMessage' => 'The parameter is invalid.', 'description' => ''], ['errorCode' => 'iot.securetunnel.DescriptionTooLong', 'errorMessage' => 'The description of the device tunnel has exceeded the maximum length.', 'description' => 'The description of the device tunnel has exceeded the maximum length.'], ['errorCode' => 'iot.securetunnel.UdiTooLong', 'errorMessage' => 'The Udi of the device tunnel has exceeded the maximum length.', 'description' => 'The UDI of the device tunnel has exceeded the maximum length.'], ['errorCode' => 'iot.securetunnel.TunnelAmountExceedByDevice', 'errorMessage' => 'The tunnel amount of the device has exceeded the limit.', 'description' => 'The tunnel amount of the device has exceeded the limit.'], ['errorCode' => 'iot.securetunnel.TunnelAmountExceedByInstance', 'errorMessage' => 'The tunnel amount for the instance has exceeded the limit.', 'description' => 'The tunnel amount for the instance has exceeded the limit.'], ['errorCode' => 'iot.securetunnel.DeviceNotExist', 'errorMessage' => 'The device does not exist.', 'description' => 'The device does not exist.'], ['errorCode' => 'iot.securetunnel.DeviceNotOnline', 'errorMessage' => 'The device must be online.', 'description' => 'The device must be in the online status.'], ['errorCode' => 'iot.securetunnel.DeviceNotSpecified', 'errorMessage' => 'The device is not specified.', 'description' => 'The device is not specified.'], ['errorCode' => 'iot.securetunnel.InstanceIdMismatch', 'errorMessage' => 'The instanceId does not match the parameter.', 'description' => 'The instance ID does not match the parameter.'], ['errorCode' => 'iot.securetunnel.TunnelQuotaExhausted', 'errorMessage' => 'The quota for secure tunnel has been exhausted.', 'description' => 'The quota for secure tunnel has been exhausted.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\\\tiot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"TunnelId\\": \\"d4098041-***\\",\\n \\"SourceURI\\": \\"wss://secure-tunnel-ws.iot.aliyun.test/tunnel/1834248a-37b7-4fd2-***/source\\",\\n \\"SourceAccessToken\\": \\"521c43e4-a6da-***\\"\\n }\\n}","type":"json"}]', 'title' => 'Create a Device Secure Tunnel', 'summary' => 'Create a secure tunnel for a specified device.', 'description' => '## How-To'."\n" ."\n" .'After you successfully invoke this API to create a secure tunnel, the status of the secure tunnel is **open** by default.'."\n" .'- 24 hours after creation, the secure tunnel status is automatically updated to **closed**.'."\n" .'- 30 days after creation, the secure tunnel is automatically deleted by the system.'."\n" ."\n" .'## Limits'."\n" ."\n" .'- A single device can have up to 10 secure tunnels.'."\n" .'- A single instance can contain up to 1,000 secure tunnels.'."\n" ."\n" .'## QPS Limit'."\n" ."\n" .'The maximum queries per second (QPS) for this API per Alibaba Cloud account is 5. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateDeviceTunnel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateDeviceTunnel'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'CreateDownloadDataJob' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID. You can view the current instance ID on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID value exists, you must provide it; otherwise, the invocation will fail.'."\n" .'- If there is no **Instance Overview** page or ID value, you do not need to provide it.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).'."\n", 'example' => 'iot-cn-npk1u******', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'TableName', 'in' => 'query', 'schema' => ['description' => 'The name of the table to download.'."\n", 'example' => 'product_info', 'required' => true, 'type' => 'string', 'title' => ''], ], [ 'name' => 'DownloadDataType', 'in' => 'query', 'schema' => ['description' => 'The type of object to download. Only **TABLE** is currently supported.'."\n", 'example' => 'TABLE', 'required' => true, 'type' => 'string', 'title' => ''], ], [ 'name' => 'FileConfig', 'in' => 'query', 'style' => 'json', 'schema' => ['description' => 'File settings for the download. You can specify a custom file name (fileName). If fileName is not provided, a default file name is generated.'."\n", 'example' => '{"fileName":"fileName01"}', 'required' => false, 'type' => 'object', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', 'schema' => ['description' => 'The start time of the time range for querying data.'."\n", 'example' => '1658332800000', 'format' => 'int64', 'required' => false, 'type' => 'integer', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', 'schema' => ['description' => 'The end time of the time range for querying data.'."\n", 'example' => '1658406464534', 'format' => 'int64', 'required' => false, 'type' => 'integer', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'Return Result ', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~). ', 'example' => '200', 'type' => 'string', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails. ', 'example' => 'no authorization.', 'type' => 'string', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request. This is a unique identifier generated by Alibaba Cloud for the request. ', 'example' => '4D6D7F71-1C94-4160-8511-EFF4B8F0643F', 'type' => 'string', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: Failed to invoke. '."\n", 'example' => 'true', 'type' => 'boolean', 'title' => ''], 'Data' => [ 'description' => 'The return result of the request. ', 'properties' => [ 'Status' => ['description' => 'The execution status of the download job. '."\n" .'- **-1**: Initializing. '."\n" .'- **0**: Running. '."\n" .'- **1**: Succeeded. '."\n" .'- **2**: Failed. '."\n" .'- **3**: Submitted and waiting. '."\n" .'- **4**: Canceled. ', 'example' => '-1', 'format' => 'int32', 'type' => 'integer', 'title' => ''], 'LongJobId' => ['description' => 'The ID of the download job. ', 'example' => '62d949808bc742187xxxxxx', 'type' => 'string', 'title' => ''], 'AsyncExecute' => ['description' => 'Indicates whether the query is asynchronous. '."\n" .'- **true**: The query is asynchronous. '."\n" .'- **false**: The query is not asynchronous; it is synchronous. ', 'example' => 'true', 'type' => 'boolean', 'title' => ''], 'CsvUrl' => ['description' => 'The download URL of the OSS file. ', 'example' => 'https://oss-xxxx-xxxx.xxxx......', 'type' => 'string', 'title' => ''], 'CsvFileName' => ['description' => 'The name of the downloaded file. ', 'example' => 'test_download_file', 'type' => 'string', 'title' => ''], ], 'type' => 'object', 'title' => '', 'example' => '', ], ], 'type' => 'object', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.dap.insight.noAuthorization', 'errorMessage' => 'no authorization.', 'description' => 'no authorization.'], ['errorCode' => 'iot.dap.insight.requestParamError', 'errorMessage' => 'request param error.', 'description' => 'request param error.'], ['errorCode' => 'iot.dap.insight.serverError', 'errorMessage' => 'server hsf error please try later', 'description' => 'server hsf error please try later'], ['errorCode' => 'iot.dap.insight.queryTimeMoreThanQueryDays', 'errorMessage' => 'The query time range exceeded the allowed time range', 'description' => 'The query time range exceeded the allowed time range'], ['errorCode' => 'iot.dap.insight.processDownloadJobMoreConcurrenceCount', 'errorMessage' => 'the number of concurrent download tasks in progress exceeds the upper limit', 'description' => 'the number of concurrent download tasks in progress exceeds the upper limit'], ['errorCode' => 'iot.dap.insight.downloadTimesUpperLimit', 'errorMessage' => 'the number of current job downloaded tasks exceeded the upper limit', 'description' => 'the number of current job downloaded tasks exceeded the upper limit'], ['errorCode' => 'iot.dap.insight.downloadTaskNumUpperLimit', 'errorMessage' => 'the number of downloaded tasks exceeded the upper limit', 'description' => 'the number of downloaded tasks exceeded the upper limit'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"ErrorMessage\\": \\"no authorization.\\",\\n \\"RequestId\\": \\"4D6D7F71-1C94-4160-8511-EFF4B8F0643F\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Status\\": -1,\\n \\"LongJobId\\": \\"62d949808bc742187xxxxxx\\",\\n \\"AsyncExecute\\": true,\\n \\"CsvUrl\\": \\"https://oss-xxxx-xxxx.xxxx......\\",\\n \\"CsvFileName\\": \\"test_download_file\\"\\n }\\n}","type":"json"}]', 'title' => 'CreateDownloadDataJob'."\n", 'summary' => 'Invoke the API to create a data download job. ', 'description' => '## How-To'."\n" ."\n" .'- This job is equivalent to a data download job created in the console. You can view the log of this download job and download the file on the export management page of the corresponding data table.'."\n" ."\n" .'- Creating a download job through this API triggers an [AMQP message push](~~143601~~). Use `dop_aliyun_group_name` as the `consumerGroupId`. The message content includes the execution status of this download job. You can use this status together with the [GetDownloadFile](~~445783~~) API to obtain the file download URL or view abnormal information about the download job.'."\n" ."\n" .'## Limits'."\n" ."\n" .'- Only one download job can be created at a time under the same data instance. You must wait until the previous job finishes before creating a new one. Otherwise, an exception indicating that the limit on the number of download jobs has been exceeded is returned.'."\n" ."\n" .'- The maximum time range for data in a single download is 3 days.'."\n" ."\n" .'- You can create up to 3 download jobs per day. Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. ', 'requestParamsDescription' => 'When invoking the API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters Documentation](~~30561~~). ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateDownloadDataJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateDownloadDataJob'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'CreateEdgeDriver' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for public instances. However, this parameter is required for the instances that you have purchased.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'DriverName', 'in' => 'query', 'schema' => ['description' => 'The name of the driver to create. The name cannot exceed 20 characters in length and can contain only uppercase letters, lowercase letters, digits, and underscores (\\_). It must start with a letter.'."\n", 'type' => 'string', 'required' => true, 'example' => 'MyLedDriver', 'title' => ''], ], [ 'name' => 'DriverProtocol', 'in' => 'query', 'schema' => ['description' => 'The communications protocol that the driver uses. Valid values:'."\n" ."\n" .'* modbus: Modbus protocol'."\n" .'* opc-ua: OPC UA protocol'."\n" .'* customize: custom protocol'."\n", 'type' => 'string', 'required' => true, 'example' => 'customize', 'title' => ''], ], [ 'name' => 'Runtime', 'in' => 'query', 'schema' => ['description' => 'The language in which the driver is programmed. Valid values:'."\n" ."\n" .'* nodejs8: Node.js v8'."\n" .'* python3: Python v3.5'."\n" .'* c: C'."\n", 'type' => 'string', 'required' => true, 'example' => 'c', 'title' => ''], ], [ 'name' => 'CpuArch', 'in' => 'query', 'schema' => ['description' => 'The CPU architecture that the driver supports. Valid values:'."\n" ."\n" .'* ARMv7'."\n" .'* ARMv7-HF'."\n" .'* AArch64'."\n" .'* x86-64'."\n" .'* x86'."\n", 'type' => 'string', 'required' => false, 'example' => 'x86-64', 'title' => ''], ], [ 'name' => 'IsBuiltIn', 'in' => 'query', 'schema' => ['description' => 'Specifies whether the driver is a built-in driver.'."\n" ."\n" .'* true: indicates that the driver is a built-in driver, that is, the driver code is pre-configured on the gateway device.'."\n" ."\n" .'* false: indicates that the driver is not a built-in driver and you must upload the driver code. Default value: false.'."\n" ."\n" .'> If the driver is not a built-in driver, you must upload the driver code.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code. Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call failed.'."\n", 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'BB179FE4-94AB-41B0-AE8A-66DDB7B8B13A', 'title' => ''], 'DriverId' => ['description' => 'The ID of the driver created.'."\n", 'type' => 'string', 'example' => 'fec565038d7544978d9aed5c1a******', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. true indicates that the call was successful. false indicates that the call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"BB179FE4-94AB-41B0-AE8A-66DDB7B8B13A\\",\\n \\"DriverId\\": \\"fec565038d7544978d9aed5c1a******\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n fec565038d7544978d9aed5c1a******\\r\\n BB179FE4-94AB-41B0-AE8A-66DDB7B8B13A\\r\\n Success\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'CreateEdgeDriver', 'summary' => 'Creates a driver.', 'description' => '## Limits'."\n" ."\n" .'A single Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n" ."\n" .'> RAM users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'In addition to the preceding exclusive request parameters, you must specify common request parameters when calling this API operation. For more information about common request parameters, see [Common parameters](~~135196~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateEdgeDriver', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'CreateEdgeDriverVersion' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'DriverId', 'in' => 'query', 'schema' => ['description' => 'The ID of the driver. To obtain the driver ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Drivers** page, move the pointer over the name of the driver for which you want to create a driver version and obtain the driver ID.'."\n" ."\n" .'You can also call the [QueryEdgeDriver](~~155776~~) operation to query the driver ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'fec565038d7544978d9aed5c1a******', 'title' => ''], ], [ 'name' => 'DriverVersion', 'in' => 'query', 'schema' => ['description' => 'The version number of the driver. The version number must be unique for the driver. The version number can be up to 64 characters in length and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.).'."\n", 'type' => 'string', 'required' => true, 'example' => '1.2.0', 'title' => ''], ], [ 'name' => 'EdgeVersion', 'in' => 'query', 'schema' => ['description' => 'The earliest version of Link IoT Edge that is supported by the driver. The driver can run on gateways of only this version and later. For example, if you set this parameter to 2.4.0, the driver can run on gateways of only version 2.4.0 and later.'."\n", 'type' => 'string', 'required' => true, 'example' => '2.0.0', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the driver. The description can be a maximum of 256 bytes in length.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Led驱动', 'title' => ''], ], [ 'name' => 'SourceConfig', 'in' => 'query', 'schema' => ['description' => 'The source of the driver code. Set this parameter to a JSON string in the following format:'."\n" ."\n" .'`{"ossAddress":"http://***/driver_code.zip"}`'."\n" ."\n" .'In the JSON string, `ossAddress` specifies the URL of the driver code stored in Object Storage Service (OSS). If you want to upload the driver code and obtain the URL of the driver code stored in OSS by using API operations, call the [CreateOssPreSignedAddress](~~155858~~) operation first.'."\n", 'type' => 'string', 'required' => false, 'example' => '{"ossAddress":"http://nova-scene-daily.oss-cn-shanghai.aliyuncs.com/driver/a8d6e4acc6941ecea8f0cfb30c******/ck3n3koe200003h6zf******.zip"}', 'title' => ''], ], [ 'name' => 'DriverConfig', 'in' => 'query', 'schema' => ['description' => 'The configuration of the driver. Set this parameter to a JSON string in the following format:'."\n" ."\n" .'`{"format":"JSON","content":"{}"}`'."\n" ."\n" .'The JSON string contains the following parameters:'."\n" ."\n" .'* format: the format of the driver configuration. Valid values: KV (key-value pair), JSON (JSON string), and FILE (configuration file).'."\n" ."\n" .'* content: the content of the driver configuration. If you set the format parameter to KV or JSON, set this parameter to the configuration content of the driver. If you set the format parameter to FILE, set this parameter to the URL of the driver configuration file stored in OSS.'."\n" ."\n" .'> To obtain the URL of the driver configuration file stored in OSS, call the [CreateOssPreSignedAddress](~~155858~~) operation.', 'type' => 'string', 'required' => false, 'example' => '[{"format":"JSON","content":"{\\"defaultConfig\\":\\"this is default driver config demo\\"}"}]', 'title' => ''], ], [ 'name' => 'ContainerConfig', 'in' => 'query', 'schema' => ['description' => 'The configuration of the container where the driver runs. Set this parameter to a JSON string. For more information about parameters in the JSON string, see the following parameter description of **ContainerConfig**.'."\n", 'type' => 'string', 'required' => false, 'example' => '{"privileged":1,"devMappings":[],"volumeMappings":[],"hostNetworkMode":0,"portMappings":[]}', 'title' => ''], ], [ 'name' => 'ConfigCheckRule', 'in' => 'query', 'schema' => ['description' => 'The rule for verifying configurations. Set this parameter to a JSON string in the following format:'."\n" ."\n" .'`{"deviceConfig":{"required":false},"driverConfig":{"required":false}`'."\n" ."\n" .'The JSON string contains the following parameters:'."\n" ."\n" .'* driverConfig: the rule for verifying the configuration of the driver when the driver is to be deployed in an edge instance.'."\n" .'* deviceConfig: the rule for verifying the configurations of devices that use the driver when the driver is to be deployed in an edge instance.'."\n" ."\n" .'`required`: A value of true indicates that the corresponding parameter is required. A value of false indicates that the corresponding parameter is optional.'."\n", 'type' => 'string', 'required' => false, 'example' => '{"deviceConfig":{"required":false},"driverConfig":{"required":false}}', 'title' => ''], ], [ 'name' => 'Argument', 'in' => 'query', 'schema' => ['description' => 'The Java Virtual Machine (JVM) startup parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => '-XX:+PrintGCDetails', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message that is returned if the call failed.'."\n", 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '001ADA35-8846-4B6F-93E7-E5C076F8BB56', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"001ADA35-8846-4B6F-93E7-E5C076F8BB56\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 001ADA35-8846-4B6F-93E7-E5C076F8BB56\\r\\n Success\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'CreateEdgeDriverVersion', 'summary' => 'Creates a driver version.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](/help/en/link-iot-edge/latest/common-parameters). '."\n" ."\n" .'**Parameter description of ContainerConfig**| Parameter | Type | Required | Description |'."\n" .'| --------- | ---- | -------- | ----------- |'."\n" .'| privileged | Integer | No | Specifies whether to enable the privilege mode for the container. Valid values:'."\n" ."\n" .'0: disables the mode.'."\n" ."\n" .'1: enables the mode. |'."\n" .'| hostNetworkMode | Integer | No | Specifies whether to enable the host mode for the container. Valid values:'."\n" ."\n" .'0: disables the mode.'."\n" ."\n" .'1: enables the mode. |'."\n" .'| portMappings | List | No | The mapping of network ports. This parameter is not required if the hostNetworkMode parameter is set to 1. You can specify a maximum of 10 mapping records in this parameter. For more information about specific parameters, see the following parameter description of portMappings. |'."\n" .'| devMappings | List | No | The mapping of devices. This parameter is not required if the privileged parameter is set to 1. You can specify a maximum of 10 mapping records in this parameter. For more information about specific parameters, see the following parameter description of devMappings. |'."\n" .'| volumeMappings | List | No | The mapping of volumes. You can specify a maximum of 10 mapping records in this parameter. For more information about specific parameters, see the following parameter description of volumeMappings. |'."\n" .'**Parameter description of portMappings**| Parameter | Type | Required | Description |'."\n" .'| --------- | ---- | -------- | ----------- |'."\n" .'| hostPort | Integer | Yes | The port number of the host where the container resides. Valid values: 1 to 65535. |'."\n" .'| containerPort | Integer | Yes | The port number of the container. Valid values: 1 to 65535. |'."\n" .'| protocol | Integer | Yes | The type of the protocol that is used for communication between the mapping ports. Valid values: tcp and udp. |'."\n" .'**Parameter description of devMappings**| Parameter | Type | Required | Description |'."\n" .'| --------- | ---- | -------- | ----------- |'."\n" .'| hostPath | String | Yes | The name of the device that the driver needs to access. The name must be 1 to 128 characters in length and start with **/dev/**. |'."\n" .'| permission | String | Yes | The permissions that the driver has for the device. Valid values:'."\n" ."\n" .'ro: The driver has only the read permissions for the device.'."\n" ."\n" .'rw: The driver has both the read and write permissions for the device. |'."\n" .'| comment | String | No | The remarks for the mapping. The remarks must be 1 to 128 characters in length. |'."\n" .'**Parameter description of volumeMappings**| Parameter | Type | Required | Description |'."\n" .'| --------- | ---- | -------- | ----------- |'."\n" .'| hostPath | String | Yes | The host path of the volume that the driver needs to access. The path must be 1 to 128 characters in length and cannot contain spaces. |'."\n" .'| containerPath | String | Yes | The path for accessing the volume in the container. The path must be an absolute path that starts with a forward slash (/). The path must be 2 to 128 characters in length and cannot contain spaces. Do not set this parameter to the root directory. |'."\n" .'| permission | String | Yes | The permissions that the driver has for the volume. Valid values:'."\n" ."\n" .'ro: The driver has only the read permissions for the volume.'."\n" ."\n" .'rw: The driver has both the read and write permissions for the volume. |', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateEdgeDriverVersion', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'CreateEdgeInstance' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for public instances. However, this parameter is required for the instances that you have purchased.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the edge instance.'."\n" ."\n" .'An instance name cannot exceed 20 characters in length and can contain uppercase letters, lowercase letters, digits, underscores (\\_), and hyphens (-).'."\n", 'type' => 'string', 'required' => true, 'example' => 'LinkIoTEdge_Node', 'title' => ''], ], [ 'name' => 'Tags', 'in' => 'query', 'schema' => ['description' => 'The tags of the edge instance. Syntax of a tag: `key:value`. Multiple tags are separated with commas (,), for example, `k1:v1,k2:v2`.'."\n" ."\n" .'* Note the following limits on tag keys:'."\n" ."\n" .' * Tag values cannot be left empty.'."\n" .' * Tag keys must be unique in the edge instance.'."\n" .' * Tag keys only support letters.'."\n" .' * Each tag key cannot exceed 20 characters in length.'."\n" ."\n" .'* Note the following limits on tag values:'."\n" ."\n" .' * Tag values cannot be left empty.'."\n" .' * A tag value can contain uppercase letters, lowercase letters, digits, underscores (\\_), and hyphens (-).'."\n" .' * Each tag value cannot exceed 20 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => 'k1:v1,k2:v2', 'title' => ''], ], [ 'name' => 'Spec', 'in' => 'query', 'schema' => ['description' => 'The specification of the edge instance.'."\n" ."\n" .'* 10: Lite Edition.'."\n" .'* 20: Standard Edition.'."\n" .'* 30: Pro Edition.'."\n" ."\n" .'Default value: 20.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code. Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], 'InstanceId' => ['description' => 'The ID of the edge instance.'."\n", 'type' => 'string', 'example' => 'F3APY0tPLhmgGtx0****', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call failed.'."\n", 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '28D159F4-980F-423D-95F0-F705E9DFC016', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. true: indicates that the call was successful. false: indicates that the call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"InstanceId\\": \\"F3APY0tPLhmgGtx0****\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"28D159F4-980F-423D-95F0-F705E9DFC016\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 28D159F4-980F-423D-95F0-F705E9DFC016\\r\\n F3APY0tPLhmgGtx0****\\r\\n Success\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'CreateEdgeInstance', 'summary' => 'Creates an edge instance.', 'description' => '## Limits'."\n" ."\n" .'A single Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n" ."\n" .'> RAM users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'In addition to the preceding exclusive request parameters, you must specify common request parameters when calling this API operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateEdgeInstance', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'CreateEdgeInstanceChannel' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. Do not specify this parameter for public instances. Specify this parameter for Enterprise instances.', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the edge instance. You can obtain the ID by moving the mouse pointer over the target edge instance name on the **Edge Instances** page in the [Edge Computing console](https://iot.console.aliyun.com/le/instance/list).'."\n" ."\n" .'You can also call the [QueryEdgeInstance](~~135214~~) API to obtain the ID.', 'type' => 'string', 'required' => true, 'example' => '6GaTtvTj7vJhiS******', 'title' => ''], ], [ 'name' => 'DriverId', 'in' => 'query', 'schema' => ['description' => 'The driver ID. You can obtain the ID by moving the mouse pointer over the target driver name on the **Driver Management** page in the [Edge Computing console](https://iot.console.aliyun.com/le/instance/list).'."\n" ."\n" .'You can also call the [QueryEdgeDriver](~~155776~~) API to obtain the ID.', 'type' => 'string', 'required' => true, 'example' => '9c1ae7bd59f1469abbdccc9592******', 'title' => ''], ], [ 'name' => 'ChannelName', 'in' => 'query', 'schema' => ['description' => 'The name of the driver channel. The name can contain Chinese characters, English letters (both uppercase and lowercase), digits, and underscores (_). It must be 1 to 30 characters in length.', 'type' => 'string', 'required' => true, 'example' => 'le_name0', 'title' => ''], ], [ 'name' => 'Configs', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of configurations.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The keyword of the configuration. It is used to distinguish between multiple configurations.', 'type' => 'string', 'required' => false, 'example' => 'key1', 'title' => ''], 'Format' => ['description' => 'The configuration format. Valid values include KV (key-value pair configuration), JSON (JSON format), and FILE (configuration file).', 'type' => 'string', 'required' => true, 'example' => 'JSON', 'title' => ''], 'Content' => ['description' => 'Configuration content.'."\n" ."\n" .'- When the value of the **Configs.N.Format** parameter is KV or JSON, specify the configuration content here. For the configuration content format, see [Driver Channel Configuration Description](~~172321~~).'."\n" ."\n" .'- When the value of the **Configs.N.Format** parameter is FILE, specify an Alibaba Cloud Object Storage Service (OSS) address here. To obtain an OSS address, invoke the [CreateOssPreSignedAddress](~~155858~~) API.', 'type' => 'string', 'required' => true, 'example' => '{"protocol":"TCP", "ip":"1.2.3.4", "port":1}', 'title' => ''], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => true, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the API. A value of Success indicates success. Any other value indicates an error code. For more information, see [Error Codes](~~135200~~).', 'type' => 'string', 'example' => 'Success', 'title' => ''], 'Data' => ['description' => 'The ID of the driver channel returned when the invocation succeeds.', 'type' => 'string', 'example' => 'BE0BD49EF5EF4D119D09CC1B25******', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => 'B34673EA-ECE7-44F5-BF01-40B5FAE633B6', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. A value of true indicates success, and false indicates failure.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"Data\\": \\"BE0BD49EF5EF4D119D09CC1B25******\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"B34673EA-ECE7-44F5-BF01-40B5FAE633B6\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'CreateEdgeInstanceChannel', 'summary' => 'Invoke this API to create a driver channel in an edge instance.', 'description' => '## Condition'."\n" .'Each Alibaba Cloud account can send a maximum of 20 queries per second (QPS) to call this API.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling this API, you must specify both the common request parameters and the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Request Parameters](~~135196~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateEdgeInstanceChannel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateEdgeInstanceChannel'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'CreateEdgeInstanceDeployment' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance for which you want to create a deployment task and obtain the instance ID.'."\n" ."\n" .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'PgEfYupSn6Pvhfkx****', 'title' => ''], ], [ 'name' => 'Type', 'in' => 'query', 'schema' => ['description' => 'The type of the deployment task.'."\n" ."\n" .'* deploy: deploys the edge instance.'."\n" .'* reset: resets the edge instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'deploy', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], 'DeploymentId' => ['description' => 'The deployment task ID that is returned if the call was successful.'."\n", 'type' => 'string', 'example' => '38d544b1222d45b4b425240167bf****', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message that is returned if the call failed.'."\n", 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'C8293A57-6BBC-42FB-B093-BF304D5BF09C', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"DeploymentId\\": \\"38d544b1222d45b4b425240167bf****\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"C8293A57-6BBC-42FB-B093-BF304D5BF09C\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n C8293A57-6BBC-42FB-B093-BF304D5BF09C\\r\\n 38d544b1222d45b4b425240167bf****\\r\\n Success\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'CreateEdgeInstanceDeployment', 'summary' => 'Creates a deployment task for an edge instance.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of five queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateEdgeInstanceDeployment', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'CreateEdgeInstanceMessageRouting' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the IoT Platform:'."\n" .'- Enterprise instance: This parameter is required. You can view your Enterprise instance ID on the **Instance Overview** page in the [IoT Platform console](http://iot.console.aliyun.com/).'."\n" .'- Public instance: This parameter is not required.', 'example' => 'iot_instc_pu****_c*-v64********', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The edge instance ID. You can obtain the ID by hovering the mouse pointer over the target edge instance name on the **Edge Instances** page in the [Edge Computing console](https://iot.console.aliyun.com/le/instance/list).', 'example' => 'nF9oXo7kLRWQ********', 'required' => true, 'type' => 'string', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the message routing. It must be 4 to 32 characters in length. Each Chinese character or full-width symbol counts as two characters.', 'example' => 'le_lite2', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'TopicFilter', 'in' => 'query', 'schema' => ['description' => 'The filter condition for messages. Valid values:'."\n" .'- A specific message topic: Messages from the source that match this topic are forwarded to the recipient. For more information about topics, see [What is a topic?](~~73731~~).'."\n" .'- **all**: All messages from the source are forwarded to the recipient.', 'example' => 'all', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'SourceType', 'in' => 'query', 'schema' => ['description' => 'The message source. Valid values:'."\n" .'- **device**: indicates that the message is sent by a device.'."\n" .'- **function**: indicates that the message is sent by an edge application.'."\n" .'- **IotHub**: indicates that the message is sent by the cloud.', 'example' => 'device', 'required' => true, 'type' => 'string', 'title' => ''], ], [ 'name' => 'SourceData', 'in' => 'query', 'schema' => ['description' => 'The data from the message source. The value format depends on the **SourceType** parameter:'."\n" ."\n" .'- When **SourceType** is **device**:'."\n" .' - If the message is sent by a specific device under a specific product, the value must be in the format `/{Your_ProductKey}/{Your_DeviceName}`.'."\n" ."\n" .' > Replace {Your_ProductKey} and {Your_DeviceName} with the actual ProductKey and DeviceName of your device.'."\n" ."\n" .' - If the message is sent by all devices under a specific product, the value must be in the format `/{Your_ProductKey}/+`.'."\n" ."\n" .' > Replace {Your_ProductKey} with the actual ProductKey of your device.'."\n" ."\n" .' - If the message is sent by all devices under all products in the edge instance, the value is `#`.'."\n" ."\n" .'- When **SourceType** is **function**: The value is the ID of the edge application. You can obtain this ID by hovering the mouse pointer over the target application name on the **Application Management** page in the [Edge Computing console](https://iot.console.aliyun.com/le/instance/list).'."\n" ."\n" .'- When **SourceType** is **IotHub**: This parameter is not required.', 'example' => '#', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'TargetType', 'in' => 'query', 'schema' => ['description' => 'The message recipient. The valid values depend on the **SourceType** parameter:'."\n" .'- When **SourceType** is **device**, this parameter can be set to **function** or **IotHub**, indicating that the message from a device is delivered to an edge application or the cloud.'."\n" .'- When **SourceType** is **function**, this parameter can be set to **function** or **IotHub**, indicating that the message from an edge application is delivered to another edge application or the cloud.'."\n" .'- When **SourceType** is **IotHub**, this parameter can only be set to **function**, indicating that the message from the cloud is delivered to an edge application.', 'example' => 'function', 'required' => true, 'type' => 'string', 'title' => ''], ], [ 'name' => 'TargetData', 'in' => 'query', 'schema' => ['description' => 'The data of the message recipient. The value depends on the following cases:'."\n" .'- When **TargetType** is set to **function**, the value is the ID of the edge application. You can obtain the ID by hovering the mouse pointer over the target application name on the **Application Management** page in the [Edge Computing console](https://iot.console.aliyun.com/le/instance/list).'."\n" .'- When **TargetType** is set to **IotHub**, this parameter is not required.', 'example' => '58c46749ac934db3925fe5********', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'TargetIotHubQos', 'in' => 'query', 'schema' => ['description' => 'Quality of Service (QoS) level. Valid values:'."\n" ."\n" .'- **0**: The message is sent only once, regardless of whether it is successfully received by the recipient.'."\n" ."\n" .'- **1**: The message is sent at least once, and transmission stops only after an acknowledgment is received from the recipient.'."\n" ."\n" .'> This parameter is required when **TargetType** is **IoTHub**.', 'example' => '0', 'format' => 'int32', 'required' => false, 'type' => 'integer', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'properties' => [ 'Code' => ['description' => 'The return code of the API:'."\n" .'- **Success**: Indicates that the operation succeeded.'."\n" .'- Other values: Indicate error codes. For details about error codes, see [Error Codes](~~135200~~).', 'example' => 'Success', 'type' => 'string', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'example' => 'request parameter error', 'type' => 'string', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'example' => 'AC786033-00C5-4FD6-8435-F2807740D9FA', 'type' => 'string', 'title' => ''], 'RouteId' => ['description' => 'The ID of the message routing.', 'example' => '123456', 'format' => 'int64', 'type' => 'integer', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded:'."\n" .'- **true**: Indicates that the invocation succeeded.'."\n" .'- **false**: Indicates that the invocation failed.', 'example' => 'true', 'type' => 'boolean', 'title' => ''], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"AC786033-00C5-4FD6-8435-F2807740D9FA\\",\\n \\"RouteId\\": 123456,\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'CreateEdgeInstanceMessageRouting', 'summary' => 'Invoke this API to create a message routing for a specified edge instance.', 'description' => '## Conditions'."\n" .'- If you call this API in an Enterprise instance, you must specify the **IotInstanceId** parameter. Otherwise, the API call fails.'."\n" .'- The maximum queries per second (QPS) for a single Alibaba Cloud account is 10.'."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling this API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~135196~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateEdgeInstanceMessageRouting', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateEdgeInstanceMessageRouting'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'CreateEdgeOssPreSignedAddress' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'ResourceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource for which the object URL is to be obtained. Only driver resources are supported. Set this parameter to the ID of the corresponding driver.'."\n" ."\n" .'To obtain the driver ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Drivers** page, move the pointer over the name of the driver for which the object URL you want to obtain and obtain the driver ID. You can also call the [QueryEdgeDriver](~~155776~~) operation to query the driver ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'df9b9f441*********4c90d0c21d14', 'title' => ''], ], [ 'name' => 'FileName', 'in' => 'query', 'schema' => ['description' => 'The name of the object whose URL is to be obtained. The format is `.`.'."\n", 'type' => 'string', 'required' => true, 'example' => 'testfile.zip', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'Type', 'in' => 'query', 'schema' => ['description' => 'The content type of the object. Valid values:'."\n" ."\n" .'* DRIVER_VERSION_CONTENT: the code of a specific driver version.'."\n" .'* DRIVER_VERSION_DEFAULT_CONFIG: the default configuration of a specific driver version.'."\n" .'* INSTANCE_DRIVER_VERSION_CONFIG: the configuration of a specific driver version that is used in an edge instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'DRIVER_VERSION_CONTENT', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance that uses the driver and obtain the instance ID.'."\n" ."\n" .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n" ."\n" .'> When the **Type** parameter is set to **INSTANCE_DRIVER_VERSION_CONFIG**, this parameter is required.'."\n", 'type' => 'string', 'required' => false, 'example' => 'F3APY0tPLhmgGtx0****', 'title' => ''], ], [ 'name' => 'ResourceVersion', 'in' => 'query', 'schema' => ['description' => 'The version number of the resource. Only driver resources are supported. Set this parameter to the version number of the corresponding driver.'."\n", 'type' => 'string', 'required' => true, 'example' => '2.0.0', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message that is returned if the call failed.'."\n", 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '91E2BFA2-ECD7-4E11-B36B-66BCC4773922', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data that is returned if the call was successful.'."\n", 'type' => 'object', 'properties' => [ 'OssAddress' => ['description' => 'The URL of the OSS object.'."\n", 'type' => 'string', 'example' => 'http://xxxx.oss-cn-shanghai.aliyuncs.com/driver/a534d3b81*******8fe7da0/DRIVER_VERSION_CONTENT/df9b9f441*********4c90d0c21d14/2.0.0/1581586102750/driver_code.zip', 'title' => ''], 'OssPreSignedAddress' => ['description' => 'The pre-signed URL of the OSS object. For more information, see [OSS documentation](~~32016~~).'."\n", 'type' => 'string', 'example' => 'http://xxxx.oss-cn-shanghai.aliyuncs.com/driver/a534d3b81*******8fe7da0/DRIVER_VERSION_CONTENT/df9b9f441*********4c90d0c21d14/2.0.0/1581586102750/driver_code.zip?Expires\\u003d1581586402\\u0026OSSAccessKeyId\\u003daS4MT0IYrP******\\u0026Signature\\u003dIUUjZ881H3rUoCOwjMXPmGbw******', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"91E2BFA2-ECD7-4E11-B36B-66BCC4773922\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"OssAddress\\": \\"http://xxxx.oss-cn-shanghai.aliyuncs.com/driver/a534d3b81*******8fe7da0/DRIVER_VERSION_CONTENT/df9b9f441*********4c90d0c21d14/2.0.0/1581586102750/driver_code.zip\\",\\n \\"OssPreSignedAddress\\": \\"http://xxxx.oss-cn-shanghai.aliyuncs.com/driver/a534d3b81*******8fe7da0/DRIVER_VERSION_CONTENT/df9b9f441*********4c90d0c21d14/2.0.0/1581586102750/driver_code.zip?Expires\\\\\\\\u003d1581586402\\\\\\\\u0026OSSAccessKeyId\\\\\\\\u003daS4MT0IYrP******\\\\\\\\u0026Signature\\\\\\\\u003dIUUjZ881H3rUoCOwjMXPmGbw******\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 91E2BFA2-ECD7-4E11-B36B-66BCC4773922\\r\\n \\r\\n http://xxxx.oss-cn-shanghai.aliyuncs.com/driver/a534d3b81*******8fe7da0/DRIVER_VERSION_CONTENT/df9b9f441*********4c90d0c21d14/2.0.0/1581586102750/driver_code.zip?Expires=1581586402&OSSAccessKeyId=aS4MT0IYrP******&Signature=IUUjZ881H3rUoCOwjMXPmGbw******\\r\\n http://xxxx.oss-cn-shanghai.aliyuncs.com/driver/a534d3b81*******8fe7da0/DRIVER_VERSION_CONTENT/df9b9f441*********4c90d0c21d14/2.0.0/1581586102750/driver_code.zip\\r\\n \\r\\n Success\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'CreateEdgeOssPreSignedAddress', 'summary' => 'Creates a pre-signed URL for an object that is stored in Object Storage Service (OSS).', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of five queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~135196~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], ], 'CreateJob' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID value exists, you must pass this **ID** value. Otherwise, the invocation will fail.'."\n" .'- If there is no **Instance Overview** page or **ID** value, you do not need to pass this parameter.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the task. The description can be up to 100 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'jobDescription', 'title' => ''], ], [ 'name' => 'JobDocument', 'in' => 'query', 'schema' => ['description' => 'The rule file for task execution sent to devices. The data format is JSON, and the length must not exceed 65 536 characters.'."\n" ."\n" .'For more information, see "JobDocument definition" below.', 'type' => 'string', 'required' => true, 'example' => '{ "serviceIdentifier": "test_service", "params": { "key1": "value1", "key2": "value2" } } ', 'title' => ''], ], [ 'name' => 'Type', 'in' => 'query', 'schema' => ['description' => 'The task type. Valid values:'."\n" .'- **INVOKE_SERVICE**: Batch service invocation task for devices.'."\n" .'- **SET_PROPERTY**: Batch property setting task for devices.'."\n" .'- **PUB**: Batch message push task using Pub.'."\n" .'- **CUSTOM_JOB**: Custom task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'INVOKE_SERVICE', 'title' => ''], ], [ 'name' => 'JobFile', 'in' => 'query', 'style' => 'json', 'schema' => ['description' => 'The file sent to devices in a custom job.'."\n" ."\n" .'This parameter can be passed only when **Type** is **CUSTOM_JOB**, and it is optional.'."\n" ."\n" .'For more information, see "JobFile definition" below.'."\n" ."\n", 'type' => 'object', 'required' => false, 'example' => '{ "fileKey":"5cc34***f9/tazJ***s", "signMethod":"Sha256", "sign":"***" }', 'title' => ''], ], [ 'name' => 'JobName', 'in' => 'query', 'schema' => ['description' => 'The job name. It can contain Chinese characters, English letters, digits, and underscores (_), and must be 4 to 30 characters in length.', 'type' => 'string', 'required' => true, 'example' => 'oneJob', 'title' => ''], ], [ 'name' => 'TimeoutConfig', 'in' => 'query', 'style' => 'json', 'schema' => ['description' => 'The timeout configuration for job execution under the task, in JSON data format, with a maximum length of 8192 characters.'."\n" ."\n" .'For more information, see "TimeoutConfig definition" below.', 'type' => 'object', 'required' => false, 'example' => '{"inProgressTimeoutInMinutes": 60}', 'title' => ''], ], [ 'name' => 'RolloutConfig', 'in' => 'query', 'style' => 'json', 'schema' => ['description' => 'The configuration for the push rate of jobs under the task, in JSON data format, with a maximum length of 8192 characters.'."\n" ."\n" .'For more information, see "RolloutConfig definition" below.', 'type' => 'object', 'required' => false, 'example' => '{"maximumPerMinute": 1000}', 'title' => ''], ], [ 'name' => 'TargetConfig', 'in' => 'query', 'style' => 'json', 'schema' => ['description' => 'The target device configuration for the device job.'."\n" ."\n" .'For more information, see "TargetConfig" below.', 'type' => 'object', 'required' => true, 'example' => '{"targetType":"PRODUCT_KEY","targetProduct":"a1j***3d"}', 'title' => ''], ], [ 'name' => 'ScheduledTime', 'in' => 'query', 'schema' => ['description' => 'The scheduled time for the task, in milliseconds. Valid values range from 10 minutes after the current time to 7 days ahead.'."\n" ."\n" .'- If this parameter is not specified: The task is initialized and scheduled for execution immediately after creation.'."\n" .'- If this parameter is specified: The task is initialized after creation and scheduled for execution only at the specified time.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1557062301656', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The globally unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'JobId' => ['description' => 'The job ID. This is the globally unique identifier of the job.', 'type' => 'string', 'example' => 'XUbmsMHmkqv0PiAG****010001', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"JobId\\": \\"XUbmsMHmkqv0PiAG****010001\\"\\n}","type":"json"}]', 'title' => 'Create Job', 'summary' => 'You can invoke this API to create a device job.', 'description' => '## Queries per second (QPS) limit '."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 5.'."\n" ."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => '**TargetConfig Definition**'."\n" ."\n" .'|Name|Type|Description|'."\n" .'|------|------|------|'."\n" .'|TargetType|String|The configuration type of the target devices. Valid values:
**DEVICE_LIST**: indicates a list of devices.
**GROUP_ID**: indicates the ID of a device group.
**PRODUCT_KEY**: indicates the **ProductKey** of the product to which the devices belong.|'."\n" .'|TargetDevices|List|The target devices for the job. This parameter is required only when **TargetType** is set to **DEVICE_LIST**.
You can specify up to 200 devices in this parameter.
For more information, see "TargetDevice Definition" below.|'."\n" .'|TargetGroup|String|The identifier (GroupID) of the device group to which the target devices belong. This parameter is required only when **TargetType** is set to **GROUP_ID**.
Dynamic device group IDs are not supported.
The device group can contain up to 100,000 devices.|'."\n" .'|TargetProduct|String|The **ProductKey** of the product to which the target devices belong. This parameter is required only when **TargetType** is set to **PRODUCT_KEY**.
The product can contain up to 100,000 devices.|'."\n" ."\n" .'**TargetDevice Definition**'."\n" .'|Name|Type|Description|'."\n" .'|------|------|------|'."\n" .'|IotId|String|The device ID of the target device.|'."\n" .'|ProductKey|String|The **ProductKey** of the product to which the target device belongs.
If you specify this parameter, you must also specify **DeviceName**.|'."\n" .'|DeviceName|String|The name of the target device.
If you specify this parameter, you must also specify **ProductKey**.|'."\n" ."\n" .'Example 1'."\n" .'```'."\n" .'{'."\n" .' "TargetDevices":'."\n" .' ['."\n" .' {'."\n" .' "IotId":"OPx***00101",'."\n" .' "ProductKey":"a1A***n",'."\n" .' "DeviceName":"devicenew"'."\n" .' }'."\n" .' ],'."\n" .' "TargetType":"DEVICE_LIST"'."\n" .'}'."\n" .'```'."\n" .'Example 2'."\n" .'```'."\n" .'{'."\n" .' "targetGroup":"rY2***01",'."\n" .' "targetType":"GROUP_ID"'."\n" .'}'."\n" .'```'."\n" .'Example 3'."\n" .'```'."\n" .'{'."\n" .' "targetType":"PRODUCT_KEY",'."\n" .' "targetProduct":"a1j***3d"'."\n" .'}'."\n" .'```'."\n" ."\n\n" .'**RolloutConfig Definition**'."\n" .'|Name|Type|Description|'."\n" .'|------|------|------|'."\n" .'|maximumPerMinute|Integer|The maximum number of jobs pushed per minute under the task. Default value: 1000. Valid values: 50 to 1000.|'."\n" .'|messageQoS|String|The message type for sending messages. This parameter applies only to custom jobs and batch Pub message push jobs. Valid values:
**QoS0**: indicates that the message is sent at most once.
**QoS1**: indicates that the message is sent at least once. If a QoS1 message does not receive a PUBACK response, it will be resent to the device upon reconnection.|'."\n" ."\n" .'Example'."\n" .'```'."\n" .'{'."\n" .' "maximumPerMinute": 1000,'."\n" .' "messageQoS":"QoS1"'."\n" .'}'."\n" .'```'."\n" ."\n" .'**TimeoutConfig Definition**'."\n" .'|Name|Type|Description|'."\n" .'|------|------|------|'."\n" .'|inProgressTimeoutInMinutes|Integer|The timeout period (in minutes) for job execution under the task.
This parameter applies only to custom jobs.
The timeout period starts when the task begins execution (status changes to **IN_PROGRESS**). If the job is not completed within this period, its status is automatically set to TIMED_OUT.
Valid values:
For **INVOKE_SERVICE** tasks: maximum value is 5, minimum value is 1, default value is 1.
For **SET_PROPERTY** tasks: maximum value is 5, minimum value is 1, default value is 1.
For **CUSTOM_JOB** tasks: maximum value is 3600, minimum value is 1, default value is 60.|'."\n" ."\n" .'Example'."\n" .'```'."\n" .'{'."\n" .' "inProgressTimeoutInMinutes": 60'."\n" .'}'."\n" .'```'."\n" ."\n" .'**JobDocument Definition**'."\n" ."\n" .'Jobs of type **INVOKE_SERVICE** are used to invoke device services in batches, similar to the [InvokeThingsService](~~96242~~) API.'."\n" .'|Name|Type|Description|'."\n" .'|------|------|------|'."\n" .'|serviceIdentifier|String|The identifier of the service.
You can view this identifier in the IoT Platform console. Navigate to **Device Management > Products**, find the product to which the device belongs, and check the **Feature Definition** section on the product details page.|'."\n" .'|params|Object|The input parameters for invoking the service. For more information, see "params Definition" below.|'."\n" ."\n" .'**params Definition**'."\n" .'|Name|Type|Description|'."\n" .'|------|------|------|'."\n" .'|key|String|The identifier of the input parameter, which you defined when creating the service.
In the IoT Platform console, on the Feature Definition page of the product to which the device belongs, you can view the input parameters either from the Thing Specification Language model or by clicking the Edit button next to the service.|'."\n" .'|value|String|The parameter value. The value must fall within the range you defined for the input parameter.|'."\n" ."\n" .'Example'."\n" .'```'."\n" .'{'."\n" .' "serviceIdentifier": "test_service",'."\n" .' "params": {'."\n" .' "key1": "value1",'."\n" .' "key2": "value2"'."\n" .' }'."\n" .'}'."\n" .'```'."\n" ."\n" .'Jobs of type **SET_PROPERTY** are used to set device property values in batches, similar to the [SetDevicesProperty](~~96243~~) API.'."\n" .'|Name|Type|Description|'."\n" .'|------|------|------|'."\n" .'|params|Object|The properties to be set, in key:value format. For more information, see "params Definition" below.|'."\n" ."\n" .'**params Definition**'."\n" .'|Name|Type|Description|'."\n" .'|------|------|------|'."\n" .'|key|String|The identifier of the property to be set. You can view this identifier in the IoT Platform console under the Feature Definition section of the product to which the device belongs.
The property must be read-write. If you specify a read-only property, the setting will fail.|'."\n" .'|value|String|The property value. The value must match the data type and range you defined for the property.|'."\n" ."\n" .'```'."\n" .'{'."\n" .' "params": {'."\n" .' "key1": "value1",'."\n" .' "key2": "value2"'."\n" .' }'."\n" .'}'."\n" .'```'."\n" ."\n" .'**CUSTOM_JOB** represents a custom job.'."\n" .'|Name|Type|Description|'."\n" .'|------|------|------|'."\n" .'|key|String|Custom property.|'."\n" .'|value|String|Custom property value.|'."\n" ."\n\n" .'```'."\n" .'{'."\n" .' "key":"value"'."\n" .'}'."\n" .'```'."\n" ."\n" .'**JobFile Definition**'."\n" .'|Name|Type|Description|'."\n" .'|------|------|------|'."\n" .'|fileKey|String|The **Key** of the file generated by calling the **GenerateFileUploadURL** API.
You must upload the file before creating the job. For details, see the "How-To" section of [GenerateFileUploadURL](~~198575~~).
The system validates whether the file has been uploaded when the job is created.|'."\n" .'|signMethod|String|The signature method. Valid values: MD5 and SHA256.|'."\n" .'|sign|String|The signature of the file uploaded via URL, generated using the specified signature method.|'."\n" ."\n" .'Example'."\n" .'```'."\n" .'{'."\n" .' "fileKey":"5cc34***/tazJff***",'."\n" .' "signMethod":"",'."\n" .' "sign":""'."\n" .'}'."\n" .'```'."\n" ."\n\n" .'When calling this API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see the [Common Request Parameters documentation](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateJob'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'CreateLoRaNodesTask' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'> If your instance has an ID, you must specify this parameter. Otherwise, the request fails. If no Overview page exists or no instance ID is displayed, you do not need to specify this parameter.'."\n" ."\n" .'For more information, see the [Overview](~~356505~~) topic of IoT instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the devices belong.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceInfo', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The LoRaWAN devices.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'DevEui' => ['description' => 'The DevEUI of the LoRaWAN device.'."\n", 'type' => 'string', 'required' => false, 'example' => 'd896e0efff00****', 'title' => ''], 'PinCode' => ['description' => 'The PIN code of the LoRaWAN device. The value of the parameter is used to verify the DevEUI.'."\n", 'type' => 'string', 'required' => false, 'example' => '123***', 'title' => ''], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => true, 'maxItems' => 1000, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the request fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'TaskId' => ['description' => 'The task ID returned if the request was successful.'."\n" ."\n" .'> Record the ID. You must use the ID to query the status of the device creation task.'."\n", 'type' => 'string', 'example' => '62146', 'title' => ''], 'Success' => ['description' => 'Indicates whether the request was successful.'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"TaskId\\": \\"62146\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\n38D5FDA5-19B9-445D-8713-213B743266DE\\n62146\\ntrue\\n","errorExample":""}]', 'title' => 'CreateLoRaNodesTask', 'summary' => 'Creates multiple Long Range Wide Area Networking (LoRaWAN) devices.', 'description' => '## Usage notes'."\n" ."\n" .'You can call this operation to create up to 500 devices.'."\n" ."\n" .'## QPS limits'."\n" ."\n" .'You can call this API operation up to 50 times per second per account.'."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], ], 'CreateOTADynamicUpgradeJob' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the update package.'."\n" ."\n" .'An update package ID is returned when you call the [CreateOTAFirmware](~~147311~~) operation to create the update package.'."\n" ."\n" .'You can also call the [ListOTAFirmware](~~147450~~) operation to obtain the ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'FirmwareId', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the update package belongs.'."\n" ."\n" .'A **ProductKey** is the unique identifier of a product in IoT Platform. You can view the information about all products within the current Alibaba Cloud account in the IoT Platform console or by calling the [QueryProductList](~~69271~~) operation.'."\n", 'type' => 'string', 'required' => true, 'example' => 'nx3xxVvFdwvn6dim50PY03****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The automatic retry interval if a device fails to be updated. Unit: minutes. Valid values:'."\n" ."\n" .'* **0**: An automatic retry is immediately performed.'."\n" .'* **10**: An automatic retry is performed after 10 minutes.'."\n" .'* **30**: An automatic retry is performed after 30 minutes.'."\n" .'* **60**: An automatic retry is performed after 60 minutes (1 hour).'."\n" .'* **1440**: An automatic retry is performed after 1,440 minutes (24 hours).'."\n" ."\n" .'> The value of the **RetryInterval** parameter must be less than the value of the **TimeoutInMinutes** parameter. Examples:'."\n" .'>* If the value of the **TimeoutInMinutes** parameter is set to 60, the maximum value of the **RetryInterval** parameter is 30.'."\n" .'>* If the value of the **TimeoutInMinutes** parameter is set to 1440, the maximum value of the **RetryInterval** parameter is 60.'."\n" ."\n" .'If the value of the **RetryInterval** parameter is set to 1440, we recommend that you do not specify the **TimeoutInMinutes** parameter. If an update times out, no retry is performed.'."\n" ."\n" .'If you do not specify this parameter, no retry is performed.', 'type' => 'string', 'required' => true, 'example' => 'a1Le6d0****', 'title' => ''], ], [ 'name' => 'RetryInterval', 'in' => 'query', 'schema' => ['description' => 'The number of automatic retries.'."\n" ."\n" .'If you specify the **RetryInterval** parameter, you must specify this parameter.'."\n" ."\n" .'Valid values:'."\n" ."\n" .'* **1**: retries once.'."\n" .'* **2**: retries twice.'."\n" .'* **5**: retries five times.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''], ], [ 'name' => 'RetryCount', 'in' => 'query', 'schema' => ['description' => 'The timeout period of the update. If the device is not updated within the specified period, a timeout error occurs. Unit: minutes. Valid values: 1 to 1440.'."\n" ."\n" .'> * The timeout period starts from the time when the specified device submits the update progress for the first time. During the update, the update package may be repeatedly pushed to the specified device because the device goes online and offline multiple times. The start time of the update period remains unchanged.'."\n" .'>* If an update fails due to timeout, no retry is triggered.'."\n" ."\n" .'If you do not specify this parameter, timeout errors do not occur.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'TimeoutInMinutes', 'in' => 'query', 'schema' => ['description' => 'The maximum number of devices to which the download URL of the update package is pushed per minute. Valid values: 10 to 10000.'."\n" ."\n" .'Default value: 10000.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1440', 'title' => ''], ], [ 'name' => 'MaximumPerMinute', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to overwrite the previous update task. Default value: 1. Valid values:'."\n" ."\n" .'* **1**: The previous update task is not overwritten. If a device already has an update task, the previous update task is implemented.'."\n" .'* **2**: The previous update task is overwritten. Only the current update task is implemented. In this case, you cannot set **MultiModuleMode** to **true**.'."\n" ."\n" .'> The update task that is in progress is not overwritten.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1000', 'title' => ''], ], [ 'name' => 'OverwriteMode', 'in' => 'query', 'schema' => ['description' => 'The mode of dynamic update. Default value: 1. Valid values:'."\n" ."\n" .'* **1**: constantly updates the devices that meet the conditions.'."\n" .'* **2**: updates only the devices that subsequently submit the latest firmware versions.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], ], [ 'name' => 'DynamicMode', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to automatically push update tasks from IoT Platform to devices. Default value: true. Valid values:'."\n" ."\n" .'* **true**: After an update batch is created, IoT Platform automatically pushes update tasks to the specified online devices.'."\n" ."\n" .' In this case, a device can still initiate a request to obtain the information about the over-the-air (OTA) update task from IoT Platform.'."\n" ."\n" .'* **false**: A device must initiate a request to obtain the information about the OTA update task from IoT Platform.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'NeedPush', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to control the update by using a mobile app. You must develop the mobile app as needed. Default value: false. Valid values:'."\n" ."\n" .'* **false**: A device obtains the information about the OTA update task based on the **NeedPush** parameter.'."\n" .'* **true**: To perform an OTA update on a device, you must confirm the update by using your mobile app. Then, the device can obtain the information about the OTA update task based on the **NeedPush** parameter.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'NeedConfirm', 'in' => 'query', 'schema' => ['description' => 'The ID of the group.'."\n" ."\n" .'* If you specify this parameter, you must also specify the **GroupType** parameter. In this case, do not specify the **SrcVersion.N** parameter.'."\n" .'* If you do not specify this parameter, you do not need to specify the **GroupType** parameter. In this case, you must specify the **SrcVersion.N** parameter.'."\n" ."\n" .'You can call the [QueryDeviceGroupList](~~93356~~) operation to query the **GroupId** parameter.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'GroupId', 'in' => 'query', 'schema' => ['description' => 'The type of the group. Valid value: **LINK_PLATFORM_DYNAMIC**.'."\n" ."\n" .'* If you specify this parameter, you must also specify the **GroupId** parameter. In this case, do not specify the **SrcVersion.N** parameter.'."\n" .'* If you do not specify this parameter, you do not need to specify the **GroupId** parameter. In this case, you must specify the **SrcVersion.N** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'IwOwQj7DJ***', 'title' => ''], ], [ 'name' => 'GroupType', 'in' => 'query', 'schema' => ['description' => 'The download protocol of the update package. Valid values: **HTTPS** and **MQTT**. Default value: HTTPS. After the device receives the update package information pushed by IoT Platform, this protocol is used to download the update package.'."\n" ."\n" .'> If you need to download the update package over MQTT, take note of the following items:'."\n" .'>* Your service must be deployed in the China (Shanghai) region.'."\n" .'>* The OTA update package can contain only one file, and the size of the file cannot exceed 16 MB.'."\n" .'>* You must use the latest version of Link SDK for C to develop the device features to perform OTA updates and download files over MQTT. For more information, see [Sample code](~~330985~~).', 'type' => 'string', 'required' => false, 'example' => 'LINK_PLATFORM_DYNAMIC', 'title' => ''], ], [ 'name' => 'DownloadProtocol', 'in' => 'query', 'schema' => ['description' => 'Specifies whether the device supports simultaneous updates of multiple modules. Default value: false. Valid values:'."\n" ."\n" .'* **false**'."\n" ."\n" .'* **true**: In this case, do not set **OverwriteMode** to **2**.********'."\n" ."\n" .' The update tasks for the same module are overwritten. The update tasks that are in progress are not overwritten. The update tasks of the modules do not affect each other.'."\n" ."\n" .'>* Only Enterprise Edition instances and new public instances are supported.'."\n" .'>* You must use Link SDK for C 4.x to develop the device.'."\n" .'>* If you initiate a group-based dynamic update batch, the settings of **MultiModuleMode** and **OverwriteMode** must be the same as those in the existing dynamic update batch of the group.'."\n" ."\n" .'For more information, see [Overview](~~58328~~).', 'type' => 'string', 'required' => false, 'example' => 'HTTPS', 'title' => ''], ], [ 'name' => 'MultiModuleMode', 'in' => 'query', 'schema' => ['description' => 'The list of firmware versions to be updated.'."\n" ."\n" .'* If you specify this parameter, do not specify the **GroupId** and **GroupType** parameters.'."\n" .'* If you do not specify this parameter, you must specify the **GroupId** and **GroupType** parameters.'."\n" ."\n" .'> If you use differential update packages to perform dynamic update tasks on dynamic groups, you do not need to specify this parameter.'."\n" .'>* If you use differential update packages to perform dynamic update tasks based on versions, the value of this parameter must be the same as the value of **SrcVersion**.'."\n" .'>* You can call the [QueryDeviceDetail](~~69594~~) operation and view the **FirmwareVersion** parameter in the response.'."\n" .'>* The version numbers must be unique in the list.'."\n" .'>* You can specify a maximum of 10 version numbers.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false', 'title' => ''], ], [ 'name' => 'SrcVersion', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'A list of version numbers to be upgraded.'."\n" ."\n" .'- If you specify this parameter, you cannot specify **GroupId** or **GroupType**.'."\n" .'- If you do not specify this parameter, you must specify both **GroupId** and **GroupType**.'."\n" ."\n" .'> - When initiating a dynamic upgrade job for a delta update package based on specific versions, the value of this parameter must match the source version (**SrcVersion**) of the delta update package.'."\n" .'- When initiating a dynamic upgrade job for a delta update package based on a dynamic group, you do not need to specify this parameter.'."\n" .'- You can call [QueryDeviceDetail](~~69594~~) to view the OTA module version (**FirmwareVersion**) of a device.'."\n" .'- The list must not contain duplicate version numbers.'."\n" .'- You can specify up to 10 version numbers.', 'type' => 'array', 'items' => ['type' => 'string', 'required' => false, 'description' => 'The key of the update batch tag. The key must be 1 to 30 characters in length and can contain letters, digits, and periods (.). You can add up to 10 tags for each update batch.'."\n" ."\n" .'The tags of an update batch are sent to devices when IoT Platform pushes update notifications to these devices.'."\n" ."\n" .'> Update batch tags are optional. If you want to specify a tag, you must specify the Tag.N.Value and Tag.N.Key parameters in pair.'."\n", 'title' => '', 'example' => ''], 'required' => false, 'example' => 'V1.0.1', 'maxItems' => 50, 'title' => '', ], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'A list of tags.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The value of the update batch tag. The value must be 1 to 1,024 characters in length. You can add up to 10 tags for each update batch. The total length of the tag keys and tag values of all update batches cannot exceed 4,096 characters in length.'."\n" ."\n" .'> Update batch tags are optional. If you want to specify a tag, you must specify the Tag.N.Value and Tag.N.Key parameters in pair.'."\n", 'type' => 'string', 'required' => true, 'example' => 'key1', 'title' => ''], 'Value' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'required' => true, 'example' => 'value1', 'title' => ''], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 10, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The request was successful.'."\n" .'* **false**: The request failed.'."\n", 'type' => 'string', 'example' => '9F41D14E-CB5F-4CCE-939C-057F39E688F5', 'title' => ''], 'Success' => ['description' => 'The update batch information returned if the call is successful. For more information, see Data.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The unique identifier of the update batch.'."\n", 'type' => 'object', 'properties' => [ 'JobId' => ['description' => 'The time when the update batch was created. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => 'XUbmsMHmkqv0PiAG****010001', 'title' => ''], 'UtcCreate' => ['description' => 'The creation time of the upgrade job, in UTC format.', 'type' => 'string', 'example' => '2019-05-10T02:18:53.000Z', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"9F41D14E-CB5F-4CCE-939C-057F39E688F5\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"JobId\\": \\"XUbmsMHmkqv0PiAG****010001\\",\\n \\"UtcCreate\\": \\"2019-05-10T02:18:53.000Z\\"\\n }\\n}","type":"json"}]', 'title' => 'CreateOTADynamicUpgradeJob', 'summary' => 'Invoke this API to create a dynamic over-the-air update job.'."\n", 'description' => '## How-To'."\n" ."\n" .'- If you did not specify that firmware verification is not required when you called [CreateOTAFirmware](~~147311~~) to create an upgrade package, you must ensure that the upgrade package has been successfully verified before calling this API to create a batch upgrade job. For information about how to create a verification job for an upgrade package, see [CreateOTAVerifyJob](~~147480~~).'."\n" .'- A device can be included in only one upgrade job at a time in either the pending or upgrading status. If you initiate a new upgrade job for a device that is already in the pending or upgrading status, the new job immediately fails.'."\n" .'- Only one dynamic upgrade job can be in the executing status for the same upgrade package.'."\n" .'- If a device is included in dynamic upgrade policies of different upgrade packages, the device executes the most recently initiated dynamic upgrade.'."\n" .'- After you create a dynamic upgrade job, the system automatically creates a corresponding dynamic upgrade policy. You can call [CancelOTAStrategyByJob](~~147905~~) to cancel the dynamic upgrade policy.'."\n" .'- Currently, only Enterprise instances and new public instances in the China (Shanghai) region support creating dynamic upgrade jobs for dynamic groups.For more information about instances, see [Instance Management](~~147356~~).'."\n" .'- Currently, only the China (Shanghai), China (Beijing), and China (Shenzhen) regions support downloading upgrade packages over the MQTT protocol.'."\n" ."\n" .'## queries per second (QPS) limit'."\n" ."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account when calling this API is 20. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When calling this API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateOTADynamicUpgradeJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateOTADynamicUpgradeJob'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'CreateOTAFirmware' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the ID of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n" .'>* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'FirmwareName', 'in' => 'query', 'schema' => ['description' => 'The name of the OTA update package. The name must be unique within an Alibaba Cloud account. The name cannot be modified after the OTA update package is created. The name must be 1 to 40 characters in length, and can contain letters, digits, hyphens (-), underscores (\\_), and parentheses (). The name must start with a letter or a digit.'."\n", 'type' => 'string', 'required' => true, 'example' => 'Firmware2', 'title' => ''], ], [ 'name' => 'DestVersion', 'in' => 'query', 'schema' => ['description' => 'The version number of the OTA update package. The value can contain letters, digits, periods (.), hyphens (-), and underscores (\\_). The version number must be 1 to 64 characters in length.'."\n", 'type' => 'string', 'required' => true, 'example' => '2.0.0', 'title' => ''], ], [ 'name' => 'FirmwareUrl', 'in' => 'query', 'schema' => ['description' => 'The URL of the OTA update package. This parameter specifies the storage location of the OTA update package in OSS. You can call the [GenerateOTAUploadURL](~~147310~~) operation to generate a URL for the OTA update package.'."\n" ."\n" .'>If you add only one file to the OTA update package, you must configure this parameter.', 'type' => 'string', 'required' => false, 'example' => 'https://iotx-ota.oss-cn-shanghai.aliyuncs.com/ota/bcd6142594d0183a16d825ad8225****/A6B3400B70CA4D6D872160D1A91A****.bin', 'title' => ''], ], [ 'name' => 'FirmwareSign', 'in' => 'query', 'schema' => ['description' => 'The signature of the OTA update package. The value is calculated by using the specified **signature algorithm** to sign the OTA update package.'."\n" ."\n" .'> If you add only one file to the OTA update package, you can configure this parameter. If you do not configure this parameter, the MD5 value of the OTA update package in OSS is used as the package signature.', 'type' => 'string', 'required' => false, 'example' => '93230c3bde425a9d7984a594ac55****', 'title' => ''], ], [ 'name' => 'SignMethod', 'in' => 'query', 'schema' => ['description' => 'The signature algorithm of the OTA update package. Set the value to **MD5**. The value indicates an MD5 signature.'."\n" ."\n" .'Default value: **MD5**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'MD5', 'title' => ''], ], [ 'name' => 'FirmwareSize', 'in' => 'query', 'schema' => ['description' => 'The size of the OTA update package. Unit: bytes.'."\n" ."\n" .'> If you add only one file to the OTA update package, you can configure this parameter. If you do not configure this parameter, the size of the OTA update package in OSS is used.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '900', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the OTA update package belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1uctKe****', 'title' => ''], ], [ 'name' => 'FirmwareDesc', 'in' => 'query', 'schema' => ['description' => 'The description of the OTA update package. The description must be 1 to 100 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => 'OTA function updated', 'title' => ''], ], [ 'name' => 'Type', 'in' => 'query', 'schema' => ['description' => 'The type of the OTA update package. Valid values:'."\n" ."\n" .'* **0**: The uploaded file contains a full update package. IoT Platform pushes the full update package to a device for update.'."\n" .'* **1**: The uploaded file contains only the differences between the latest update package and the previous update package. IoT Platform pushes only the differences to a device for update.'."\n" ."\n" .'Default value: **0**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'title' => ''], ], [ 'name' => 'SrcVersion', 'in' => 'query', 'schema' => ['description' => 'The version number of the OTA module of the device to be updated.'."\n" ."\n" .'You can call the [QueryDeviceDetail](~~69594~~) operation and view the **FirmwareVersion** parameter in the response.'."\n" ."\n" .'> * If you set the **Type** parameter to **1**, you must configure this parameter, and the value cannot be the same as the update package version that is specified by the **DestVersion** parameter.'."\n" .'>* If you set the **Type** parameter to **0**, this parameter is optional.', 'type' => 'string', 'required' => false, 'example' => '1.0.0', 'title' => ''], ], [ 'name' => 'ModuleName', 'in' => 'query', 'schema' => ['description' => 'The name of the OTA module. OTA modules are the updatable units of devices that belong to the same product.'."\n" ."\n" .'> * If you do not configure this parameter, the default OTA module is used. The default value indicates that the complete device firmware is updated.'."\n" .'>* You can call the [CreateOTAModule](~~186066~~) operation to create a custom OTA module. You can call the [ListOTAModuleByProduct](~~186532~~) operation to query the existing OTA modules of a product.', 'type' => 'string', 'required' => false, 'example' => 'WifiConfigModify', 'title' => ''], ], [ 'name' => 'NeedToVerify', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to verify the OTA update package before you create a batch update task.'."\n" ."\n" .'* **true** The system verifies the OTA update package before you create a batch update task. This is the default value.'."\n" .'* **false**: The system does not verify the OTA update package before you create a batch update task.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'default' => 'true', 'title' => ''], ], [ 'name' => 'Udi', 'in' => 'query', 'schema' => ['description' => 'The custom information that you want to send to a device. The format of the custom information has no limits. However, the information cannot exceed 4,096 characters in length.'."\n" ."\n" .'After you add the OTA update package and create an update task, IoT Platform sends the custom information to the specified device when IoT Platform pushes an update notification.'."\n", 'type' => 'string', 'required' => false, 'example' => '{"ota_notice":"升级底层摄像头驱动,解决视频图像模糊的问题。"}', 'title' => ''], ], [ 'name' => 'MultiFiles', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of files in the OTA update package.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'FileMd5' => ['description' => 'The MD5 value of the file.'."\n" ."\n" .'> If you want to add multiple files to the OTA update package, you can configure this parameter. If you do not configure this parameter, the MD5 value of the file in OSS is used.'."\n", 'type' => 'string', 'required' => false, 'example' => '93230c3bde425a9d7984a594ac56***', 'title' => ''], 'Size' => ['description' => 'The size of the file in the OTA update package. Unit: bytes.'."\n" ."\n" .'> If you want to add multiple files to the OTA update package, you can configure this parameter. If you do not configure this parameter, the size of the file in OSS is used.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '200', 'title' => ''], 'Url' => ['description' => 'The URL of the file. This parameter specifies the storage location of the file in OSS. You can call the [GenerateOTAUploadURL](~~147310~~) operation to generate a URL for each file in the OTA update package.'."\n" ."\n" .'> If you want to add multiple files to the OTA update package, you must configure this parameter.', 'type' => 'string', 'required' => false, 'example' => 'https://iotx-ota.oss-cn-shanghai.aliyuncs.com/ota/bcd6142594d0183a16d825ad8225****/A6B3400B70CA4D6D872160D1A91A****.bin', 'title' => ''], 'SignValue' => ['description' => 'The signature of the file. The value is calculated by using the specified **signature algorithm** to sign the file.'."\n" ."\n" .'> If you want to add multiple files to the OTA update package, you can configure this parameter. If you do not configure this parameter, the MD5 value of the file in OSS is used as the file signature.'."\n", 'type' => 'string', 'required' => false, 'example' => '93230c3bde425a9d7984a594ac45****', 'title' => ''], 'Name' => ['description' => 'The name of the file in the update package. The name must be 1 to 32 characters in length. You can specify up to 20 file names. Each name must be unique in the OTA update package.'."\n" ."\n" .'> If you want to add multiple files to the OTA update package, you must configure this parameter.', 'type' => 'string', 'required' => false, 'example' => 'Firmware1', 'title' => ''], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '291438BA-6E10-4C4C-B761-243B9A0D324F', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'* **true**: The call was successful. The value indicates that the OTA update package was created.'."\n" .'* **false**: The call failed. The value indicates that the system failed to create the OTA update package.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The OTA update package information that is returned if the call is successful. For more information, see the "**Data**" section of this topic.'."\n", 'type' => 'object', 'properties' => [ 'FirmwareId' => ['description' => 'The ID of the OTA update package. The ID is a unique identifier issued by IoT Platform to the OTA update package.'."\n", 'type' => 'string', 'example' => 's8SSHiKjpBfrM3BSN0z803****', 'title' => ''], 'UtcCreate' => ['description' => 'The time when the OTA update package was created. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2019-11-04T06:21:54.607Z', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"291438BA-6E10-4C4C-B761-243B9A0D324F\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"FirmwareId\\": \\"s8SSHiKjpBfrM3BSN0z803****\\",\\n \\"UtcCreate\\": \\"2019-11-04T06:21:54.607Z\\"\\n }\\n}","type":"json"}]', 'title' => 'CreateOTAFirmware', 'summary' => 'After generating the URL of the over-the-air (OTA) update package file, invoke this API to create an OTA upgrade package for devices.'."\n", 'description' => '## How-To '."\n" .'Before invoking this API to create an upgrade package, you have already invoked [GenerateOTAUploadURL](~~147310~~) to generate upload information for the upgrade package and used the OSS [PostObject](~~31988~~) API to upload the upgrade package file.'."\n" ."\n" .'## Limits '."\n" .'A maximum of 500 upgrade packages can exist under a single Alibaba Cloud account.'."\n" ."\n" .'## Queries per second (QPS) limit '."\n" .'The maximum QPS for this API under a single Alibaba Cloud account is 10. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When invoking this API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters documentation](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateOTAFirmware', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateOTAFirmware'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'CreateOTAModule' => [ 'methods' => ['post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'AliasName', 'in' => 'query', 'schema' => ['description' => 'The alias of the OTA module. The alias must be 1 to 64 characters in length, and can contain letters, digits, periods(.), hyphens (-), and underscores (\\_).'."\n", 'type' => 'string', 'required' => false, 'example' => '条码扫描仪', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'ModuleName', 'in' => 'query', 'schema' => ['description' => 'The name of the OTA module. The name is unique in a product and cannot be modified. The name can contain letters, digits, periods (.), hyphens (-), and underscores (\\_). The name must be 1 to 64 characters in length.'."\n" ."\n" .'> Letters are not case-sensitive. For example, you cannot use the module names scanner and Scanner at the same time.'."\n", 'type' => 'string', 'required' => true, 'example' => 'barcodeScanner', 'title' => ''], ], [ 'name' => 'Desc', 'in' => 'query', 'schema' => ['description' => 'The description of the OTA module. The description can be up to 100 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => '条码扫描仪的固件模块', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the OTA module belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1Le6d0****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '74C2BB8D-1D6F-41F5-AE68-6B2310883F63', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"74C2BB8D-1D6F-41F5-AE68-6B2310883F63\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\n 29EC7245-0FA4-4BB6-B4F5-5F04818FDFB1\\n true\\n","errorExample":""}]', 'title' => 'CreateOTAModule', 'summary' => 'Creates an over-the-air (OTA) module for a product.', 'description' => '## Limits'."\n" ."\n" .'OTA modules are the updatable units of the devices that belong to the same product. The default module indicates the entire firmware of a device. You can call this operation to create a custom OTA module.'."\n" ."\n" .'* You can create a maximum of 10 custom OTA modules for each product.'."\n" ."\n" .'* After an OTA module is created, you cannot modify its name. You can call the [UpdateOTAModule](~~186061~~) operation to modify the module alias and description.'."\n" ."\n" .'* Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateOTAModule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'CreateOTAStaticUpgradeJob' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the ID of an instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must specify the ID for this parameter. If you do not specify the instance ID, the call fails.****'."\n" .'>* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'FirmwareId', 'in' => 'query', 'schema' => ['description' => 'The ID of the update package.'."\n" ."\n" .'An update package ID is returned when you call the [CreateOTAFirmware](~~147311~~) operation to create the update package.'."\n" ."\n" .'You can also call the [ListOTAFirmware](~~147450~~) operation to obtain the ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'nx3xxVvFdwvn6dim50PY03****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the update package belongs.'."\n" ."\n" .'A **ProductKey** is the unique identifier of a product in IoT Platform. You can view the information about all products within the current Alibaba Cloud account in the IoT Platform console or by calling the [QueryProductList](~~69271~~) operation.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1Le6d0****', 'title' => ''], ], [ 'name' => 'TargetSelection', 'in' => 'query', 'schema' => ['description' => 'The scope of the update batch. Valid values:'."\n" ."\n" .'* **ALL**: updates all devices.'."\n" .'* **SPECIFIC**: updates specified devices.'."\n" .'* **GRAY**: performs a phased update.'."\n" .'* **GROUP**: updates specified groups.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ALL', 'title' => ''], ], [ 'name' => 'ScheduleTime', 'in' => 'query', 'schema' => ['description' => 'The time to start the over-the-air (OTA) update.'."\n" ."\n" .'The scheduled time ranges from 5 minutes to 7 days later than the current time. The value must be a 13-digit timestamp.'."\n" ."\n" .'If you do not specify this parameter, the update immediately starts.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1577808000000', 'title' => ''], ], [ 'name' => 'RetryInterval', 'in' => 'query', 'schema' => ['description' => 'The automatic retry interval if a device fails to be updated. Unit: minutes. Valid values:'."\n" ."\n" .'* **0**: An automatic retry is immediately performed.'."\n" .'* **10**: An automatic retry is performed after 10 minutes.'."\n" .'* **30**: An automatic retry is performed after 30 minutes.'."\n" .'* **60**: An automatic retry is performed after 60 minutes (1 hour).'."\n" .'* **1440**: An automatic retry is performed after 1,440 minutes (24 hours).'."\n" ."\n" .'> The value of the **RetryInterval** parameter must be less than the value of the **TimeoutInMinutes** parameter. Examples:'."\n" .'>* If the value of the **TimeoutInMinutes** parameter is set to 60, the maximum value of the **RetryInterval** parameter is 30.'."\n" .'>* If the value of the **TimeoutInMinutes** parameter is set to 1440, the maximum value of the **RetryInterval** parameter is 60.'."\n" ."\n" .'If the value of the **RetryInterval** parameter is set to 1440, we recommend that you do not specify the **TimeoutInMinutes** parameter. If an update times out, no retry is performed.'."\n" ."\n" .'If you do not specify this parameter, no retry is performed.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''], ], [ 'name' => 'RetryCount', 'in' => 'query', 'schema' => ['description' => 'The number of automatic retries.'."\n" ."\n" .'If you specify the **RetryInterval** parameter, you must specify this parameter.'."\n" ."\n" .'Valid values:'."\n" ."\n" .'* **1**: retries once.'."\n" .'* **2**: retries twice.'."\n" .'* **5**: retries five times.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'TimeoutInMinutes', 'in' => 'query', 'schema' => ['description' => 'The timeout period of the update. If the device is not updated within the specified period, a timeout error occurs. Unit: minutes. Valid values: 1 to 1440.'."\n" ."\n" .'> * The timeout period starts from the time when the specified device submits the update progress for the first time. During the update, the update package may be repeatedly pushed to the specified device because the device goes online and offline multiple times. The start time of the update period remains unchanged.'."\n" .'>* If an update fails due to timeout, no retry is triggered.'."\n" ."\n" .'If you do not specify this parameter, timeout errors do not occur.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1440', 'title' => ''], ], [ 'name' => 'MaximumPerMinute', 'in' => 'query', 'schema' => ['description' => 'The maximum number of devices to which the download URL of the update package is pushed per minute. Valid values: 10 to 10000.'."\n" ."\n" .'Default value: 10000.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1000', 'title' => ''], ], [ 'name' => 'GrayPercent', 'in' => 'query', 'schema' => ['description' => 'The ratio of the phased update. The value is a percentage in the string format. It can be up to three decimal places. The calculated number of devices is rounded down to the nearest integer. You must specify at least one device for a phased update.'."\n" ."\n" .'For example, if you set the phased update ratio to 33.33 for 100 devices, the number of devices to be updated is 33.'."\n" ."\n" .'You must specify this parameter if you set the TargetSelection parameter to `GRAY`.'."\n", 'type' => 'string', 'required' => false, 'example' => '33.33', 'title' => ''], ], [ 'name' => 'ScheduleFinishTime', 'in' => 'query', 'schema' => ['description' => 'The time to end the update.'."\n" ."\n" .'The end time must be 1 hour to 30 days later than the start time that is specified by the **ScheduleTime** parameter. The value must be a 13-digit timestamp.'."\n" ."\n" .'If you do not specify this parameter, the update is not forcibly ended.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1577909000000', 'title' => ''], ], [ 'name' => 'OverwriteMode', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to overwrite the previous update task. Default value: 1. Valid values:'."\n" ."\n" .'* **1**: The previous update task is not overwritten. If a device already has an update task, the previous update task is implemented.'."\n" .'* **2**: The previous update task is overwritten. Only the current update task is implemented. In this case, you cannot set **MultiModuleMode** to **true**.'."\n" ."\n" .'> The update task that is in progress is not overwritten.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'DnListFileUrl', 'in' => 'query', 'schema' => ['description' => 'The URL of the device list file that is used to perform a specific update.'."\n" ."\n" .'> * If you set the TargetSelection parameter to `SPECIFIC`, you must specify this parameter or the **TargetDeviceName.N** parameter. You cannot specify the two parameters at the same time.'."\n" .'>* You can call the [GenerateDeviceNameListURL](~~186062~~) operation to generate a file URL. Then, you can perform the operations as prompted to upload the device list file.'."\n" .'>* During a full update, the devices that have been updated are skipped.'."\n" .'>* During a delta update, the devices that have been updated and the devices whose initial version numbers are different from the update package are skipped.', 'type' => 'string', 'required' => false, 'example' => 'https://iotx-ota.oss-cn-shanghai.aliyuncs.com/ota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.bin', 'title' => ''], ], [ 'name' => 'NeedPush', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to automatically push update tasks from IoT Platform to devices. Default value: true. Valid values:'."\n" ."\n" .'* **true**: After an update batch is created, IoT Platform automatically pushes update tasks to the specified online devices.'."\n" ."\n" .' In this case, a device can still initiate a request to obtain the information about the over-the-air (OTA) update task from IoT Platform.'."\n" ."\n" .'* **false**: A device must initiate a request to obtain the information about the OTA update task from IoT Platform.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'NeedConfirm', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to control the update by using a mobile app. You must develop the mobile app as needed. Default false: true. Valid values:'."\n" ."\n" .'* **false**: A device obtains the information about the OTA update task based on the **NeedPush** parameter.'."\n" .'* **true**: To perform an OTA update on a device, you must confirm the update by using your mobile app. Then, the device can obtain the information about the OTA update task based on the **NeedPush** parameter.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'GroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the group.'."\n" ."\n" .'If you set the TargetSelection parameter to `GROUP`, you must specify this parameter and the **GroupType** parameter.'."\n" ."\n" .'You can call the [QueryDeviceGroupList](~~93356~~) operation to query the **GroupId** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'CtjzCkNuOx***', 'title' => ''], ], [ 'name' => 'GroupType', 'in' => 'query', 'schema' => ['description' => 'The type of the group. Valid value: **LINK_PLATFORM**.'."\n" ."\n" .'If you set the TargetSelection parameter to `GROUP`, you must specify this parameter and the **GroupId** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'LINK_PLATFORM', 'title' => ''], ], [ 'name' => 'DownloadProtocol', 'in' => 'query', 'schema' => ['description' => 'The download protocol of the update package. Valid values: **HTTPS** and **MQTT**. Default value: HTTPS. After the device receives the update package information pushed by IoT Platform, this protocol is used to download the update package.'."\n" ."\n" .'>If you need to download the update package over MQTT, take note of the following items:'."\n" .'>* Your service must be deployed in the China (Shanghai), China (Beijing), or China (Shenzhen) region.'."\n" .'>* The OTA update package can contain only one file, and the size of the file cannot exceed 16 MB.'."\n" .'>* You must use the latest version of Link SDK for C to develop the device features to perform OTA updates and download files over MQTT. For more information, see [Sample code](~~330985~~).', 'type' => 'string', 'required' => false, 'example' => 'HTTPS', 'title' => ''], ], [ 'name' => 'MultiModuleMode', 'in' => 'query', 'schema' => ['description' => 'Specifies whether the device supports simultaneous updates of multiple modules. Default value: false. Valid values:'."\n" ."\n" .'* **false**'."\n" ."\n" .'* **true**: In this case, do not set **OverwriteMode** to **2**.********'."\n" ."\n" .' The update tasks for the same module are overwritten. The update tasks that are in progress are not overwritten. The update tasks of the modules do not affect each other.'."\n" ."\n" .'>* Only Enterprise Edition instances and new public instances are supported.'."\n" .'>* You must use Link SDK for C 4.x to develop the device.'."\n" ."\n" .'For more information, see [Overview](~~58328~~).', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false', 'title' => ''], ], [ 'name' => 'SrcVersion', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'A list of version numbers to be upgraded.'."\n" ."\n" .'>- You can provide this parameter when initiating a full upgrade (`TargetSelection=ALL`) or a grayscale upgrade (`TargetSelection=GRAY`).'."\n" .'- When using a delta update package to initiate a full or grayscale upgrade, the value of this parameter must be the source version number (**SrcVersion**) of the delta update package.'."\n" .'- You cannot provide this parameter when initiating a targeted upgrade (`TargetSelection=SPECIFIC`) or a group upgrade (`TargetSelection=GROUP`).'."\n" .'- You can call [QueryDeviceDetail](~~69594~~) to check the OTA module version number (**FirmwareVersion**) of a device.'."\n" .'- The list must not contain duplicate version numbers.'."\n" .'- You can specify up to 10 version numbers.', 'type' => 'array', 'items' => ['type' => 'string', 'required' => false, 'description' => 'The list of firmware versions to be updated.'."\n" ."\n" .'> * This parameter is available if you set the TargetSelection parameter to `ALL` or `GRAY`.'."\n" .'>* If you use a differential update package to perform a complete update or phased update, the value of this parameter must be the same as the value of the **SrcVersion** parameter.'."\n" .'>* This parameter is unavailable if you set the TargetSelection parameter to `SPECIFIC` or `GROUP`.'."\n" .'>* You can call the [QueryDeviceDetail](~~69594~~) operation and view the **FirmwareVersion** parameter in the response.'."\n" .'>* The version numbers must be unique in the list.'."\n" .'>* You can specify a maximum of 10 version numbers.', 'title' => '', 'example' => ''], 'required' => false, 'example' => 'V1.0.1', 'maxItems' => 20, 'title' => '', ], ], [ 'name' => 'TargetDeviceName', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'List of device names for targeted upgrades.'."\n" ."\n" .'> - When initiating a targeted upgrade job (`TargetSelection=SPECIFIC`), you must specify either this parameter or **DnListFileUrl**, but not both.'."\n" .'- When using a delta update package for a targeted upgrade, the current OTA module version number of each target device must match the source version number (**SrcVersion**) of the delta update package.'."\n" .'- You can call [QueryDeviceDetail](~~69594~~) to check the OTA module version number (**FirmwareVersion**) of a device.'."\n" .'- All devices in the list must belong to the same product as the update package.'."\n" .'- The list must not contain duplicate device names.'."\n" .'- You can specify up to 200 device names.', 'type' => 'array', 'items' => ['type' => 'string', 'required' => false, 'description' => 'The list of device names.'."\n" ."\n" .'> * If you set the TargetSelection parameter to `SPECIFIC`, you must specify this parameter or the **DnListFileUrl** parameter. You cannot specify the two parameters at the same time.'."\n" .'>* If you use a differential update package to perform a specific update, the OTA module version of the device to be updated must be the same as the value of the **SrcVersion** parameter.'."\n" .'>* You can call the [QueryDeviceDetail](~~69594~~) operation and view the **FirmwareVersion** parameter in the response.'."\n" .'>* The devices in the list must belong to the same product as the update package.'."\n" .'>* The device names must be unique in the list.'."\n" .'>* The list can contain up to 200 device names.', 'title' => '', 'example' => ''], 'required' => false, 'example' => 'deviceName1', 'maxItems' => 200, 'title' => '', ], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'A list of tags.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The key of the update batch tag. The key must be 1 to 30 characters in length and can contain letters, digits, and periods (.). You can add up to 10 tags for each update batch.'."\n" ."\n" .'The tags of an update batch are sent to devices when IoT Platform pushes update notifications to these devices.'."\n" ."\n" .'> Update batch tags are optional. If you want to specify a tag, you must specify the Tag.N.Value and Tag.N.Key parameters in pair.'."\n", 'type' => 'string', 'required' => true, 'example' => 'key1', 'title' => ''], 'Value' => ['description' => 'The value of the update batch tag. The value must be 1 to 1,024 characters in length. You can add up to 10 tags for each update batch. The total length of the tag keys and tag values of all update batches cannot exceed 4,096 characters in length.'."\n" ."\n" .'> Update batch tags are optional. If you want to specify a tag, you must specify the Tag.N.Value and Tag.N.Key parameters in pair.'."\n", 'type' => 'string', 'required' => true, 'example' => 'value1', 'title' => ''], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 20, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'MissingFirmwareId', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => 'FirmwareId is mandatory for this action.', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '29EC7245-0FA4-4BB6-B4F5-5F04818FDFB1', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'* **true**: The request was successful.'."\n" .'* **false**: The request failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The update batch information returned if the call is successful. For more information, see Data.'."\n", 'type' => 'object', 'properties' => [ 'JobId' => ['description' => 'The unique identifier of the update batch.'."\n", 'type' => 'string', 'example' => 'wahVIzGkCMuAUE2gDERM02****', 'title' => ''], 'UtcCreate' => ['description' => 'The time when the update batch was created. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2019-11-04T06:22:19.566Z', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"MissingFirmwareId\\",\\n \\"ErrorMessage\\": \\"FirmwareId is mandatory for this action.\\",\\n \\"RequestId\\": \\"29EC7245-0FA4-4BB6-B4F5-5F04818FDFB1\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"JobId\\": \\"wahVIzGkCMuAUE2gDERM02****\\",\\n \\"UtcCreate\\": \\"2019-11-04T06:22:19.566Z\\"\\n }\\n}","type":"json"}]', 'title' => 'CreateOTAStaticUpgradeJob', 'summary' => 'Invoke this API to create a static over-the-air update job.'."\n", 'description' => '## How-To'."\n" ."\n" .'- If you do not specify "The firmware package can bypass verification" when calling the [CreateOTAFirmware](~~147311~~) API to create an upgrade package, you must ensure that the upgrade package has passed verification before calling this API to create a batch upgrade job. For information about how to create a verification job for an upgrade package, see [CreateOTAVerifyJob](~~147480~~).'."\n" .'- In a single API call for targeted upgrades:'."\n" .' - If you directly specify device names, you can initiate an upgrade job for up to 200 devices.'."\n" .' - If you use a file containing the list of devices to be upgraded, you can initiate an upgrade job for up to 10,000 devices. Before doing so, you must call [GenerateDeviceNameListURL](~~186062~~) to generate a file URL and upload the device list file as instructed.'."\n" .'- When initiating an upgrade job for multiple devices, if a device is already running the target version, that device is filtered out and the upgrade job continues for the remaining devices.'."\n" .'- A single device can be included in only one upgrade job at a time in either the pending or upgrading state. If you initiate a new upgrade job for a device that is already in the pending or upgrading state, the new job fails immediately.'."\n" .'- You can initiate multiple static upgrade jobs simultaneously for the same upgrade package.'."\n" .'- In the Japan (Tokyo) and US (Virginia) regions, creating static group-based upgrade jobs is not supported. That is, the **TargetSelection** parameter does not support the value **GROUP**.'."\n" .'- Currently, downloading upgrade packages using the Message Queuing Telemetry Transport (MQTT) protocol is supported only in the China (Shanghai), China (Beijing), and China (Shenzhen) regions.'."\n" ."\n" .'## Queries per second (QPS) limit'."\n" ."\n" .'A single Alibaba Cloud account can send a maximum of 20 requests per second (QPS) to call this API. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters documentation](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateOTAStaticUpgradeJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateOTAStaticUpgradeJob'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'CreateOTAVerifyJob' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the ID of an instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.****'."\n" .'>* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'FirmwareId', 'in' => 'query', 'schema' => ['description' => 'The ID of the update package.'."\n" ."\n" .'The **FirmwareId** parameter is returned when you call the [CreateOTAFirmware](~~147311~~) operation to create an OTA update package.'."\n" ."\n" .'You can also call the [ListOTAFirmware](~~147450~~) operation to obtain the ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'nx3xxVvFdwvn6dim50PY03****', 'title' => ''], ], [ 'name' => 'TimeoutInMinutes', 'in' => 'query', 'schema' => ['description' => 'The timeout period for a device to update the firmware. Unit: minutes. Valid values: 1 to 1440.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1440', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the OTA update package belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1VJwBw****', 'title' => ''], ], [ 'name' => 'NeedPush', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to automatically push update tasks from IoT Platform to devices.'."\n" ."\n" .'* **true** (default): yes. After an update batch is created, IoT Platform automatically pushes update tasks to the specified online devices.'."\n" ."\n" .' In this case, a device can still initiate a request to obtain the information about the over-the-air (OTA) update task from IoT Platform.'."\n" ."\n" .'* **false**: no. A device must initiate a request to obtain the information about the OTA update task from IoT Platform.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'NeedConfirm', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to control the update by using a mobile app. You must develop the mobile app as needed.'."\n" ."\n" .'* **false** (default): no. A device obtains the information about the OTA update task based on the **NeedPush** parameter.'."\n" .'* **true**: yes To perform an OTA update on a device, you must confirm the update by using your mobile app. Then, the device can obtain the information about the OTA update task based on the **NeedPush** parameter.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'DownloadProtocol', 'in' => 'query', 'schema' => ['description' => 'The download protocol of the update package. Valid values: **HTTPS** and **MQTT**. Default value: HTTPS. After the device receives the update package information pushed by IoT Platform, this protocol is used to download the update package.'."\n" ."\n" .'> If you want to download the update package over MQTT, take note of the following items:'."\n" .'>* The following regions are supported: China (Shanghai), China (Beijing), and China (Shenzhen).'."\n" .'>* The OTA update package can contain only one file and the size of the file cannot exceed 16 MB.'."\n" .'>* You must use the latest version of Link SDK for C to develop the device features to perform OTA updates and download files over MQTT. For more information, see [Sample code](~~330985~~).', 'type' => 'string', 'required' => false, 'example' => 'HTTPS', 'title' => ''], ], [ 'name' => 'TargetDeviceName', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The devices to be verified. '."\n" ."\n" .'> - The product to which the devices belong must be the same as the product of the OTA update package. '."\n" .'- Device names must be unique. '."\n" .'- You can specify up to 10 device names. ', 'type' => 'array', 'items' => ['type' => 'string', 'required' => false, 'description' => 'The device that you want to verify.'."\n" ."\n" .'> * The devices must belong to the same product as the update package.'."\n" .'>* Each device name number unique.'."\n" .'>* You can specify a maximum of 10 device names.', 'title' => '', 'example' => ''], 'required' => true, 'example' => 'testdevice', 'maxItems' => 10, 'title' => '', ], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of tags.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The key of the update batch tag. The key must be 1 to 30 characters in length and can contain letters, digits, and periods (.). You can add up to 10 tags for each update batch.'."\n" ."\n" .'The tags of an update batch are sent to devices when IoT Platform pushes update notifications to the devices.'."\n" ."\n" .'> Update batch tags are optional. If you want to specify a tag, you must specify the Tag.N.Value and Tag.N.Key parameters in pair.'."\n", 'type' => 'string', 'required' => true, 'example' => 'key1', 'title' => ''], 'Value' => ['description' => 'The value of the update batch tag. The value must be 1 to 1,024 characters in length. You can add up to 10 tags for each update batch. The total length of the tag keys and tag values of all update batches cannot exceed 4,096 characters.'."\n" ."\n" .'> Update batch tags are optional. If you want to specify a tag, you must specify the Tag.N.Value and Tag.N.Key parameters in pair.'."\n", 'type' => 'string', 'required' => true, 'example' => 'value1', 'title' => ''], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 20, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request. The ID uniquely identifies this request.'."\n", 'type' => 'string', 'example' => '29EC7245-0FA4-4BB6-B4F5-5F04818FDFB1', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The request failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The task information returned if the call is successful. For more information, see the following parameters.'."\n", 'type' => 'object', 'properties' => [ 'JobId' => ['description' => 'The ID of the verification task.'."\n", 'type' => 'string', 'example' => 'wahVIzGkCMuAUE2gDERM02****', 'title' => ''], 'UtcCreate' => ['description' => 'The time when the verification task was created. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2019-11-04T06:22:19.566Z', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"29EC7245-0FA4-4BB6-B4F5-5F04818FDFB1\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"JobId\\": \\"wahVIzGkCMuAUE2gDERM02****\\",\\n \\"UtcCreate\\": \\"2019-11-04T06:22:19.566Z\\"\\n }\\n}","type":"json"}]', 'title' => 'CreateOTAVerifyJob ', 'summary' => 'Invoke this API to create an over-the-air (OTA) update package verification job. ', 'description' => '## How-To '."\n" ."\n" .'- You must verify the OTA update package before pushing it to devices for batch upgrades. Only verified OTA update packages can be used for batch device upgrades. You can call [QueryOTAFirmware](~~147461~~) to view the verification status of an OTA update package. '."\n" .'- You cannot initiate a new verification job for an OTA update package that is currently being verified or has already been successfully verified. '."\n" .'- You can specify up to 10 devices for OTA update package verification. '."\n" ."\n" .'## QPS Limit '."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 10. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. '."\n", 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateOTAVerifyJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateOTAVerifyJob'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'CreateParser' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of your current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify it; otherwise, the invocation fails.'."\n" .'- If there is no **Instance Overview** page or ID, you do not need to specify this parameter.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-n8t***', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the Resolver. It can contain Chinese characters, English letters, Japanese characters, digits, underscores (_), and hyphens (-). The length must be 1 to 30 characters. Each Chinese or Japanese character occupies 2 characters.', 'type' => 'string', 'required' => true, 'example' => 'DataParser', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the Resolver.', 'type' => 'string', 'required' => false, 'example' => '转发数据。', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [error codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => '291438BA-6E10-4C4C-B761-243B9A0D324F', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'ParserId' => ['description' => 'The ID of the Resolver returned upon successful creation.', 'type' => 'integer', 'format' => 'int64', 'example' => '100*', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ['errorCode' => 'iot.system.IllegalRequest', 'errorMessage' => 'The request parameter is invalid.', 'description' => 'The request parameter is invalid.'], ['errorCode' => 'iot.rule.CreateRuleException', 'errorMessage' => 'An exception occurred while creating the rule.', 'description' => 'An exception occurred while creating the rule.'], ['errorCode' => 'iot.rule.InvalidRuleName', 'errorMessage' => 'The rule name is invalid', 'description' => ''], ['errorCode' => 'iot.rule.ConnectorCountExceed', 'errorMessage' => 'The count of parser exceeds the maximum number', 'description' => ''], ['errorCode' => 'iot.rule.ConnectorIsAlreadyExisted', 'errorMessage' => 'The parser name already exists.', 'description' => 'The parser name already exists.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"291438BA-6E10-4C4C-B761-243B9A0D324F\\",\\n \\"Success\\": true,\\n \\"ParserId\\": 0\\n}","type":"json"}]', 'title' => 'CreateParser', 'summary' => 'Invoke this API to create a Resolver.', 'description' => '## Queries per second (QPS) limit'."\n" ."\n" .'The maximum queries per second (QPS) for this API under a single Alibaba Cloud account is 10.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling the API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters document](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateParser', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateParser'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'CreateParserDataSource' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of your current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify it. Otherwise, the invocation fails.'."\n" .'- If the **Instance Overview** page or the ID does not exist, you do not need to specify this parameter.'."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot-w2****', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'Datasource Name. It can contain Chinese characters, English letters, Japanese characters, digits, underscores (_), and hyphens (-). The length must be 1 to 30 characters. Each Chinese or Japanese character occupies 2 characters. ', 'type' => 'string', 'required' => true, 'example' => 'DataSource', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the data source.'."\n", 'type' => 'string', 'required' => false, 'example' => '设备数据。', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.'."\n", 'type' => 'string', 'example' => '291438BA-6E10-4C4C-B761-243B9A0D324F', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: The invocation failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'DataSource' => [ 'description' => 'The data source information returned after the data source is successfully created.'."\n", 'type' => 'object', 'properties' => [ 'UtcCreated' => ['description' => 'The UTC time when the data source was created. The format is `yyyy-MM-dd\'T\'HH:mm:ss.SSS\'Z\'`.'."\n", 'type' => 'string', 'example' => '2022-03-27T12:45:43.000Z', 'title' => ''], 'Name' => ['description' => 'The Datasource Name.'."\n", 'type' => 'string', 'example' => 'DataSource', 'title' => ''], 'Description' => ['description' => 'The description of the data source.'."\n", 'type' => 'string', 'example' => '设备数据。', 'title' => ''], 'DataSourceId' => ['description' => 'The DataSource ID.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1001', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ['errorCode' => 'iot.system.IllegalRequest', 'errorMessage' => 'The request parameter is invalid.', 'description' => 'The request parameter is invalid.'], ['errorCode' => 'iot.rule.CreateRuleException', 'errorMessage' => 'An exception occurred while creating the rule.', 'description' => 'An exception occurred while creating the rule.'], ['errorCode' => 'iot.rule.DataSourceCountExceed', 'errorMessage' => 'The count of data source exceeds the maximum number', 'description' => ''], ['errorCode' => 'iot.rule.DataSourceExists', 'errorMessage' => 'Same datasource is existed', 'description' => ''], ['errorCode' => 'iot.rule.InvalidDataSourceName', 'errorMessage' => 'The data source name is invalid', 'description' => ''], ['errorCode' => 'iot.common.TooManyRequest', 'errorMessage' => 'Request frequency is too high', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"291438BA-6E10-4C4C-B761-243B9A0D324F\\",\\n \\"Success\\": true,\\n \\"DataSource\\": {\\n \\"UtcCreated\\": \\"2022-03-27T12:45:43.000Z\\",\\n \\"Name\\": \\"DataSource\\",\\n \\"Description\\": \\"设备数据。\\",\\n \\"DataSourceId\\": 1001\\n }\\n}","type":"json"}]', 'title' => 'CreateParserDataSource'."\n", 'summary' => 'Invoke this API to create a data source for data forwarding.'."\n", 'description' => '## QPS limit'."\n" ."\n" .'The maximum queries per second (QPS) for this API is 10 per Alibaba Cloud account. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters documentation](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateParserDataSource', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateParserDataSource'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'CreateProduct' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n\n" .'**Important**'."\n" ."\n" .'* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n" .'* If no **Overview** page or ID is generated for your instance, you do not need to configure this parameter.'."\n" ."\n" .'For more information about the instance, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-***-v64***', 'title' => ''], ], [ 'name' => 'ProductName', 'in' => 'query', 'schema' => ['description' => 'The name of the product.'."\n" ."\n" .'The name must be 4 to 30 characters in length, and can contain letters, digits, and underscores (\\_).'."\n" ."\n\n" .'**Important** Each product name must be unique within the current instance.', 'type' => 'string', 'required' => true, 'example' => 'Light', 'title' => ''], ], [ 'name' => 'NodeType', 'in' => 'query', 'schema' => ['description' => 'The node type of the product. Valid values:'."\n" ."\n" .'* **0**: device. Sub-devices cannot be attached to a device. A device can be directly connected to IoT Platform or connected to IoT Platform as a sub-device of a gateway. If you use the device as a sub-device, you must also configure the **ProtocolType** parameter.'."\n" .'* **1**: gateway. Sub-devices can be attached to a gateway. A gateway can manage sub-devices, maintain topological relationships with sub-devices, and synchronize topological relationships to IoT Platform.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '0', 'title' => ''], ], [ 'name' => 'DataFormat', 'in' => 'query', 'schema' => ['description' => 'The data format.'."\n" ."\n" .'If the **AliyunCommodityCode** parameter is set to **iothub_senior**, you must configure this parameter.'."\n" ."\n" .'Valid values:'."\n" ."\n" .'* **0**: custom data format.'."\n" .'* **1**: Alink JSON format.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the product. The description can be up to 100 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Product test', 'title' => ''], ], [ 'name' => 'AliyunCommodityCode', 'in' => 'query', 'schema' => ['description' => 'The edition of the product.'."\n" ."\n" .'* If you do not configure this parameter, a product of the Basic Edition is automatically created. You cannot use a TSL model to define the product.'."\n" .'* If you want to configure this parameter, set the value to **iothub_senior**. A product that supports TSL models is created. You must also configure the **DataFormat** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iothub_senior', 'title' => ''], ], [ 'name' => 'Id2', 'in' => 'query', 'schema' => ['description' => 'You do not need to configure this parameter.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ProtocolType', 'in' => 'query', 'schema' => ['description' => 'The protocol used by the devices of the product to connect to the gateway.'."\n" ."\n" .'If the **AliyunCommodityCode** parameter is set to **iothub_senior** and a gateway is required to connect the devices of the product to IoT Platform, you must configure this parameter.'."\n" ."\n" .'Valid values:'."\n" ."\n" .'* **modbus**: Modbus.'."\n" .'* **opc-ua**: Open Platform Communication Unified Architecture (OPC UA).'."\n" .'* **customize**: custom protocol.'."\n" .'* **ble**: Bluetooth Low Energy (BLE).'."\n" .'* **zigbee**: ZigBee.'."\n", 'type' => 'string', 'required' => false, 'example' => 'modbus', 'title' => ''], ], [ 'name' => 'NetType', 'in' => 'query', 'schema' => ['description' => 'The network connection method.'."\n" ."\n" .'If the **AliyunCommodityCode** parameter is set to **iothub_senior** and the devices of the product are directly connected devices or gateways, you must configure this parameter.'."\n" ."\n" .'Valid values:'."\n" ."\n" .'* **WIFI**: Wi-Fi.'."\n" .'* **CELLULAR**: cellular network.'."\n" .'* **ETHERNET**: Ethernet.'."\n" .'* **OTHER**: other networks.'."\n" ."\n" .'Default value: WIFI.'."\n", 'type' => 'string', 'required' => false, 'example' => 'WIFI', 'title' => ''], ], [ 'name' => 'JoinPermissionId', 'in' => 'query', 'schema' => ['description' => 'You do not need to configure this parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => '8***', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the product belongs. If you specify a value for this parameter, the product is added to the resource group.'."\n" ."\n" .'You can log on to the [Resource Management console](https://resourcemanager.console.aliyun.com/resource-groups) to view the ID of the resource group.'."\n" ."\n\n" .'**Important**'."\n" ."\n" .'You can specify a value for this parameter only if you have activated Resource Management.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4ph***', 'title' => ''], ], [ 'name' => 'AuthType', 'in' => 'query', 'schema' => ['description' => 'The verification method that is used to connect the devices of the product to IoT Platform.'."\n" ."\n" .'You do not need to configure this parameter. **secret**: uses DeviceSecrets to verify the devices. Default value: secret. For more information, see [MQTT connections over TCP](~~73742~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'secret', 'title' => ''], ], [ 'name' => 'CategoryKey', 'in' => 'query', 'schema' => ['description' => 'The identifier of the product category. If you configure this parameter, a TSL model of the product category is used. Otherwise, no TSL model is used.'."\n" ."\n" .'You can call the [ListThingTemplates](~~150316~~) operation to query the details of product categories that are predefined by IoT Platform and obtain category keys.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Lighting', 'title' => ''], ], [ 'name' => 'PublishAuto', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to publish the TSL model after the product is created.'."\n" ."\n" .'* **true**: publishes the TSL model after the product is created.'."\n" .'* **false**: does not publish the TSL model after the product is created.'."\n" ."\n" .'Default value: **true**.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ValidateType', 'in' => 'query', 'schema' => ['description' => 'The level of data verification. If you do not configure this parameter, the default value is used. Valid values:'."\n" ."\n" .'* **1**: weak verification. Default value: 1. IoT Platform verifies only the identifier and dataType fields of the data. All data is forwarded.'."\n" ."\n" .' In the IoT Platform console, the data is displayed on the **TSL Data** tab of the **Device Details** page. The data that fails to be verified is not displayed.'."\n" ."\n" .' You can view the data that failed to be verified in the **checkFailedData** parameter of the forwarded data. For more information, see [Data formats](~~73736~~).'."\n" ."\n" .'* **2**: no verification. IoT Platform does not verify the data. All data is forwarded.'."\n" ."\n" .' In the IoT Platform console, the data is not displayed on the **TSL Data** tab of the **Device Details** page.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => '200', 'title' => ''], 'ProductKey' => ['description' => 'The ProductKey of the product. A ProductKey is a GUID that is issued by IoT Platform to a product.'."\n", 'type' => 'string', 'example' => 'a1FlqIQ****', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The product information returned if the call is successful.'."\n", 'type' => 'object', 'properties' => [ 'AuthType' => ['description' => 'The authentication method that is used to connect the devices of the product to IoT Platform. Valid values:'."\n" ."\n" .'* **secret**: uses DeviceSecrets to verify the devices.'."\n" .'* **id2**: uses IoT Internet Device ID to verify the devices.'."\n" .'* **x509**: uses X.509 certificates to verify the devices.'."\n", 'type' => 'string', 'example' => 'secret', 'title' => ''], 'ProductKey' => ['description' => 'The ProductKey of the product. A ProductKey is a globally unique identifier (GUID) issued by IoT Platform to a new product.'."\n" ."\n" .'> Secure the **ProductKey** of the product. The ProductKey is required when you perform specific operations.'."\n", 'type' => 'string', 'example' => 'a1FlqIQ****', 'title' => ''], 'ProductName' => ['description' => 'The name of the product.'."\n", 'type' => 'string', 'example' => 'Test', 'title' => ''], 'NodeType' => ['description' => 'The node type of the product. Valid values:'."\n" ."\n" .'* **0**: device. Sub-devices cannot be attached to a device. A device can be directly connected to IoT Platform or connected to IoT Platform as a sub-device of a gateway.'."\n" .'* **1**: gateway. Sub-devices can be attached to a gateway. A gateway can manage sub-devices, maintain topological relationships with sub-devices, and synchronize topological relationships to IoT Platform.'."\n" ."\n" .'> This parameter is available only if the AliyunCommodityCode parameter is set to iothub_senior.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'Description' => ['description' => 'The description of the product.'."\n", 'type' => 'string', 'example' => 'Product test', 'title' => ''], 'Id2' => ['description' => 'Indicates whether IoT Internet Device ID was enabled.'."\n" ."\n" .'* **true**: IoT Internet Device ID was enabled.'."\n" .'* **false**: IoT Internet Device ID was disabled.'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], 'ProductSecret' => ['description' => 'The ProductSecret of the product.'."\n", 'type' => 'string', 'example' => 'U5tW7i44uilc****', 'title' => ''], 'ProtocolType' => ['description' => 'The protocol used by the devices of the product to connect to the gateway.'."\n" ."\n" .'> This parameter is available only if the AliyunCommodityCode parameter is set to iothub_senior.'."\n", 'type' => 'string', 'example' => 'modbus', 'title' => ''], 'DataFormat' => ['description' => 'The data format.'."\n" ."\n" .'* **0**: custom data format.'."\n" .'* **1**: Alink JSON format.'."\n" ."\n" .'> This parameter is returned only if the AliyunCommodityCode parameter is set to iothub_senior.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'AliyunCommodityCode' => ['description' => 'The type of the product.'."\n" ."\n" .'* **iothub_senior**: A TSL model was used.'."\n" .'* **iothub**: No TSL model was used.'."\n", 'type' => 'string', 'example' => 'iothub_senior', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"ProductKey\\": \\"a1FlqIQ****\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"AuthType\\": \\"secret\\",\\n \\"ProductKey\\": \\"a1FlqIQ****\\",\\n \\"ProductName\\": \\"Test\\",\\n \\"NodeType\\": 0,\\n \\"Description\\": \\"Product test\\",\\n \\"Id2\\": false,\\n \\"ProductSecret\\": \\"U5tW7i44uilc****\\",\\n \\"ProtocolType\\": \\"modbus\\",\\n \\"DataFormat\\": 1,\\n \\"AliyunCommodityCode\\": \\"iothub_senior\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n\\n \\n Product test\\n 1\\n modbus\\n a1FlqIQ****\\n U5tW7i44uilc****\\n 0\\n Test\\n iothub_senior\\n secret\\n rg-acfmxazb4ph****\\n \\n a1FlqIQ****\\n E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\n true\\n","errorExample":""}]', 'title' => 'CreateProduct', 'summary' => 'Creates a product.', 'description' => 'If a Thing Specification Language (TSL) model is required to create a product, you must set the **AliyunCommodityCode** parameter to iothub_senior and configure the **DataFormat** parameter.******** For more information, see the "**Request parameters**" section of this topic.'."\n" ."\n" .'## QPS limits'."\n" ."\n" .'Each Alibaba Cloud account can run up to 50 queries per second (QPS). '."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateProduct', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'CreateProductDistributeJob' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'SourceInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the source instance to which the product belongs.'."\n" ."\n" .'* The IDs of public instances in different regions:'."\n" ."\n" .' * China (Shanghai): iotx-oxssharez200.'."\n" .' * Japan (Tokyo): iotx-oxssharez300.'."\n" .' * Singapore (Singapore): iotx-oxssharez400.'."\n" .' * US (Silicon Valley): iotx-oxssharez500.'."\n" .' * US (Virginia): iotx-oxssharez600.'."\n" .' * Germany (Frankfurt): iotx-oxssharez700.'."\n" ."\n" .'* The IDs of Enterprise Edition instances:'."\n" ."\n" .' 1\\. Log on to the IoT Platform console. Select a region from the drop-down list in the upper-left corner of the top navigation bar.'."\n" ."\n" .' 2\\. On the **Overview** page, click the instance name. On the **Instance Details** page, view the instance ID in the **Basic Information** section.'."\n", 'type' => 'string', 'required' => true, 'example' => 'iot-cn-st2***', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to be published.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'TargetInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the destination instance to which the product is distributed. For more information about instance IDs, see the description of the **SourceInstanceId** parameter.'."\n", 'type' => 'string', 'required' => true, 'example' => 'iot-cn-6ja***', 'title' => ''], ], [ 'name' => 'TargetUid', 'in' => 'query', 'schema' => ['description' => 'The ID of the Alibaba Cloud account to which the product belongs. You can log on to the IoT Platform console, click the profile picture, and then view **Account ID** on the **Security Settings** page.'."\n" ."\n" .'The **TargetUid** and **TargetAliyunId** parameters cannot be left empty at the same time.'."\n", 'type' => 'string', 'required' => false, 'example' => '198***', 'title' => ''], ], [ 'name' => 'TargetAliyunId', 'in' => 'query', 'schema' => ['description' => 'The Alibaba Cloud account to which the product belongs. You can log on to the IoT Platform console, click the profile picture, and then view **Logon Account** on the **Security Settings** page.'."\n" ."\n" .'The **TargetUid** and **TargetAliyunId** parameters cannot be left empty at the same time.'."\n", 'type' => 'string', 'required' => false, 'example' => ' io****@example.com', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'JobId' => ['description' => 'The task ID returned if the call is successful. The ID globally identifies the task.'."\n", 'type' => 'string', 'example' => 'UbmsMHmkqv0PiAG****010001', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"JobId\\": \\"UbmsMHmkqv0PiAG****010001\\"\\n}","type":"json"}]', 'title' => 'Create a Product Distribution Job', 'summary' => 'Invoke this API to create a product distribution job to distribute a specified product to a specified target instance.', 'description' => '## How-To'."\n" ."\n" .'- The **Endpoint** for accessing Alibaba Cloud services supports only China (Shanghai), which is `iot.cn-shanghai.aliyuncs.com`.'."\n" ."\n" .'- You cannot use this API to create cross-account distribution jobs.'."\n" ."\n" .'- A product distribution job does not synchronize devices under the product.'."\n" ."\n" .'- After a product is distributed, you cannot modify the Thing Specification Language model or related scripts of the product.'."\n" ."\n" .'- The total number of product distribution and device distribution jobs under a single Alibaba Cloud account cannot exceed 10. For information about how to create a device distribution job, see [CreateDeviceDistributeJob](~~199390~~).'."\n" ."\n" .'- The maximum queries per second (QPS) for invoking this API under a single Alibaba Cloud account is 2.'."\n" ."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When you invoke this API, you must specify both the common request parameters and the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateProductDistributeJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateProductDistributeJob'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'CreateProductTags' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n\n" .'**Important**'."\n" ."\n" .'* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n" .'* If no **Overview** page or ID is generated for your instance, you do not need to configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product. A **ProductKey** is a GUID that is issued by IoT Platform to a product.'."\n" ."\n" .'You can use the IoT Platform console or call the [QueryProductList](~~69271~~) operation to view the information about all products within the current account.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'ProductTag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'List of product tags.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'TagValue' => ['description' => 'The values of the product tags. Each tag value must be 1 to 128 characters in length, and can contain letters, digits, underscores (\\_), and hyphens (-).'."\n", 'type' => 'string', 'required' => false, 'example' => 'TagValue', 'title' => ''], 'TagKey' => ['description' => 'The keys of product tags. Each key must be 1 to 30 characters in length, and can contain letters, digits, and periods (.).'."\n" ."\n\n" .'**Important** `abc` is a **key** that is reserved by IoT Platform. You cannot set a **key** to `abc`. If you set a `key` to abc, the key is automatically filtered when you query tags.', 'type' => 'string', 'required' => false, 'example' => 'room', 'title' => ''], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => true, 'maxItems' => 10, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the request fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful. The tags were attached to the product.'."\n" .'* **false**: The call failed. This value indicates that the tags failed to be attached to the product.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'InvalidProductTags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'ProductTag' => [ 'description' => 'The invalid product tags returned if the call fails.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'TagValue' => ['description' => 'The value of the tag.'."\n", 'type' => 'string', 'example' => '123$', 'title' => ''], 'TagKey' => ['description' => 'The key of the tag.'."\n", 'type' => 'string', 'example' => 'room', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"InvalidProductTags\\": {\\n \\"ProductTag\\": [\\n {\\n \\"TagValue\\": \\"123$\\",\\n \\"TagKey\\": \\"room\\"\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'CreateProductTags', 'summary' => 'Invoke this API to create tags for a specified product. ', 'description' => '## How-To'."\n" ."\n" .'- You can create up to 10 tags for a specified product in a single API call.'."\n" ."\n" .'- The total number of tags for a single product cannot exceed 100.'."\n" ."\n" .'## QPS Limit'."\n" .'The maximum queries per second (QPS) for this API is 500 per Alibaba Cloud account.'."\n" ."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateProductTags', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateProductTags'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'CreateProductTopic' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product for which you want to create a topic category.'."\n", 'type' => 'string', 'required' => true, 'example' => 'aldDEin****', 'title' => ''], ], [ 'name' => 'TopicShortName', 'in' => 'query', 'schema' => ['description' => 'The name of the user-defined category level that you want to set. By default, a topic category includes the following levels: \\_productkey\\_ and \\_devicename\\_. Separate the two levels with slashes (/). Format of a topic category: `productKey/deviceName/topicShortName` .'."\n" ."\n" .'> Each level can contain letters, digits, and underscores (\\_), and cannot be empty.'."\n", 'type' => 'string', 'required' => true, 'example' => 'submit', 'title' => ''], ], [ 'name' => 'Operation', 'in' => 'query', 'schema' => ['description' => 'The operation permissions of the device on the topic category. Valid values:'."\n" ."\n" .'* **SUB**: Subscribe.'."\n" .'* **PUB**: Publish.'."\n" .'* **ALL**: Publish and Subscribe.'."\n", 'type' => 'string', 'required' => true, 'example' => 'PUB', 'title' => ''], ], [ 'name' => 'Desc', 'in' => 'query', 'schema' => ['description' => 'The description of the topic category. The description must be 1 to 100 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => 'submit a test topic', 'title' => ''], ], [ 'name' => 'EnableProxySubscribe', 'in' => 'query', 'schema' => ['description' => 'Enable proxy subscription when **Operation** is **SUB** (subscribe) or **ALL** (publish and subscribe). '."\n" .'Valid values:'."\n" ."\n" .'- **true**: Enabled.'."\n" .'- **false**: Disabled.'."\n" ."\n" .'After proxy subscription is enabled, when a device establishes a connection with the IoT Platform, the IoT Platform queries all topics with proxy subscription enabled and helps the device complete the subscription.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'Codec', 'in' => 'query', 'schema' => ['description' => 'For Enterprise instances, you can enable data compression or decompression for custom topics.'."\n" .'Valid values:'."\n" ."\n" .'- **compress**: Compress.'."\n" .'- **decompress**: Decompress.'."\n" ."\n" .'For more information about data compression, see [Data Compression](~~477405~~).'."\n" ."\n" .'>When **TopicShortName** contains wildcard characters (`+` or `#`), you cannot specify **Codec** at the same time. If you attempt to create a wildcard topic category while enabling data compression or decompression, the API call will fail.'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => 'compress', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'TopicId' => ['description' => 'The ID of the topic category. The ID is generated by IoT Platform if the call is successful.'."\n" ."\n" .'> Secure the information for future reference. When you call an operation that is related to the topic category, you must provide this parameter.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '10000', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'FCC27691-9151-4B93-9622-9C90F30542EC', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"TopicId\\": 10000,\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"FCC27691-9151-4B93-9622-9C90F30542EC\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Create a custom topic category for a specified product', 'summary' => 'Invoke this API to create a custom topic category for a specified product.', 'description' => '## QPS limit'."\n" .'The maximum queries per second (QPS) for this API is 1 per Alibaba Cloud account.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateProductTopic', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateProductTopic'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'CreateRule' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. On the **Overview** page in the IoT Platform console, you can view the **ID** of the instance.'."\n" ."\n" .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n" .'>* If the **Overview** page or instance ID is not displayed in the IoT Platform console, you do not need to configure this parameter.'."\n" ."\n" .'For more information about the instance, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'Select', 'in' => 'query', 'schema' => ['description' => 'The SQL SELECT statement that you want to execute. For more information about the syntax, see [SQL statements](~~30554~~).'."\n" ."\n" .'> This parameter specifies the fields in SELECT statements. For example, if the SELECT statement is `SELECT a,b,c`, specify `a,b,c` for this parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'deviceName() as deviceName, items.Humidity.value as Humidity, items.Temperature.value as Temperature', 'title' => ''], ], [ 'name' => 'ShortTopic', 'in' => 'query', 'schema' => ['description' => 'The topic to which this rule is applied. Format: `${deviceName}/topicShortName`. `${deviceName}` specifies the name of the device, and `topicShortName` specifies the custom name of the topic.'."\n" ."\n" .'* Basic communication topics or Thing Specification Language (TSL)-based communication topics. Format: `${deviceName}/topicShortName`. You can replace `${deviceName}` with the `+` wildcard character. The wildcard character indicates that the topic applies to all devices under the product. Valid values of `topicShortName`:'."\n" ."\n" .' * `/thing/event/property/post`: submits the property data of a device.'."\n" ."\n" .' * `/thing/event/${tsl.event.identifier}/post`: submits the event data of a device. `${tsl.event.identifier}` specifies the identifier of an event in the TSL model.'."\n" ."\n" .' * `/thing/lifecycle`: submits device lifecycle changes.'."\n" ."\n" .' * `/thing/downlink/reply/message`: sends a response to a request from IoT Platform.'."\n" ."\n" .' * `/thing/list/found`: submits the data when a gateway detects a new sub-device.'."\n" ."\n" .' * `/thing/topo/lifecycle`: submits device topology changes.'."\n" ."\n" .' * `/thing/event/property/history/post`: submits the historical property data of a device.'."\n" ."\n" .' * `/thing/event/${tsl.event.identifier}/post`: submits the historical event data of a device. `${tsl.event.identifier}` specifies the identifier of an event in the TSL model.'."\n" ."\n" .' * `/ota/upgrade`: submits the OTA update status.'."\n" ."\n" .' * `/ota/version/post`: submits OTA module versions.'."\n" ."\n" .' * `/thing/deviceinfo/update`: submits device tag changes.'."\n" ."\n" .' * `/edge/driver/${driver_id}/point_post`: submits pass-through data from Link IoT Edge. `${driver_id}` specifies the ID of the driver that a device uses to access Link IoT Edge.'."\n" ."\n" .' The `${packageId}/${jobId}/ota/job/status` topic submits the status of OTA update batches. This topic is a basic communication topic. `${packageId}` specifies the ID of the update package. `${jobId}` specifies the ID of the update batch.'."\n" ."\n" .'* Custom topics. Example: `${deviceName}/user/get`.'."\n" ."\n" .' You can call the [QueryProductTopic](~~69647~~) operation to view all custom topics of the product.'."\n" ."\n" .' When you specify a custom topic, you can use the `+` and `#` wildcard characters.'."\n" ."\n" .' * You can replace `${deviceName}` with the `+` wildcard character. The wildcard character specifies that the topic applies to all devices in the product.'."\n" ."\n" .' * You can add `/user/#` after ${deviceName}. The `#` wildcard character can match all field values at the levels that follow `/user`.'."\n" ."\n" .' For more information about how to use wildcard characters, see [Custom topics with one or more wildcard characters](~~85539~~).'."\n" ."\n" .'* Topics that are used to submit device status changes. The topic name is in the `${deviceName}` format.'."\n" ."\n" .' You can use the `+` wildcard character. In this case, the status changes of all devices under the product are submitted.'."\n", 'type' => 'string', 'required' => false, 'example' => '+/thing/event/property/post', 'title' => ''], ], [ 'name' => 'Where', 'in' => 'query', 'schema' => ['description' => 'The condition that is used to trigger the rule. For more information about the rule, see [SQL statements](~~30554~~).'."\n" ."\n" .'> This parameter specifies the fields in the **WHERE** clause. For example, if the **WHERE** clause is `WHERE a > 10`, you must specify `a > 10` for this parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Temperature>35', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the rule applies.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1T27vz****', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the data forwarding rule. The rule name must be 1 to 30 characters in length, and can contain letters, digits, underscores (\\_), and hyphens (-).'."\n", 'type' => 'string', 'required' => true, 'example' => 'iot_test1', 'title' => ''], ], [ 'name' => 'RuleDesc', 'in' => 'query', 'schema' => ['description' => 'The description of the rule. The description can be up to 100 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rule test', 'title' => ''], ], [ 'name' => 'DataType', 'in' => 'query', 'schema' => ['description' => 'The format of the data that is processed based on the rule. The value of this parameter must be consistent with the format of device data that you want to process. Valid values:'."\n" ."\n" .'* **JSON**: JSON data. This is the default value.'."\n" .'* **BINARY**: binary data.'."\n" ."\n" .'> If this parameter is set to **BINARY**, you cannot set the **TopicType** parameter to 0 and cannot forward data to Tablestore and ApsaraDB RDS.'."\n", 'type' => 'string', 'required' => false, 'example' => 'JSON', 'title' => ''], ], [ 'name' => 'TopicType', 'in' => 'query', 'schema' => ['description' => '* **0**: The topic is a basic communication topic or TSL-based communication topic. The topic that is used to submit the status of OTA update batches belongs to the basic communication topics.****'."\n" .'* **1**: a custom topic.'."\n" .'* **2**: The topic is used to submit device status changes. Format: `/as/mqtt/status/${productKey}/${deviceName}`.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the rule is assigned. You can view the resource group information in the [Resource Management console](https://resourcemanager.console.aliyun.com/resource-groups).'."\n" ."\n" .'>You can specify a value for this parameter only if you have activated Resource Management.'."\n" ."\n" .'If you do not specify this parameter, the rule is assigned to the default resource group.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4ph****', 'title' => ''], ], [ 'name' => 'Topic', 'in' => 'query', 'schema' => ['description' => 'The complete topic to which the rule applies.'."\n" ."\n" .'If you specify this parameter, you do not need to specify the **ShortTopic** and **TopicType** parameters.'."\n", 'type' => 'string', 'required' => false, 'example' => '/sys/g18l***/device1/thing/event/property/post', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request. The ID uniquely identifies this request.'."\n", 'type' => 'string', 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'RuleId' => ['description' => 'The ID of the rule. If the call succeeds, the rule ID is generated by the rules engine.'."\n" ."\n" .'> Keep the information safe for future reference. You must provide the rule ID when you want to call rule-related operations.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '100000', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true,\\n \\"RuleId\\": 100000\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n E4C0FF92-2A86-41DB-92D3-73B60310D25E\\r\\n 100000\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'CreateRule', 'summary' => 'Creates a data forwarding rule for a specified topic.', 'description' => 'When you call this operation, you must specify the **ProductKey** parameter in the request.'."\n" ."\n" .'## QPS limits'."\n" ."\n" .'Each Alibaba Cloud account can run up to 50 queries per second (QPS). '."\n" ."\n" .'> The Resource Access Management (RAM) users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n" ."\n" .'> To enable a rule, you must specify the ProductKey, ShortTopic, and Select parameters.'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateRule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'CreateRuleAction' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'RuleId', 'in' => 'query', 'schema' => ['description' => 'The ID of the rule for which you want to create an action. You can log on to the IoT Platform console, and choose **Rules** > **Data Forwarding** to view the rule ID. You can also call the [ListRule](~~69486~~) operation and view the rule ID in the response.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '100000', 'title' => ''], ], [ 'name' => 'Type', 'in' => 'query', 'schema' => ['description' => 'The type of the rule action. Valid values:'."\n" ."\n" .'* **REPUBLISH**: forwards topic data that is processed by the rules engine to another IoT Platform topic.'."\n" .'* **AMQP**: forwards data to an AMQP consumer group.'."\n" .'* **MNS**: forwards data that is processed by the rules engine to Message Service (MNS).'."\n" .'* **FC**: forwards topic data that is processed by the rules engine to Function Compute for event computing.'."\n" .'* **OTS**: forwards data that is processed by the rules engine to OTS for NoSQL data storage.'."\n" ."\n" .'> If you set the **DataType** parameter to **BINARY**, rules are created in the binary format. These rules cannot be used to forward data to Tablestore.'."\n", 'type' => 'string', 'required' => true, 'example' => 'REPUBLISH', 'title' => ''], ], [ 'name' => 'Configuration', 'in' => 'query', 'schema' => ['description' => 'The configurations of the rule action. You must specify a JSON string. The configurations vary based on the types of rule actions. For more information about required syntax and examples, see the following tables.'."\n", 'type' => 'string', 'required' => true, 'example' => '{"topic":"/a1POX0c****/device1/user/get","topicType":1}', 'title' => ''], ], [ 'name' => 'ErrorActionFlag', 'in' => 'query', 'schema' => ['description' => 'Specifies whether the rule action forwards error operation data. Error operation data is generated when the rules engine failed to forward data from the IoT Platform topic to the destination cloud service. A data forwarding failure indicates that forwarding retries also fail. Valid values:'."\n" ."\n" .'* **true**: forwards error operation data.'."\n" .'* **false**: forwards normal data instead of error operation data.'."\n" ."\n" .'Default value: **false**.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ActionId' => ['description' => 'The ID of the action. The action ID is generated by the rules engine if the call is successful.'."\n" ."\n" .'> Secure the information for future reference. When you call an operation that is related to the rule action, you must provide the action ID.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '10003', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '21D327AF-A7DE-4E59-B5D1-ACAC8C024555', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ActionId\\": 10003,\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"21D327AF-A7DE-4E59-B5D1-ACAC8C024555\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n 21D327AF-A7DE-4E59-B5D1-ACAC8C024555\\r\\n 10003\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'CreateRuleAction', 'summary' => 'Creates a rule action for a specified rule to forward processed data from a topic to another topic or a supported Alibaba Cloud service.', 'description' => '## Limits'."\n" ."\n" .'* Destination Alibaba Cloud services that are supported by the rules engine vary based on regions. For more information about the regions and destination cloud services that are supported by the rules engine, see [Regions and zones](~~85669~~).'."\n" ."\n" .'* You can create a maximum of 10 rule actions for each rule.'."\n" ."\n" .'* You can call this API operation to define rule actions to forward data to an IoT Platform topic, AMQP consumer group, or Alibaba Cloud service. The supported Alibaba Cloud services include Message Service (MNS), Function Compute, and Tablestore. If you need to forward data to ApsaraDB RDS, you must use the [IoT Platform console](https://iot.console.aliyun.com).'."\n" ."\n" .'* Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => '**The configurations of the REPUBLISH type**| Parameter | Description |'."\n" .'| --------- | ----------- |'."\n" .'| topic | The destination topic. You can specify a Thing Specification Language (TSL) communication topic or a custom topic. You can forward data to the following downstream TSL communication topics: '."\n" ."\n" .'`/sys/${YourProductKey}/${YourDeviceName}/thing/service/property/set``/sys/${YourProductKey}/${YourDeviceName}/thing/service/${tsl.service.identifier}`Replace the **${tsl.service.identifier}** variable with a service identifier that is defined in the TSL model. |'."\n" .'| topicType | The type of the topic. Valid values: '."\n" ."\n" .'0: a downstream TSL communication topic. '."\n" ."\n" .'1: a custom topic. |'."\n" .'Examples****'."\n" ."\n" .'```'."\n" .'A system topic: {"topic":"/sys/a1TXXXXXWSN/xxx_cache001/thing/service/property/set","topicType":0}'."\n" .'A custom topic: {"topic":"/a1TXXXXXWSN/xxx_cache001/user/update","topicType":1}'."\n" .'```'."\n" .'**The configurations of the DATAHUB type**| Parameter | Description |'."\n" .'| --------- | ----------- |'."\n" .'| projectName | The name of the DataHub project that is used to receive data. |'."\n" .'| topicName | The name of the DataHub topic that is used to receive data. |'."\n" .'| regionName | The code of the region in which DataHub is deployed. Example: cn-shanghai. |'."\n" .'| role | The information about the RAM role. You can grant IoT Platform the access to DataHub by assigning a service role to IoT Platform. The syntax of a RAM role: '."\n" ."\n" .'`{"roleArn":"acs:ram::6541***:role/aliyuniotaccessingdatahubrole","roleName": "AliyunIOTAccessingDataHubRole"}`Replace `6541***` with your Alibaba Cloud ID. You can log on to the Alibaba Cloud Management Console and view the account ID on the Security Settings page. '."\n" ."\n" .'`AliyunIOTAccessingDataHubRole` indicates a service-linked role that is defined in RAM. This role is used to grant IoT Platform the access to DataHub. You can go to the RAM Roles page of the RAM console to manage RAM roles. |'."\n" .'| schemaVals | The schema of DataHub. For more information, see the following SchemaVals table. |'."\n" .'schemaVals'."\n" ."\n" .'| Parameter | Description |'."\n" .'| --------- | ----------- |'."\n" .'| name | The name of the column. |'."\n" .'| value | The value of the column. |'."\n" .'| type | The data type of the column. Valid values: '."\n" ."\n" .'BIGINT: big integer '."\n" ."\n" .'DOUBLE: double-precision float '."\n" ."\n" .'BOOLEAN: Boolean. '."\n" ."\n" .'TIMESTAMP: timestamp. '."\n" ."\n" .'STRING: string. '."\n" ."\n" .'DECIMAL: decimal. |'."\n" .'Example****'."\n" ."\n" .'```'."\n" .'{'."\n" .' "schemaVals": ['."\n" .' {'."\n" .' "name": "devicename",'."\n" .' "value": "${deviceName}",'."\n" .' "type": "STRING"'."\n" .' },'."\n" .' {'."\n" .' "name": "msgtime",'."\n" .' "value": "${msgTime}",'."\n" .' "type": "TIMESTAMP"'."\n" .' }'."\n" .' ],'."\n" .' "role": {'."\n" .' "roleArn": "acs:ram::6541***:role/aliyuniotaccessingdatahubrole",'."\n" .' "roleName": "AliyunIOTAccessingDataHubRole"'."\n" .' },'."\n" .' "projectName": "iot_datahub_stream",'."\n" .' "topicName": "device_message",'."\n" .' "regionName": "cn-shanghai"'."\n" .'}'."\n" .'```'."\n" .'**The configurations of the OTS type**| Parameter | Description |'."\n" .'| --------- | ----------- |'."\n" .'| instanceName | The name of the Tablestore instance that is used to receive data. |'."\n" .'| tableName | The name of the table that is used to receive data. |'."\n" .'| regionName | The code of the region in which Tablestore is deployed. Example: cn-shanghai. |'."\n" .'| role | The information about the RAM role. You can grant IoT Platform the access to Tablestore by assigning a service role to IoT Platform. The syntax of a RAM role: '."\n" ."\n" .'`{"roleArn":"acs:ram::6541***:role/aliyuniotaccessingotsrole","roleName": "AliyunIOTAccessingOTSRole"}`Replace `6541***` with your Alibaba Cloud ID. You can log on to the Alibaba Cloud Management Console and view the account ID on the Security Settings page. '."\n" ."\n" .'`AliyunIOTAccessingOTSRole` indicates a service-linked role that is defined in RAM. This role is used to grant IoT Platform the access to Tablestore. You can go to the RAM Roles page of the RAM console to manage RAM roles. |'."\n" .'| primaryKeys | The list of primary keys in the destination table. For more information, see the following PrimaryKeys table. |'."\n" .'PrimaryKeys'."\n" ."\n" .'| Parameter | Description |'."\n" .'| --------- | ----------- |'."\n" .'| columnType | The data type of the primary key. Valid values: '."\n" ."\n" .'INTEGER: integer '."\n" ."\n" .'STRING: string '."\n" ."\n" .'BINARY: binary |'."\n" .'| columnName | The name of the primary key. |'."\n" .'| columnValue | The value of the primary key. |'."\n" .'| option | Specifies whether the primary key is an auto-increment column. You can set the parameter to AUTO_INCREMENT or leave it empty. The primary key is an auto-increment column if the columnType and option parameters are respectively set to INTEGER and AUTO_INCREMENT. |'."\n" .'Example****'."\n" ."\n" .'```'."\n" .'{'."\n" .' "instanceName": "testaaa",'."\n" .' "tableName": "tt",'."\n" .' "primaryKeys": ['."\n" .' {'."\n" .' "columnType": "STRING",'."\n" .' "columnName": "ttt",'."\n" .' "columnValue": "${tt}",'."\n" .' "option": ""'."\n" .' },'."\n" .' {'."\n" .' "columnType": "INTEGER",'."\n" .' "columnName": "id",'."\n" .' "columnValue": "",'."\n" .' "option": "AUTO_INCREMENT"'."\n" .' }'."\n" .' ],'."\n" .' "regionName": "cn-shanghai",'."\n" .' "role": {'."\n" .' "roleArn": "acs:ram::5645***:role/aliyuniotaccessingotsrole",'."\n" .' "roleName": "AliyunIOTAccessingOTSRole"'."\n" .' }'."\n" .'}'."\n" .'```'."\n" .'**The configurations of the MNS type**| Parameter | Description |'."\n" .'| --------- | ----------- |'."\n" .'| themeName | The name of the MNS topic that is used to receive data. |'."\n" .'| regionName | The code of the region in which MNS is deployed. Example: cn-shanghai. |'."\n" .'| role | The information about the RAM role. To grant IoT Platform the access to MNS, you can assign a service role to IoT Platform. The syntax of a RAM role: '."\n" ."\n" .'`{"roleArn":"acs:ram::6541***:role/aliyuniotaccessingmnsrole","roleName": "AliyunIOTAccessingMNSRole"}`Replace `6541***` with your Alibaba Cloud ID. You can log on to the Alibaba Cloud Management Console and view the account ID on the Security Settings page. '."\n" ."\n" .'`AliyunIOTAccessingMNSRole` indicates a service-linked role that is defined in RAM. This role is used to grant IoT Platform access to MNS. You can go to the RAM Roles page of the RAM console to manage RAM roles. |'."\n" .'Example****'."\n" ."\n" .'```'."\n" .'{'."\n" .' "themeName": "mns-test-topic1",'."\n" .' "regionName": "cn-shanghai",'."\n" .' "role": {'."\n" .' "roleArn": "acs:ram::5645***:role/aliyuniotaccessingmnsrole",'."\n" .' "roleName": "AliyunIOTAccessingMNSRole"'."\n" .' }'."\n" .'}'."\n" .'```'."\n" .'**The configurations of the FC type**| Parameter | Description |'."\n" .'| --------- | ----------- |'."\n" .'| functionName | The name of the function that is used to receive data. |'."\n" .'| serviceName | The name of the service that is used to receive data. |'."\n" .'| regionName | The code of the region in which Function Compute is deployed. Example: cn-shanghai. |'."\n" .'| role | The information about the RAM role. You can grant IoT Platform the access to Function Compute by assigning a service role to IoT Platform. The syntax of a RAM role: '."\n" ."\n" .'`{"roleArn":"acs:ram::6541***:role/aliyuniotaccessingfcrole","roleName": "AliyunIOTAccessingFCRole"}`Replace `6541***` with your Alibaba Cloud ID. You can log on to the Alibaba Cloud Management Console and view the account ID on the Security Settings page. '."\n" ."\n" .'`AliyunIOTAccessingFCRole` indicates a service-linked role that is defined in RAM. This role is used to grant IoT Platform the access to Function Compute. You can go to the RAM Roles page of the RAM console to manage RAM roles. |'."\n" .'Example****'."\n" ."\n" .'```'."\n" .'{'."\n" .' "regionName": "cn-shanghai",'."\n" .' "role": {'."\n" .' "roleArn": "acs:ram::5645***:role/aliyuniotaccessingfcrole",'."\n" .' "roleName": "AliyunIOTAccessingFCRole"'."\n" .' },'."\n" .' "functionName": "weatherForecast",'."\n" .' "serviceName": "weather"'."\n" .'}'."\n" .'```'."\n" .'**The configurations of the ONS type**> You must call the SDK or use the console of Message Queue for Apache RocketMQ to grant IoT Platform the access to the service. IoT Platform must be authorized to publish messages to Message Queue for Apache RocketMQ. Then, you can create a rule action to forward data to the service. | Parameter | Description |'."\n" .'| --------- | ----------- |'."\n" .'| instanceId | The ID of the Message Queue for Apache RocketMQ instance that is used to receive data. |'."\n" .'| topic | The name of the Message Queue for Apache RocketMQ topic that is used to receive data. |'."\n" .'| regionName | The code of the region in which Message Queue for Apache RocketMQ is deployed. Example: cn-shanghai. '."\n" ."\n" .'To forward data over the Internet in the same zone, you can use a common Message Queue for Apache RocketMQ instance. To forward data across zones, you must use a Message Queue for Apache RocketMQ Platinum Edition instance. |'."\n" .'| tag | Optional. The tag. The tag cannot exceed 128 bytes in length. |'."\n" .'| role | The information about the RAM role. You can grant IoT Platform the access to Message Queue for Apache RocketMQ by assigning a service role to IoT Platform. The syntax of a RAM role: '."\n" ."\n" .'`{"roleArn":"acs:ram::6541***:role/aliyuniotaccessingonsrole","roleName": "AliyunIOTAccessingONSRole"}`Replace `6541***` with your Alibaba Cloud ID. You can log on to the Alibaba Cloud Management Console and view the account ID on the Security Settings page. '."\n" ."\n" .'`AliyunIOTAccessingONSRole` indicates a service-linked role that is defined in RAM. This role is used to grant IoT Platform the access to Message Queue for Apache RocketMQ. You can go to the RAM Roles page of the RAM console to manage RAM roles. |'."\n" .'Example****'."\n" ."\n" .'```'."\n" .'{'."\n" .' "instanceId": "MQ_INST_123157908552****_XXXXXX"'."\n" .' "topic": "aliyun-iot-XXXXX",'."\n" .' "regionName": "cn-hangzhou",'."\n" .' "role": {'."\n" .' "roleArn": "acs:ram::6541***:role/aliyuniotaccessingonsrole",'."\n" .' "roleName": "AliyunIOTAccessingONSRole"'."\n" .' }'."\n" .'}'."\n" .'```'."\n" .'**The configurations of the AMQP type**| Parameter | Description |'."\n" .'| --------- | ----------- |'."\n" .'| groupId | The ID of the consumer group. |'."\n" .'Example****'."\n" ."\n" .'```'."\n" .'{'."\n" .' "groupId":"ZTh1JmyLGuZcUfv44p4z00****"'."\n" .'}'."\n" .'```'."\n" .'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](/help/en/iot-platform/latest/836ef4).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateRuleAction', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'CreateSceneRule' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. Do not pass this parameter for public instances; it is required for Enterprise instances.', 'example' => 'iot_instc_pu****_c*-v64********', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'RuleName', 'in' => 'query', 'schema' => ['description' => 'The name of the scene orchestration rule. It can contain Chinese characters, uppercase and lowercase English letters, digits, underscores (_), and hyphens (-). The length must be 1 to 30 characters.', 'example' => 'test', 'required' => true, 'type' => 'string', 'title' => ''], ], [ 'name' => 'RuleContent', 'in' => 'query', 'schema' => ['description' => 'The content of the scene orchestration rule. For format details, see [scene orchestration rule writing guide](~~171059~~).', 'example' => '{"action":[{"params":{"content":"${metadata.formattedTime}: 收到定时消息","title":"钉钉机器人通知","webHook":"https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxx"},"uri":"action/dingtalk/robot"}],"trigger":{"params":{"cron":"0 * * * * ? 2020","cronType":"quartz_cron"},"uri":"trigger/timer"},"type":"IFTTT"}', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'RuleDescription', 'in' => 'query', 'schema' => ['description' => 'The description of the scene orchestration rule. The length cannot exceed 100 characters.', 'example' => '定时发送消息到钉钉机器人', 'required' => false, 'type' => 'string', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'properties' => [ 'Code' => ['description' => 'The return code of the API. "Success" indicates success; other values indicate error codes. For details, see [error code](~~135200~~).', 'example' => 'Success', 'type' => 'string', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation failed.', 'example' => 'request parameter error', 'type' => 'string', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'example' => 'C9D9C91B-1B3B-4D84-BE58-68E7B2A989EA', 'type' => 'string', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. true indicates success; false indicates failure.', 'example' => 'true', 'type' => 'boolean', 'title' => ''], 'RuleId' => ['description' => 'The ID of the scene orchestration rule.', 'example' => 'f041397879ad4d89822811d741******', 'type' => 'string', 'title' => ''], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"C9D9C91B-1B3B-4D84-BE58-68E7B2A989EA\\",\\n \\"Success\\": true,\\n \\"RuleId\\": \\"f041397879ad4d89822811d741******\\"\\n}","type":"json"}]', 'title' => 'Create a scene orchestration rule', 'summary' => 'Create a scene orchestration rule.', 'description' => '## Condition'."\n" .'The maximum queries per second (QPS) for this API per Alibaba Cloud account is 10.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking the API, in addition to the specific Request Parameters described in this topic, you must also pass in Common Request Parameters. For more information about common parameters, see [Common Parameters document](~~135196~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateSceneRule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateSceneRule'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'CreateSchedulePeriod' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'SoundCodeContent', 'in' => 'formData', 'schema' => ['description' => 'The sound code parsing content for the time segment. It must be 1 to 512 characters in length. Each Chinese character counts as two characters.', 'type' => 'string', 'required' => true, 'example' => 'www.taobao.com', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID. You can view the **ID** of your current instance on the **Instance Overview** page in the IoT Platform console. '."\n" ."\n" .'> '."\n" .'- If an ID exists, you must specify it; otherwise, the invocation fails. '."\n" .'- If no ID exists, you do not need to specify it. '."\n" .'> '."\n" ."\n" .'For more information about instances, see [How to Obtain an Instance ID](~~267533~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ScheduleCode', 'in' => 'formData', 'schema' => ['description' => 'The unique identifier of the schedule.', 'type' => 'string', 'required' => true, 'example' => 'Md3ZiTL888K9llXDy7890***********', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'formData', 'schema' => ['description' => 'The description of the time segment. It must be 1 to 64 characters in length. Each Chinese character counts as two characters.', 'type' => 'string', 'required' => true, 'example' => 'test', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'formData', 'schema' => ['description' => 'The start time of the time segment, in 24-hour format. The value must be within the range of 00:00 to 23:59.', 'type' => 'string', 'required' => true, 'example' => '00:00', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'formData', 'schema' => ['description' => 'The end time of the time segment, in 24-hour format. The value must be within the range of 00:00 to 23:59 and cannot be earlier than StartTime.', 'type' => 'string', 'required' => true, 'example' => '01:00', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.soundcodeservice.NotSigned', 'title' => ''], 'Data' => ['description' => 'The unique identifier of the time segment.', 'type' => 'string', 'example' => 'Md3ZiTL888K9llXDy7890***********', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => 'sound code service has not been signed', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => '66FF51D3-***-49F1-B1A2-***', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.scheduleperiod.InvalidIotInstanceId', 'errorMessage' => 'invalid IotInstanceId', 'description' => ''], ['errorCode' => 'iot.scheduleperiod.InvalidTime', 'errorMessage' => 'invalid period time', 'description' => ''], ['errorCode' => 'iot.scheduleperiod.InvalidDesc', 'errorMessage' => 'Invalid period description', 'description' => ''], ['errorCode' => 'iot.soundcode.InvalidSoundCodeContent', 'errorMessage' => 'invalid sound code content', 'description' => ''], ['errorCode' => 'iot.soundcodeschedule.NotExists', 'errorMessage' => 'schedule not exists', 'description' => ''], ['errorCode' => 'iot.soundcode.SensitiveContent', 'errorMessage' => 'sensitive content', 'description' => 'sensitive content'], ['errorCode' => 'iot.scheduleperiod.ConflictTime', 'errorMessage' => 'conflict with:%s', 'description' => ''], ['errorCode' => 'iot.scheduleperiod.ConflictWithScheduleTime', 'errorMessage' => 'conflict with schedule time', 'description' => ''], ['errorCode' => 'iot.scheduleperiod.LimitExceeded', 'errorMessage' => 'schedule period limit exceeded', 'description' => ''], ], 403 => [ ['errorCode' => 'iot.soundcodeservice.NotSigned', 'errorMessage' => 'sound code service has not been signed', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"Data\\": \\"Md3ZiTL888K9llXDy7890***********\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'CreateSchedulePeriod', 'summary' => 'Invoke this API to create a sound code scheduling time segment.', 'description' => '## QPS Limit'."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 2. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking the API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~).', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:CreateSchedulePeriod', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateSchedulePeriod'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'CreateSharePromotionActivity' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'SharePromotionActivityName', 'in' => 'formData', 'schema' => ['description' => 'The name of the promotion activity.', 'type' => 'string', 'required' => true, 'example' => 'task01', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID. You can view the ID of the current instance on the **Instance Overview** tab in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must pass this **ID**. Otherwise, the invocation fails.'."\n" .'- If no ID exists, you do not need to pass this parameter.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cv3********', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'formData', 'schema' => ['description' => 'The start time of the promotion activity, expressed as a UNIX timestamp in milliseconds. If this parameter is not passed, the promotion activity has no start time limit.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1691547072000', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'formData', 'schema' => ['description' => 'The end time of the promotion activity, expressed as a UNIX timestamp in milliseconds. If this parameter is not passed, the promotion activity has no end time limit.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1694315533000', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The status code of the invocation result:'."\n" .'- If the invocation succeeds, an empty value is returned.'."\n" .'- If the invocation fails, an error code is returned. For more information, see **Error Codes** below.', 'type' => 'string', 'example' => 'iot.speech.InvalidIotInstanceId', 'title' => ''], 'Data' => ['description' => 'The returned promotion activity ID.', 'type' => 'string', 'example' => '61******_****_4901_****_47***********', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => 'Invalid instance ID.', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.speech.InvalidIotInstanceId', 'errorMessage' => 'Invalid instance ID.', 'description' => 'Invalid instance ID.'], ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ['errorCode' => 'iot.check.InvalidFormattedParameter', 'errorMessage' => 'The parameter format is invalid.', 'description' => 'The parameter format is invalid.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.speech.InvalidIotInstanceId\\",\\n \\"Data\\": \\"61******_****_4901_****_47***********\\",\\n \\"ErrorMessage\\": \\"Invalid instance ID.\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'CreateSharePromotionActivity', 'summary' => 'Invoke this API to create a promotion activity for the Qianli Chuanyin sharing job.', 'description' => '## How-To'."\n" ."\n" .'Because each device can join only one sharing job and can play back only the shared speech materials within that sharing job, the Qianli Chuanyin voice playback service provides a promotion activity feature that allows you to specify shared devices in a sharing job to broadcast speech materials from a promotion activity.'."\n" ."\n" .'The configuration flow is as follows:'."\n" ."\n" .'1. Call this API to create a promotion activity for all sharing jobs under the current instance.'."\n" .'2. Call the **QuerySharePromotionActivityAuditResult** API to query the review result of the promotion activity for a specified sharing job, and confirm that the promotion activity has passed the review.'."\n" .'3. Call the **CreateSharePromotionSpeechModel** API to add speech materials to the promotion activity.'."\n" .'4. Call the **AddDeviceToSharePromotion** API to add existing shared devices from the Qianli Chuanyin sharing job to the promotion activity.'."\n" .'5. Call the **ShareSpeechByCombination** API to play back the shared speech materials of the promotion activity.'."\n" ."\n" .'For detailed configuration of sharing jobs, see [Use Shared Devices to Broadcast Shared Speech Materials](~~607661~~).'."\n" ."\n" .'## QPS Limit'."\n" ."\n" .'The maximum queries per second (QPS) for this API is 5 for each Alibaba Cloud account.'."\n" ."\n" .'> All Resource Access Management (RAM) users under an Alibaba Cloud account share the quota of that Alibaba Cloud account.', 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:CreateSharePromotionActivity', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateSharePromotionActivity'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'CreateSharePromotionSpeechModel' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'Voice', 'in' => 'formData', 'schema' => ['description' => 'Voice used for speech synthesis, predefined by the system, such as Standard Female Voice or Standard Male Voice. You can query available voice types by calling [GetSpeechVoice](~~217887~~) and use the **Value** field from the **VoiceList** in the response.', 'type' => 'string', 'required' => true, 'example' => 'Xiaoyun', 'title' => ''], ], [ 'name' => 'SharePromotionActivityId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the promotional activity. '."\n" ."\n" .'This value is the **Data** field returned by the **CreateSharePromotionActivity** API. ', 'type' => 'string', 'required' => true, 'example' => '61******_****_4901_****_47***********', 'title' => ''], ], [ 'name' => 'SpeechModelType', 'in' => 'formData', 'schema' => ['description' => 'The type of speech content. Only the static field **custom** is supported, which indicates custom speech content. ', 'type' => 'string', 'required' => true, 'example' => 'custom', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID. You can view the ID of the current instance on the **Instance Overview** tab in the IoT Platform console. '."\n" ."\n" .'> '."\n" .'- If an ID exists, you must specify this **ID**. Otherwise, the invocation fails. '."\n" .'- If no ID exists, you do not need to specify this parameter. '."\n" ."\n" .'> '."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~). ', 'type' => 'string', 'required' => false, 'example' => 'iot-cv3********', 'title' => ''], ], [ 'name' => 'BizCode', 'in' => 'formData', 'schema' => ['description' => 'Custom identifier for the speech content. It must consist of English letters and digits, be 1 to 32 characters in length, and be unique within the project.'."\n" ."\n" .'It is recommended to use the initials of the pinyin representation of the speech semantics as the identifier. For example, use `ZFDZ` for `支付到账` (Payment Received).', 'type' => 'string', 'required' => true, 'example' => 'ZFDZ', 'title' => ''], ], [ 'name' => 'SpeechRate', 'in' => 'formData', 'schema' => ['description' => 'Speech rate. Valid values range from -500 to 500.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '500', 'minimum' => '-500', 'example' => '0', 'default' => '0', 'title' => ''], ], [ 'name' => 'AudioFormat', 'in' => 'formData', 'schema' => ['description' => 'Audio format. Only **wav** and **mp3** formats are supported.', 'type' => 'string', 'required' => true, 'example' => 'wav', 'title' => ''], ], [ 'name' => 'Volume', 'in' => 'formData', 'schema' => ['description' => 'The volume level. Valid values: 0 to 100. ', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '0', 'example' => '50', 'default' => '50', 'title' => ''], ], [ 'name' => 'ShareTaskCode', 'in' => 'formData', 'schema' => ['description' => 'The share code of the sharing job. '."\n" ."\n" .'For information about the share code of a sharing job, see [Broadcast Shared Speech Content on Shared Devices](~~607661~~). ', 'type' => 'string', 'required' => true, 'example' => '52******_7**e_4**3_9**e_61**********', 'title' => ''], ], [ 'name' => 'Text', 'in' => 'formData', 'schema' => ['description' => 'The text of the speech content. It can contain English letters, Chinese characters, and spaces. The length must be 1 to 100 characters. Each Chinese character counts as two characters. ', 'type' => 'string', 'required' => true, 'example' => 'test', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The status code of the invocation result: '."\n" .'- If the invocation succeeds, an empty value is returned. '."\n" .'- If the invocation fails, an error code is returned. For more information, see **error code** below. ', 'type' => 'string', 'example' => 'iot.speech.InvalidIotInstanceId', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails. ', 'type' => 'string', 'example' => 'Invalid instance ID.', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request. ', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: The invocation failed. ', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.speech.InvalidIotInstanceId', 'errorMessage' => 'Invalid instance ID.', 'description' => 'Invalid instance ID.'], ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ['errorCode' => 'iot.check.InvalidFormattedParameter', 'errorMessage' => 'The parameter format is invalid.', 'description' => 'The parameter format is invalid.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.speech.InvalidIotInstanceId\\",\\n \\"ErrorMessage\\": \\"Invalid instance ID.\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'CreateSharePromotionSpeechModel ', 'summary' => 'Invoke this API to create shared speech content for a promotional activity of the Qianli Chuanyin sharing job. ', 'description' => '## How-To '."\n" .'For detailed instructions on using promotional activities, see the "How-To" section in the documentation for the [CreateSharePromotionActivity](~~2568449~~) API. '."\n" ."\n" .'## Queries Per Second (QPS) Limit '."\n" ."\n" .'The maximum queries per second (QPS) limit for this API is 10 per Alibaba Cloud account. '."\n" ."\n" .'> All Resource Access Management (RAM) users under an Alibaba Cloud account share the quota of that Alibaba Cloud account. ', 'requestParamsDescription' => 'When calling this API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:CreateSharePromotionSpeechModel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateSharePromotionSpeechModel'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'CreateSoundCode' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'Duration', 'in' => 'formData', 'schema' => ['description' => 'The duration of the sound code, in seconds. Valid values range from 1 to 30. ', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '2', 'title' => ''], ], [ 'name' => 'SoundCodeContent', 'in' => 'formData', 'schema' => ['description' => 'The marketing content of the sound code, such as a product detail URL. The content can be up to 100 characters in length. ', 'type' => 'string', 'required' => true, 'example' => 'www.taobao.com', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID.You can view the **ID** of your current instance on the **Instance Overview** page in the IoT Platform console. '."\n" ."\n" .'> '."\n" .'- If an ID exists, you must specify it; otherwise, the invocation fails. '."\n" .'- If no ID exists, you do not need to specify it. '."\n" ."\n" .'> '."\n" ."\n" .'For more information about instances, see [How to Obtain an Instance ID](~~267533~~). ', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'formData', 'schema' => ['description' => 'The name of the sound code. It must be 1 to 64 characters in length. Each Chinese character counts as two characters. The name must be unique within the instance. ', 'type' => 'string', 'required' => false, 'example' => 'TEST123', 'title' => ''], ], [ 'name' => 'OpenType', 'in' => 'formData', 'schema' => ['description' => 'The scheduling openness type. '."\n" ."\n" .'- Internal (default): Set to **INNER**. Only devices under the same instance as the schedule can request sound code decoding. '."\n" ."\n" .'- Public: Set to **OPEN**. You can configure a whitelist via email to allow devices from other instances to request sound code decoding. Usage for cross-instance decoding is counted toward the instance where the sound code resides. ', 'type' => 'string', 'required' => false, 'example' => 'OPEN', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the invocation fails. For more information, see [Error Codes](~~87387~~). ', 'type' => 'string', 'example' => 'iot.soundcodeservice.NotSigned', 'title' => ''], 'Data' => ['description' => 'The sound code ID (SoundCode) returned upon successful creation. This serves as the UUID of the sound code. ', 'type' => 'string', 'example' => 'Md3ZiTL888K9llXDy7890***********', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the invocation fails. ', 'type' => 'string', 'example' => 'sound code service has not been signed', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request. ', 'type' => 'string', 'example' => '66FF51D3-***-49F1-B1A2-***', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" ."\n" .'- **true**: The invocation succeeded. '."\n" ."\n" .'- **false**: The invocation failed. ', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.soundcode.InvalidIotInstanceId', 'errorMessage' => 'invalid iot instance id', 'description' => 'invalid iot instance id'], ['errorCode' => 'iot.soundcode.InvalidSoundCodeContent', 'errorMessage' => 'invalid sound code content', 'description' => ''], ['errorCode' => 'iot.soundcode.InvalidSoundCodeDuration', 'errorMessage' => 'invalid sound code duration', 'description' => 'invalid sound code duration'], ['errorCode' => 'iot.soundcode.SensitiveContent', 'errorMessage' => 'sensitive content', 'description' => 'sensitive content'], ['errorCode' => 'iot.soundcode.InvalidName', 'errorMessage' => 'invalid sound code name', 'description' => 'invalid sound code name'], ['errorCode' => 'iot.soundcode.AlreadyExistsName', 'errorMessage' => 'already exists sound code name', 'description' => 'already exists sound code name'], ], 403 => [ ['errorCode' => 'iot.soundcodeservice.NotSigned', 'errorMessage' => 'sound code service has not been signed', 'description' => ''], ], 429 => [ ['errorCode' => 'iot.soundcode.EncodeLimit', 'errorMessage' => 'sound code encode limit exceeded', 'description' => 'sound code encode limit exceeded'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"Data\\": \\"Md3ZiTL888K9llXDy7890***********\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'CreateSoundCode ', 'summary' => 'Invoke this API to create a sound code. ', 'description' => '## QPS Limit '."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account when calling this API is 2. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. ', 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:CreateSoundCode', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateSoundCode'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'CreateSoundCodeLabel' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID.You can view the **ID** of your current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify it. Otherwise, the invocation fails.'."\n" .'- If no ID exists, you do not need to specify it.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [How to Obtain an Instance ID](~~267533~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ScheduleCode', 'in' => 'formData', 'schema' => ['description' => 'The unique identifier of the schedule.', 'type' => 'string', 'required' => true, 'example' => 'Md3ZiTL888K9llXDy7890***********', 'title' => ''], ], [ 'name' => 'Label', 'in' => 'formData', 'schema' => ['description' => 'The label, which must be 1 to 64 characters in length. Each Chinese character counts as two characters. The label must be unique under the schedule.'."\n", 'type' => 'string', 'required' => true, 'example' => 'test', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.soundcodeservice.NotSigned', 'title' => ''], 'Data' => ['description' => 'The unique identifier of the sound code label.', 'type' => 'string', 'example' => 'Md3ZiTL888K9llXDy7890***********', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.'."\n", 'type' => 'string', 'example' => 'sound code service has not been signed', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => '66FF51D3-***-49F1-B1A2-***', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" ."\n" .'- **true**: The invocation succeeded.'."\n" ."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.soundcode.InvalidIotInstanceId', 'errorMessage' => 'invalid iot instance id', 'description' => 'invalid iot instance id'], ['errorCode' => 'iot.soundcodeschedule.NotExists', 'errorMessage' => 'schedule not exists', 'description' => ''], ['errorCode' => 'iot.soundcode.AlreadyExistsLabel', 'errorMessage' => 'already exists sound code label', 'description' => ''], ['errorCode' => 'iot.soundcode.InvalidLabel', 'errorMessage' => 'invalid sound code label', 'description' => ''], ], 403 => [ ['errorCode' => 'iot.soundcodeservice.NotSigned', 'errorMessage' => 'sound code service has not been signed', 'description' => ''], ], 429 => [ ['errorCode' => 'iot.soundcode.EncodeLimit', 'errorMessage' => 'sound code encode limit exceeded', 'description' => 'sound code encode limit exceeded'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"Data\\": \\"Md3ZiTL888K9llXDy7890***********\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'CreateSoundCodeLabel', 'summary' => 'Invoke this API to create a sound code label for a specified schedule.', 'description' => '## Queries per second (QPS) limit'."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 2.'."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When you call this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:CreateSoundCodeLabel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateSoundCodeLabel'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'CreateSoundCodeSchedule' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID.You can view the **ID** of your current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify it; otherwise, the call will fail.'."\n" .'- If no ID exists, you do not need to specify it.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [How to Obtain an Instance ID](~~267533~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'formData', 'schema' => ['description' => 'The name of the schedule. It must be 1 to 64 characters in length. Each Chinese character counts as two characters. The name must be unique within the instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'test', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'formData', 'schema' => ['description' => 'The description of the schedule. It must be 1 to 64 characters in length. Each Chinese character counts as two characters. The description must be unique within the instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'StartDate', 'in' => 'formData', 'schema' => ['description' => 'The start date of the schedule, in yyyy-MM-dd format.'."\n", 'type' => 'string', 'required' => true, 'example' => '2022-03-31', 'title' => ''], ], [ 'name' => 'EndDate', 'in' => 'formData', 'schema' => ['description' => 'The end date of the schedule, in yyyy-MM-dd format. This date cannot be earlier than the StartDate.'."\n", 'type' => 'string', 'required' => true, 'example' => '2022-03-31', 'title' => ''], ], [ 'name' => 'OpenType', 'in' => 'formData', 'schema' => ['description' => 'The openness type of the schedule.'."\n" ."\n" .'- Internal (default): Set to **INNER**. Only devices under the same instance as the schedule can request sound code decoding.'."\n" ."\n" .'- Public: Set to **OPEN**. You can configure a whitelist via email to allow devices from other instances to request sound code decoding. Usage for cross-instance decoding is billed to the instance where the sound code resides.', 'type' => 'string', 'required' => false, 'example' => 'INNER', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.soundcodeservice.NotSigned', 'title' => ''], 'Data' => ['description' => 'The unique identifier of the schedule.'."\n", 'type' => 'string', 'example' => 'Md3ZiTL888K9llXDy7890***********', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => 'sound code service has not been signed', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => '66FF51D3-***-49F1-B1A2-***', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" ."\n" .'- **true**: The invocation succeeded.'."\n" ."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.soundcodeschedule.InvalidDesc', 'errorMessage' => 'invalid schedule description', 'description' => ''], ['errorCode' => 'iot.soundcodeschedule.InvalidName', 'errorMessage' => 'invalid schedule name', 'description' => ''], ['errorCode' => 'iot.soundcodeschedule.AlreadyExistsName', 'errorMessage' => 'already exists schedule name', 'description' => ''], ['errorCode' => 'iot.soundcodeschedule.InvalidIotInstanceId', 'errorMessage' => 'invalid schedule IotInstanceId', 'description' => ''], ['errorCode' => 'iot.soundcodeschedule.LimitExceeded', 'errorMessage' => 'sound code schedule limit exceeded', 'description' => ''], ['errorCode' => 'iot.soundcodeschedule.InvalidDate', 'errorMessage' => 'invalid sound code schedule date', 'description' => ''], ], 403 => [ ['errorCode' => 'iot.soundcodeservice.NotSigned', 'errorMessage' => 'sound code service has not been signed', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"Data\\": \\"Md3ZiTL888K9llXDy7890***********\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'CreateSoundCodeSchedule', 'summary' => 'Invoke this API to create a sound code schedule.', 'description' => '## QPS limit'."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account when calling this API is 2.'."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling the API, in addition to the API-specific Request Parameters described in this topic, you must also pass in the Common Request Parameters. For more information about common parameters, see [Common Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:CreateSoundCodeSchedule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateSoundCodeSchedule'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'CreateSpeech' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'Voice', 'in' => 'formData', 'schema' => ['description' => 'The voice used for speech synthesis, predefined by the system (for example, Standard Female Voice or Standard Male Voice). You can query available voice types by calling [GetSpeechVoice](~~217887~~) and use the **Value** field from the **VoiceList** in the response. ', 'type' => 'string', 'required' => true, 'example' => 'Xiaoyun', 'title' => ''], ], [ 'name' => 'SpeechType', 'in' => 'formData', 'schema' => ['description' => 'The type of speech material, which can be either custom or preset. '."\n" .'> If this parameter is not specified or is set to **custom**, you must provide the Text and BizCode parameters; otherwise, the invocation will fail. '."\n" .'- Custom speech material (default): Set this parameter to **custom**. When using custom speech material, you must specify both the speech material identity and text. '."\n" .'- Preset speech material: System-provided common speech texts, including the following categories: '."\n" .' - Numbers: Set this parameter to **number**. Supported content includes digits 0–9, "point", and "yao" (a colloquial term for "one"). '."\n" .' - Measure words: Set this parameter to **measure_word**. Supported content includes "ge", "shi", "bai", "qian", "wan", "shi wan", "bai wan", "yi", etc. '."\n" .' - Monetary units: Set this parameter to **monetary_unit**. Supported content includes "fen", "jiao", and "yuan". '."\n" .' - Time units: Set this parameter to **time_unit**. Supported content includes "hour", "minute", "second", "month", "day", and "year". '."\n" .' - Unit time expressions: Set this parameter to **unit_time**. Supported content includes "per second", "per minute", "per hour", "per day", "per week", "per month", and "per year". '."\n" .' - Length units: Set this parameter to **length_unit**. Supported content includes "millimeter", "centimeter", "decimeter", "meter", "kilometer", "gongli" (Chinese term for kilometer), "inch", "foot", and "mile".', 'type' => 'string', 'required' => false, 'example' => 'custom', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID. You can view the **ID** of your current instance on the **Instance Overview** page in the IoT Platform console. '."\n" ."\n" .'> '."\n" .'- If an ID exists, you must specify it; otherwise, the invocation will fail. '."\n" .'- If no ID exists, you do not need to specify this parameter. '."\n" .'> '."\n" ."\n" .'For more information about instances, see [How to Obtain an Instance ID](~~267533~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'BizCode', 'in' => 'formData', 'schema' => ['description' => 'The corpus identifier. When a device invokes multiple corpora for combined playback, this identifier specifies which corpus to play.'."\n" ."\n" .'- When the **corpus type** is set to **Custom**, this parameter is required. The identifier is user-defined and can contain English letters and digits, with a length of 1 to 32 characters. It must be unique within the project. We recommend using the initials of the pinyin representation of the corpus semantics as the identifier—for example, use `ZFDZ` for `支付到账`.'."\n" ."\n" .'- When the **corpus type** is set to **Common**, the system automatically generates the corpus identifier, and no user-defined value is needed. ', 'type' => 'string', 'required' => false, 'example' => 'identifying', 'title' => ''], ], [ 'name' => 'SpeechRate', 'in' => 'formData', 'schema' => ['description' => 'The speech rate. Valid values: -500 to 500. ', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '500', 'minimum' => '-500', 'example' => '0', 'default' => '0', 'title' => ''], ], [ 'name' => 'Volume', 'in' => 'formData', 'schema' => ['description' => 'Volume level. Valid values: 0 to 100. ', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '0', 'example' => '50', 'default' => '50', 'title' => ''], ], [ 'name' => 'ProjectCode', 'in' => 'formData', 'schema' => ['description' => 'The project ID, which is the UUID of the project. You can obtain the project ID from the [Management Console](https://iot.console.aliyun.com/things-service/projects). If you do not have a project, create one and then retrieve its ID. '."\n", 'type' => 'string', 'required' => true, 'example' => 'Md3ZiTL888K9llXDy7890***********', 'title' => ''], ], [ 'name' => 'Text', 'in' => 'formData', 'schema' => ['description' => 'The corpus text. This parameter is required when the corpus type is set to Custom. The text supports English letters, Chinese characters, and spaces. The length must be 1 to 100 characters, where each Chinese character counts as two characters. ', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'AudioFormat', 'in' => 'formData', 'schema' => ['description' => 'The audio format. Only **wav**, **mp3**, and **amr** formats are supported. ', 'type' => 'string', 'required' => false, 'example' => 'wav', 'title' => ''], ], [ 'name' => 'SoundCodeConfig', 'in' => 'formData', 'style' => 'json', 'schema' => ['description' => 'Sound code configuration, which includes the following fields: '."\n" .'- **SoundCodeContent**: Marketing content for the sound code, such as the product detail URL. '."\n" .'- **AdditionalDuration**: The playback duration of the sound code after the speech material ends, in seconds. Valid values: 1 to 15.', 'type' => 'object', 'required' => false, 'example' => '{"SoundCodeContent": "www.taobao.com", "AdditionalDuration": 3}', 'title' => ''], ], [ 'name' => 'EnableSoundCode', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to enable sound code. If you set this parameter to true, you must also provide the SoundCodeConfig parameter; otherwise, the invocation will fail. ', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.speechsolution.NotSigned', 'title' => ''], 'Data' => ['description' => 'The speech material ID (SpeechCode) returned upon successful creation. This ID serves as the UUID of the speech material.', 'type' => 'string', 'example' => 'Md3ZiTL888K9llXDy7890***********', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => 'speech solution has not been signed', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => '66FF51D3-***-49F1-B1A2-***', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.speechsolution.NotSigned\\",\\n \\"Data\\": \\"Md3ZiTL888K9llXDy7890***********\\",\\n \\"ErrorMessage\\": \\"speech solution has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Create Speech Material', 'summary' => 'Invoke this API to create speech material.', 'description' => '## QPS limit'."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account when calling this API is 20. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:CreateSpeech', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateSpeech'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'CreateStudioAppDomainOpen' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'formData', 'schema' => ['description' => 'The application ID. You can call [QueryStudioAppList](~~216816~~) to query it.', 'type' => 'string', 'required' => true, 'example' => 'a12*******', 'title' => ''], ], [ 'name' => 'Host', 'in' => 'formData', 'schema' => ['description' => 'The domain name.', 'type' => 'string', 'required' => true, 'example' => 'www.aliyun.test.com', 'title' => ''], ], [ 'name' => 'Protocol', 'in' => 'formData', 'schema' => [ 'description' => 'The request protocol.'."\n" .'- **https**'."\n" .'- **http**', 'type' => 'string', 'required' => true, 'example' => 'https', 'enum' => ['https', 'http'], 'title' => '', ], ], [ 'name' => 'ProjectId', 'in' => 'formData', 'schema' => ['description' => 'The project ID.'."\n" .'1. You can log on to the [IoT application development console](https://account.aliyun.com/login/login.htm?qrCodeFirst=false&oauth_callback=https%3A%2F%2Fstudio.iot.aliyun.com%2F%3Fspm%3Da2c4g.11186623.2.8.1e7830fagdybMb). After selecting the corresponding instance in the upper-left corner of the page, click Project Management in the left-side navigation pane.'."\n" .'2. In the standard project list, locate the target project, click the project card, and then check the address bar of your browser.', 'type' => 'string', 'required' => true, 'example' => 'a123******', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID.'."\n" ."\n" .'You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console. If an ID value exists, you must pass this ID value. Otherwise, the invocation will fail.'."\n" ."\n" .''."\n" .'> If the public instance does not have an ID value, see [How to obtain an instance ID](~~267533~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation failed. For more information about error codes, see [error code](~~202245~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation failed.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'Details about the domain name added to the application.', 'type' => 'object', 'properties' => [ 'Host' => ['description' => 'The domain name.', 'type' => 'string', 'example' => 'www.aliyun.test.com', 'title' => ''], 'Protocol' => ['description' => 'The request protocol.', 'type' => 'string', 'example' => 'https', 'title' => ''], 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => 'a12******', 'title' => ''], 'ProjectId' => ['description' => 'The project ID.', 'type' => 'string', 'example' => 'a12*******', 'title' => ''], 'IsBeian' => ['description' => 'Indicates whether the domain name has completed ICP filing.'."\n" .'- **YES**: Yes.'."\n" .'- **NO**: No.', 'type' => 'string', 'example' => 'YES', 'title' => ''], 'Id' => ['description' => 'The domain name ID.', 'type' => 'integer', 'format' => 'int32', 'example' => '1573', 'title' => ''], 'TenantId' => ['description' => 'The tenant ID.', 'type' => 'string', 'example' => 'C70B541046F64EAABE3*******', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 200 => [ ['errorCode' => 'Studio.App.Domain.DomainMaxNumLimit', 'errorMessage' => 'The maximum number of domain is exceeded.', 'description' => ''], ['errorCode' => 'Studio.App.Domain.DomainAlreadyExist', 'errorMessage' => 'The domain already exists.', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Host\\": \\"www.aliyun.test.com\\",\\n \\"Protocol\\": \\"https\\",\\n \\"AppId\\": \\"a12******\\",\\n \\"ProjectId\\": \\"a12*******\\",\\n \\"IsBeian\\": \\"YES\\",\\n \\"Id\\": 1573,\\n \\"TenantId\\": \\"C70B541046F64EAABE3*******\\"\\n }\\n}","type":"json"}]', 'title' => 'CreateStudioAppDomainOpen', 'summary' => 'Invoke this API to add a domain name to an application.', 'description' => '## Limits'."\n" .'Each Alibaba Cloud account can send a maximum of 5 queries per second (QPS) to invoke this API.'."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When you invoke this API, you must specify both the common request parameters and the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Request Parameters](~~203277~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateStudioAppDomainOpen', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateStudioAppDomainOpen'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'CreateSubscribeRelation' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the ID of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.****'."\n" .'>* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product that is specified for the subscription.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1fyXVF****', 'title' => ''], ], [ 'name' => 'DeviceDataFlag', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to push upstream device messages. Valid values:'."\n" ."\n" .'* **true**: yes.'."\n" .'* **false**: no. This is the default value.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'DeviceLifeCycleFlag', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to push messages about device lifecycle changes. Valid values:'."\n" ."\n" .'* **true**: yes.'."\n" .'* **false**: no. This is the default value.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'DeviceStatusChangeFlag', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to push messages about device status changes. Valid values:'."\n" ."\n" .'* **true**: yes.'."\n" .'* **false**: no. This is the default value.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'DeviceTopoLifeCycleFlag', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to push messages about topological relationship changes of devices. Valid values:'."\n" ."\n" .'* **true**: yes. This parameter is valid only for gateway products.'."\n" .'* **false**: no. This is the default value.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'FoundDeviceListFlag', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to push messages when a gateway detects new sub-devices. Valid values:'."\n" ."\n" .'* **true**: yes. This parameter is valid only for gateway products.'."\n" .'* **false**: no. This is the default value.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'MnsConfiguration', 'in' => 'query', 'schema' => ['description' => 'The configurations of the MNS queue. If you set the **Type** parameter to **AMQP**, this parameter is required.'."\n" ."\n" .'For more information, see the "Definition of the MnsConfiguration parameter" section.'."\n", 'type' => 'string', 'required' => false, 'example' => '{ "queueName": "mns-test-topic1", "regionName": "cn-shanghai", "role": { "roleArn": "acs:ram::5645***:role/aliyuniotaccessingmnsrole", "roleName": "AliyunIOTAccessingMNSRole" } }', 'title' => ''], ], [ 'name' => 'Type', 'in' => 'query', 'schema' => ['description' => 'The type of the subscription. Valid values:'."\n" ."\n" .'* **MNS**'."\n" .'* **AMQP**'."\n", 'type' => 'string', 'required' => false, 'example' => 'AMQP', 'title' => ''], ], [ 'name' => 'OtaEventFlag', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to push notifications about the status of over-the-air (OTA) update batches. Valid values:'."\n" ."\n" .'* **true**: yes.'."\n" .'* **false**: no. This is the default value.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'ThingHistoryFlag', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to push upstream historical Thing Specification Language (TSL) data. Valid values:'."\n" ."\n" .'* **true**: yes.'."\n" .'* **false**: no. This is the default value.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'DeviceTagFlag', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to push messages about device tag changes. Valid values:'."\n" ."\n" .'* **true**: yes. This parameter is valid only if you set the **Type** parameter to **AMQP**.'."\n" .'* **false**: no. This is the default value.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'OtaVersionFlag', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to push messages about the version numbers of OTA modules. Valid values:'."\n" ."\n" .'* **true**: yes. This parameter is valid only if you set the **Type** parameter to **AMQP**.'."\n" .'* **false**: no. This is the default value.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'OtaJobFlag', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to push notifications about the status of OTA update batches. Valid values:'."\n" ."\n" .'* **true**: yes. This parameter is valid only if you set the **Type** parameter to **AMQP**.'."\n" .'* **false**: no. This is the default value.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'SubscribeFlags', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to receive the messages of a specific subscribed product.'."\n" ."\n" .'If you subscribe to JT/T 808 gateway products, you must configure the **SubscribeFlags** parameter. Set the value to the following code.'."\n" ."\n" .'```'."\n" ."\n" .'{'."\n" .' "jt808DeviceDataFlag": true'."\n" .'}'."\n" .'```'."\n", 'type' => 'string', 'required' => false, 'example' => '{ "jt808DeviceDataFlag": true }', 'title' => ''], ], [ 'name' => 'ConsumerGroupIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The consumer group IDs in the created AMQP subscription. This parameter is required when **Type** is set to **AMQP**. '."\n" ."\n" .'After you call [CreateConsumerGroup](~~170388~~) to create a consumer group, the consumer group ID is returned. You can call [QueryConsumerGroupList](~~170419~~) to query the consumer group ID by consumer group name. Alternatively, in the IoT Platform consoleunder the corresponding instance, choose **Message Forwarding** > **Server-side Subscription** > **Consumer Group List** to view the consumer group ID. '."\n", 'type' => 'array', 'items' => ['type' => 'string', 'description' => 'The IDs of the consumer groups that are created in the AMQP subscription. This parameter is required if you set the **Type** parameter to **AMQP**.'."\n" ."\n" .'After you call the [CreateConsumerGroup](~~170388~~) operation to create a consumer group, the consumer group ID is returned. You can call the [QueryConsumerGroupList](~~170419~~) operation to query consumer group IDs by consumer group name. You can also log on to the IoT Platform console and choose **Message Forwarding** > **Server-side Subscription** > **Consumer Groups** to view the consumer group ID.'."\n", 'title' => '', 'example' => ''], 'required' => false, 'example' => 'nJRaJPn5U1JITGfjBO9l00****', 'maxItems' => 50, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code that is returned if the call fails. For more information about error codes, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '21D327AF-A7DE-4E59-B5D1-ACAC8C024555', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"21D327AF-A7DE-4E59-B5D1-ACAC8C024555\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Create an MNS or AMQP server-side subscription ', 'summary' => 'Invoke this API to create an MNS or AMQP server-side subscription. ', 'description' => '## How-To '."\n" .'Server-side subscriptions are available in two types: '."\n" .'- **MNS subscription**: Subscribed messages are pushed to a queue in Message Service (MNS). Your server application receives device messages by listening to the MNS queue. For more information, see [Use MNS server-side subscription](~~68948~~). You can directly call this API to create an MNS subscription. '."\n" .'- **AMQP subscription**: All subscribed messages under a product are pushed to your server through an AMQP channel. For more information, see [Configure AMQP server-side subscription](~~142376~~). Follow these steps to manage AMQP subscriptions: '."\n" .' 1. Call [CreateConsumerGroup](~~170388~~) to create a consumer group and obtain the consumer group ID. In AMQP subscriptions, messages are pushed to the specified consumer group. Your AMQP client connects to IoT Platform using the consumer group ID to consume messages. For more information, see [AMQP client connection guide](~~142489~~). '."\n" .' 2. Call this API to create an AMQP subscription. '."\n" .' 3. (Optional) Call [CreateConsumerGroupSubscribeRelation](~~170354~~) to add a consumer group to the AMQP subscription. Call [DeleteConsumerGroupSubscribeRelation](~~170357~~) to remove a specific consumer group from multiple consumer groups in the AMQP subscription. '."\n" .' 4. (Optional) While the AMQP subscription is running, call [QueryConsumerGroupStatus](~~170358~~) to query the status of a consumer group, including online client information, message consumption rate, number of accumulated messages, and the time of the most recent message consumption. Call [ResetConsumerGroupPosition](~~170355~~) to delete accumulated messages in the consumer group.'."\n" ."\n" .'## Queries per second (QPS) limit '."\n" ."\n" .'The maximum queries per second (QPS) for this API per Alibaba Cloud account is 5.'."\n" ."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. ', 'requestParamsDescription' => '> The flags in the request parameters cannot all be **false** or omitted. You must include at least one flag set to **true**.'."\n" ."\n" .'**MnsConfiguration definition** '."\n" .'| Name | Description |'."\n" .'| ------------- |------------ |'."\n" .'| queueName | The name of the queue in Message Service used to receive messages. You must first create a queue in the Message Service (MNS) console and obtain its name. For more information, see [Create a queue](~~34417~~). |'."\n" .'| regionName | The Alibaba Cloud Region code where the target Message Service is located, such as cn-shanghai. |'."\n" .'| role | The authorization role information. By granting IoT Platform a specified system service role, you authorize IoT Platform to access your Message Service. The role information is as follows:
`{"roleArn":"acs:ram::5645*\\**:role/aliyuniotaccessingmnsrole","roleName": "AliyunIOTAccessingMNSRole"}`
Replace `5645*\\**` with your Alibaba Cloud account ID. You can view your account ID on the Security Settings page of the console after logging in.
`AliyunIOTAccessingMNSRole` is a service role defined in Resource Access Management (RAM). It grants IoT Platform permission to access Message Service. For more information about roles, go to the Role Management page in the RAM console. |'."\n" ."\n" .'**MnsConfiguration** sample:'."\n" .'```'."\n" .'{'."\n" .' "queueName": "mns-test-topic1",'."\n" .' "regionName": "cn-shanghai",'."\n" .' "role": {'."\n" .' "roleArn": "acs:ram::5645***:role/aliyuniotaccessingmnsrole",'."\n" .' "roleName": "AliyunIOTAccessingMNSRole"'."\n" .' }'."\n" .'}'."\n" .'```'."\n" ."\n" .'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Request Parameters documentation](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateSubscribeRelation', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateSubscribeRelation'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'CreateThingModel' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product.'."\n" ."\n" .'You can view the ProductKey on the Product Details page of the IoT Platform console. You can also obtain the ProductKey by calling the [QueryProductList](~~69271~~) operation.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'ThingModelJson', 'in' => 'query', 'schema' => ['description' => 'The details of the new features.'."\n" ."\n" .'> You can specify a maximum of 10 features.'."\n" ."\n" .'Example:'."\n" ."\n" .'```'."\n" ."\n" .'{'."\n" .' "properties": ['."\n" .' {'."\n" .' "custom": true,'."\n" .' "dataSpecsList": ['."\n" .' {'."\n" .' "childDataType": "TEXT",'."\n" .' "childName": "CCID number of the device SIM card",'."\n" .' "dataSpecs": {'."\n" .' "custom": true,'."\n" .' "dataType": "TEXT",'."\n" .' "length": 20'."\n" .' },'."\n" .' "dataType": "STRUCT",'."\n" .' "identifier": "CCID",'."\n" .' "name": "CCID number of the device SIM card"'."\n" .' },'."\n" .' {'."\n" .' "childDataType": "INT",'."\n" .' "childName": "Battery power",'."\n" .' "dataSpecs": {'."\n" .' "custom": true,'."\n" .' "dataType": "INT",'."\n" .' "max": "60000",'."\n" .' "min": "0",'."\n" .' "step": "1"'."\n" .' },'."\n" .' "dataType": "STRUCT",'."\n" .' "identifier": "battery",'."\n" .' "name": "Battery power"'."\n" .' },'."\n" .' {'."\n" .' "childDataType": "TEXT",'."\n" .' "childName": "Other information",'."\n" .' "dataSpecs": {'."\n" .' "custom": true,'."\n" .' "dataType": "TEXT",'."\n" .' "length": 1024'."\n" .' },'."\n" .' "dataType": "STRUCT",'."\n" .' "identifier": "other_info",'."\n" .' "name": "Other information"'."\n" .' }'."\n" .' ],'."\n" .' "dataType": "STRUCT",'."\n" .' "identifier": "DEV_INFO",'."\n" .' "name": "Device information",'."\n" .' "productKey": "a1T***",'."\n" .' "propertyId": 18786548,'."\n" .' "required": false,'."\n" .' "rwFlag": "READ_ONLY"'."\n" .' },'."\n" .' {'."\n" .' "custom": true,'."\n" .' "dataSpecs": {'."\n" .' "childDataType": "INT",'."\n" .' "custom": true,'."\n" .' "dataType": "ARRAY",'."\n" .' "size": 1,'."\n" .' "dataSpecs": {'."\n" .' "custom": true,'."\n" .' "dataType": "INT",'."\n" .' "max": "65535",'."\n" .' "min": "0",'."\n" .' "step": "1",'."\n" .' "unit": "ppm",'."\n" .' "unitName": "Parts per million"'."\n" .' }'."\n" .' },'."\n" .' "dataType": "ARRAY",'."\n" .' "identifier": "airRH_SR",'."\n" .' "name": "Dehumidifier humidity",'."\n" .' "productKey": "a1T***",'."\n" .' "propertyId": 18786551,'."\n" .' "required": false,'."\n" .' "rwFlag": "READ_ONLY"'."\n" .' }'."\n" .' ],'."\n" .' "services": [...],'."\n" .' "events": [...]'."\n" .'}'."\n" .' '."\n" .'```'."\n" ."\n" .'In the **properties** structure of the **ThingModelJson** parameter, you can use the **extendConfig** parameter to define the extended information of the TSL model. For more information, see [Data structure of ThingModelJson](~~150457~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '{ "properties":[ { "identifier": "SimCardType", "extendConfig":"{...}", "dataSpecs": { "max": "1", "dataType": "INT", "unit": "mmHg", "min": "0", "step": "1" }, "std": false, "custom": true, "dataType": "INT", "rwFlag": "READ_ONLY", "productKey": "a1bPo9p****", "required": false, "customFlag": true, "name": "sim卡类型" } ], "services":[...], "events":[...] }', 'title' => ''], ], [ 'name' => 'FunctionBlockId', 'in' => 'query', 'schema' => ['description' => 'The identifier of the custom TSL module. Each identifier is unique in a product. The identifier must be 1 to 30 characters in length, and can contain letters, digits, and underscores (\\_).'."\n" ."\n" .'This parameter must be used in combination with the **FunctionBlockName** parameter. If you do not specify this parameter, the system imports the default module.'."\n", 'type' => 'string', 'required' => false, 'example' => 'BatteryModule', 'title' => ''], ], [ 'name' => 'FunctionBlockName', 'in' => 'query', 'schema' => ['description' => 'The name of the custom module. The name must be 4 to 30 characters in length, and can contain letters, digits, and underscores (\\_).'."\n" ."\n" .'This parameter must be used in combination with the **FunctionBlockId** parameter. If you do not specify this parameter, the system imports the default module.'."\n", 'type' => 'string', 'required' => false, 'example' => '电池模块', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\n9E76053E-26ED-4AB4-AE58-8AFC3F1E7E8E\\ntrue\\n","errorExample":""}]', 'title' => 'CreateThingModel', 'summary' => 'Adds a Thing Specification Language (TSL) feature to a specified product. You can specify the extended information about the feature.', 'description' => '## Limits'."\n" ."\n" .'* If a product is published, you must call the [CancelReleaseProduct](~~213875~~) operation to unpublish the product before you call this operation.'."\n" ."\n" .'* Before you call the operation, you can use the [json-schema](https://github.com/everit-org/json-schema?spm=a2c4g.11186623.2.23.575832d9zD7fZb) library to verify the input parameters in **ThingModelJson**. For more information, see [Data structure of ThingModelJson](~~150457~~).'."\n" ."\n" .'* You can call this operation to add a maximum of 10 TSL features. TSL features include properties, services, and events.'."\n" ."\n" .'* Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateThingModel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'CreateThingScript' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'ScriptContent', 'in' => 'query', 'schema' => ['description' => 'The content of the script. You must specify this parameter.'."\n" ."\n" .'For more information about script examples, see [What is data parsing](~~68702~~).'."\n", 'type' => 'string', 'required' => true, 'example' => '"function protocolToRawData(jsonObj) {return rawdata; }function rawDataToProtocol(rawData) {return jsonObj; }"', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must specify this parameter. Otherwise, the call fails.'."\n" .'>* If the **Overview** page does not appear in the console or no ID is generated for your instance, you do not need to specify this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product.'."\n" ."\n" .'You can view the **ProductKey** on the Product Details page of the IoT Platform console. You can also obtain the ProductKey by calling the [QueryProductList](~~69271~~) operation.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1Q5XoY****', 'title' => ''], ], [ 'name' => 'ScriptType', 'in' => 'query', 'schema' => ['description' => 'The language of the script. Valid values:'."\n" ."\n" .'* JavaScript'."\n" .'* Python\\_27: Python 2.7'."\n" .'* PHP\\_72: PHP 7.2'."\n", 'type' => 'string', 'required' => true, 'example' => 'JavaScript', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the request fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request. The ID uniquely identifies this request.'."\n", 'type' => 'string', 'example' => 'BB71E443-4447-4024-A000-EDE09922891E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the request was successful.'."\n" ."\n" .'* **true**: The request was successful.'."\n" .'* **false**: The request failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"BB71E443-4447-4024-A000-EDE09922891E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n BB71E443-4447-4024-A000-EDE09922891E\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'CreateThingScript', 'summary' => 'Submits a data parsing script for a specified product.', 'description' => 'A data parsing script is used to convert data submitted by devices into the JSON format. The data submitted by devices is in a custom format. You can write a script in JavaScript, Python 2.7, and PHP 7.2. For more information, see [Submit scripts for data parsing](~~149963~~).'."\n" ."\n" .'> If the data format is **Alink JSON**, the CreateThingScript operation is not supported. Alink JSON is a standard data format that is defined by IoT Connectivity Alliance (ICA).'."\n" ."\n" .'## QPS limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS). '."\n" ."\n" .'> The Resource Access Management (RAM) users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateThingScript', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'CreateTopicConfig' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'EnableBroadcast', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'EnableProxySubscribe', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'Codec', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'Operation', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'TopicFullName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Message' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.message.broker.ParamCheckError', 'errorMessage' => 'Param check error.', 'description' => ''], ['errorCode' => 'iot.message.broker.ProductCheckError', 'errorMessage' => 'Product check error.', 'description' => ''], ['errorCode' => 'iot.message.broker.SystemError', 'errorMessage' => 'System error.', 'description' => ''], ['errorCode' => 'iot.messagebroker.InvalidPubTopicFormat', 'errorMessage' => 'The pub topic cannot contain wildcard character.', 'description' => ''], ['errorCode' => 'iot.messagebroker.InvalidOperationWithBroadcast', 'errorMessage' => 'The operation must be sub when enable broadcast.', 'description' => ''], ['errorCode' => 'iot.messagebroker.InvalidTopicWithBroadcast', 'errorMessage' => 'The topic cannot contain wildcard character when enable broadcast.', 'description' => ''], ['errorCode' => 'iot.messagebroker.InvalidOperationWithProxySubscribe', 'errorMessage' => 'Operation must be sub or all when enable proxy subscribe.', 'description' => ''], ['errorCode' => 'iot.messagebroker.InvalidTopicWithProxySubscribe', 'errorMessage' => 'Topic cannot contain wildcard character when enable proxy subscribe.', 'description' => ''], ['errorCode' => 'iot.messagebroker.InvalidTopicWithCodec', 'errorMessage' => 'Topic cannot contain wildcard when enable codec.', 'description' => ''], ['errorCode' => 'iot.messagebroker.InvalidInstanceWithCodec', 'errorMessage' => 'Only connect instance support codec.', 'description' => ''], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:CreateTopicConfig', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false\\n}","type":"json"}]', ], 'CreateTopicRouteTable' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'SrcTopic', 'in' => 'query', 'schema' => ['description' => 'The source topic. Example: `SrcTopic=/x7aWKW9 ****** /testDataToDataHub/user/update`.'."\n", 'type' => 'string', 'required' => true, 'example' => '/x7aWKW9****/testDataToDataHub/user/update', 'title' => ''], ], [ 'name' => 'DstTopic', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => '', 'type' => 'array', 'items' => ['type' => 'string', 'description' => 'The list of destination topics. The destination topics subscribe to the source topic that is specified by the **SrcTopic** parameter. Use the array data type even if you specify only one destination topic. Examples: `DstTopic.1=/x7aWKW9****/deviceNameTest1/user/add` and `DstTopic.2=/x7aWKW9****/deviceNameTest2/user/delete`.'."\n", 'title' => '', 'example' => ''], 'required' => true, 'example' => '/x7aWKW9****/deviceNameTest1/user/add', 'maxItems' => 100, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'FCC27691-9151-4B93-9622-9C90F30542EC', 'title' => ''], 'IsAllSucceed' => ['description' => 'Indicates whether all the message routing relationships between topics are established.'."\n" ."\n" .'* **true**: All the message routing relationships between topics are established.'."\n" .'* **false**: Not all the message routing relationships between topics are established.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'FailureTopics' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Topic' => [ 'description' => 'The list of topics returned if the call fails.'."\n", 'type' => 'array', 'items' => ['description' => '', 'type' => 'object', 'example' => '["/2Fx7aWKW9****/FdeviceNameTest2/user/delete"]', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"FCC27691-9151-4B93-9622-9C90F30542EC\\",\\n \\"IsAllSucceed\\": true,\\n \\"Success\\": true,\\n \\"FailureTopics\\": {\\n \\"Topic\\": [\\n [\\n \\"/2Fx7aWKW9****/FdeviceNameTest2/user/delete\\"\\n ]\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n32B9828A-25DD-48E2-8E26-D1664B341940\\n\\ntrue\\n","errorExample":""}]', 'title' => 'CreateTopicRouteTable', 'summary' => 'Establishes message routing relationships between topics.', 'description' => '## Limits'."\n" ."\n" .'* You can specify a maximum of 100 destination topics for a source topic.'."\n" ."\n" .'* The device to which the source topic belongs must be activated.'."\n" ."\n" .'* The source and destination topics support only custom topics.'."\n" ."\n" .'* Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], ], 'DeleteClientIds' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the device.'."\n", 'type' => 'string', 'required' => true, 'example' => 'BXPV9Ks3bxwM9fD****0000101', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-12****78', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The response code. The value Success indicates that the call was successful. Other values indicate that errors occurred. For more information about error codes, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '89F22330-BAEE-****-****-41BA46D6E267', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"89F22330-BAEE-****-****-41BA46D6E267\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\n89F22330-BAEE-****-****-41BA46D6E267\\nSuccess\\ntrue\\n","errorExample":""}]', 'title' => 'DeleteClientIds', 'summary' => 'Deletes all ClientIDs of a device if the number of ClientIDs exceeds the limit 5. This API operation applies to preregistration-free unique-certificate-per-product authentication.', 'description' => '* You can call the [QueryClientIds](~~371985~~) operation to view the ClientIDs of a device and obtain the number of ClientIDs.'."\n" .'* After you call the DeleteClientIds operation, all ClientIDs of the device are deleted and cannot be resumed. To obtain a new ClientID, you can register the device again.'."\n" ."\n" .'## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS). '."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteClientIds', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'DeleteConsumerGroup' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'GroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the consumer group. After you call the [CreateConsumerGroup](~~170388~~) operation to create a consumer group, the consumer group ID is returned. You can call the [QueryConsumerGroupList](~~170419~~) operation to query the consumer group ID by group name. You can also go to the IoT Platform console,and choose **Rules** > **Server-side Subscription** > **Consumer Groups** to view the consumer group ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'nJRaJPn5U1JITGf******', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '73B9DF43-7780-47DE-8BED-077729D28BD2', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"73B9DF43-7780-47DE-8BED-077729D28BD2\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 73B9DF43-7780-47DE-8BED-077729D28BD2\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'DeleteConsumerGroup', 'summary' => 'Deletes a consumer group when you configure an AMQP server-side subscription.', 'description' => '## Limits'."\n" ."\n" .'* You cannot delete the default consumer group provided by IoT Platform.'."\n" ."\n" .'* If the consumer group is associated with an AMQP subscription, you must disassociate the consumer group from the subscription. If the subscription has multiple consumer groups, you can call the [DeleteConsumerGroupSubscribeRelation](~~170357~~) operation to remove the consumer group from the subscription. If the subscription has only one consumer group, you can call the [UpdateSubscribeRelation](~~170351~~) operation to change the consumer group or call the [DeleteSubscribeRelation](~~170353~~) operation to delete the subscription.'."\n" ."\n" .'* Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteConsumerGroup', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'DeleteConsumerGroupSubscribeRelation' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'ConsumerGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the consumer group. You can call the [QuerySubscribeRelation](~~170352~~) operation to query the consumer group ID in an AMQP subscription. You can also go to the IoT Platform console,and choose **Rules** > **Server-side Subscription** to view the consumer group ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'nJRaJPn5U1JITGfjBO9l00****', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product that is specified for the subscription.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1fyXVF****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 73B9DF43-7780-47DE-8BED-077729D28BD2\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'DeleteConsumerGroupSubscribeRelation', 'summary' => 'Removes a consumer group from an AMQP subscription.', 'description' => '## Limits'."\n" ."\n" .'* If the AMQP subscription has only one consumer group, you cannot call this operation to remove the consumer group.'."\n" ."\n" .'* Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteConsumerGroupSubscribeRelation', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'DeleteDataSourceItem' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the current instance **ID** on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify it; otherwise, the invocation fails.'."\n" .'- If the **Instance Overview** page or the ID does not exist, you do not need to specify this parameter.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-0pp1n8t****', 'title' => ''], ], [ 'name' => 'DataSourceItemId', 'in' => 'query', 'schema' => ['description' => 'The ID of the data source topic. You can call the [ListDataSourceItem](~~421072~~) API to query the list of topics under a specified data source and obtain the **DataSourceItemId**.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '99999999', 'minimum' => '0', 'example' => '129322', 'title' => ''], ], [ 'name' => 'DataSourceId', 'in' => 'query', 'schema' => ['description' => 'The DataSource ID. You can call the [ListParserDataSource](~~432676~~) API to query the data source list and obtain the **DataSourceId**.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '99999999', 'minimum' => '0', 'example' => '1001', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).', 'type' => 'string', 'example' => 'String iot.system.SystemException ', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ['errorCode' => 'iot.system.IllegalRequest', 'errorMessage' => 'The request parameter is invalid.', 'description' => 'The request parameter is invalid.'], ['errorCode' => 'iot.rule.DataSourceNotExists', 'errorMessage' => 'Datasource not existed', 'description' => ''], ['errorCode' => 'iot.rule.DataSourceItemNotExists', 'errorMessage' => 'datasource item not existed', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"String\\\\tiot.system.SystemException\\\\t\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'DeleteDataSourceItem', 'summary' => 'Invoke this API to delete a specified topic under a specified data source.', 'description' => '## QPS limit'."\n" ."\n" .'The maximum queries per second (QPS) for this API is 10 for each Alibaba Cloud account.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking the API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteDataSourceItem', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteDataSourceItem'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'DeleteDestination' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of your current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify this parameter. Otherwise, the invocation fails.'."\n" .'- If the **Instance Overview** page or the ID does not exist, you do not need to specify this parameter.'."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot-2w****', 'title' => ''], ], [ 'name' => 'DestinationId', 'in' => 'query', 'schema' => ['description' => 'The ID of the data destination. You can call the [ListDestination](~~433025~~) API to query the list of data destinations and obtain the **DestinationId**.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '9999999', 'minimum' => '0', 'example' => '1003', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.'."\n", 'type' => 'string', 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: The invocation failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.system.SystemError', 'errorMessage' => 'System exception.', 'description' => 'System exception.'], ['errorCode' => 'iot.system.IllegalRequest', 'errorMessage' => 'The request parameter is invalid.', 'description' => 'The request parameter is invalid.'], ['errorCode' => 'iot.rule.NotFoundRuleAction', 'errorMessage' => 'The rule action is not found.', 'description' => ''], ['errorCode' => 'iot.rule.destinationNotExists', 'errorMessage' => 'Destination not found', 'description' => ''], ['errorCode' => 'iot.rule.DestinationInUsing', 'errorMessage' => 'Destination has been attached to parser', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'DeleteDestination'."\n", 'summary' => 'Invoke this API to delete a created data destination.'."\n", 'description' => '## How-To'."\n" ."\n" .'After you successfully create a data destination by calling the [CreateDestination](~~433032~~) API, you can delete the data destination based on its **DestinationId** if required by your business.'."\n" ."\n" .'## QPS Limit'."\n" ."\n" .'Each Alibaba Cloud account can send up to 10 queries per second (QPS) to call this API. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When you invoke this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteDestination', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteDestination'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'DeleteDevice' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the ID of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n\n" ."\n" .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n" .'>* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the device belongs.'."\n" ."\n\n" ."\n" .'> If you configure this parameter, you must specify a value for the **DeviceName** parameter.', 'type' => 'string', 'required' => false, 'example' => 'a1FlqIQ****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The DeviceName of the device.'."\n" ."\n\n" .'> If you configure this parameter, you must specify a value for the **ProductKey** parameter.', 'type' => 'string', 'required' => false, 'example' => 'light', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the device.'."\n" ."\n\n" ."\n" .'**Important** The IotId parameter specifies a globally unique identifier (GUID) for the device. The value of the **IotId** parameter corresponds to a combination of the values of the **ProductKey** and **DeviceName** parameters. If you specify a value for this parameter, you do not need to configure the **ProductKey** or **DeviceName** parameter. If you specify values for the **IotId**, **ProductKey**, and **DeviceName** parameters, the value of the **IotId** parameter takes precedence.', 'type' => 'string', 'required' => false, 'example' => 'MpEKNuEUJzIORNANAWJX0010929900*****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.prod.NullProductKey', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '入参产品ID没有赋值。', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '57b144cf-09fc-4916-a272-a62902d5b207', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.prod.NullProductKey\\",\\n \\"ErrorMessage\\": \\"入参产品ID没有赋值。\\",\\n \\"RequestId\\": \\"57b144cf-09fc-4916-a272-a62902d5b207\\",\\n \\"Success\\": false\\n}","errorExample":""},{"type":"xml","example":"\\n57b144cf-09fc-4916-a272-a62902d5b207\\ntrue\\n","errorExample":""}]', 'title' => 'DeleteDevice', 'summary' => 'Deletes a device. You can also call this operation to delete the topological relationships between a gateway and the sub-devices that are connected to the gateway.', 'description' => '* When you call this operation with an Alibaba Cloud account, IoT Platform sends a verification code by text message to confirm your identity.'."\n" .'* When you call this operation with a RAM user, IoT Platform does not send a verification code. To ensure device security, you can create custom permission policies to perform fine-grained permission management. For more information, see [Mapping of IoT Platform operations and RAM policies](~~47485~~) and [Custom permissions](~~47495~~).'."\n" ."\n\n" .'**Warning**'."\n" ."\n" .'* After a device is deleted, the device ID (**IotId**) becomes invalid, and all other information associated with the device is deleted. In addition, you can no longer perform an operation on the device.'."\n" .'* Before you delete a device in the IoT Platform console, make sure that the corresponding actual device is offline. Otherwise, after the device is deleted from IoT Platform, the actual device continues to initiate connection requests to IoT Platform. If the number of requests exceeds the upper limit, IoT Platform starts request throttling. In this case, access of other devices within your Alibaba Cloud account is affected.'."\n" .'* After you delete a device, the certificate of the device becomes invalid and cannot be restored. Proceed with caution.'."\n" ."\n" .'****'."\n" ."\n" .'* You must specify a value for the **IotId** parameter or values for the **ProductKey** and **DeviceName** parameters to identify a device.'."\n" .'* If you specify a gateway and the number of sub-devices that belong to the gateway exceeds 2,000, you can call this operation to create a device job to delete the topological relationships in an asynchronous manner. The operation returns the **JobId** parameter.'."\n" ."\n" .'## QPS limits'."\n" ."\n" .'You can call this API operation up to 50 times per second per account. '."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'DeleteDeviceDistributeJob' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'JobId', 'in' => 'query', 'schema' => ['description' => 'The ID of the distribution task. The ID globally identifies the task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'UbmsMHmkqv0PiAG****010001', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\nE55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\ntrue\\n","errorExample":""}]', 'title' => 'DeleteDeviceDistributeJob', 'summary' => 'Deletes a device distribution task.', 'description' => '* This operation can be called only by using the following **endpoint**: `iot.cn-shanghai.aliyuncs.com`.'."\n" ."\n" .'* Each Alibaba Cloud account can run a maximum of 2 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteDeviceDistributeJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'DeleteDeviceDynamicGroup' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID.'."\n" ."\n" .'You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console.', 'type' => 'string', 'required' => true, 'example' => 'iot-***-v6***', 'title' => ''], ], [ 'name' => 'GroupId', 'in' => 'query', 'schema' => ['description' => 'The group ID, which is the globally unique identifier of the group.'."\n" ."\n" .'You can call the [QueryDeviceGroupList](~~93356~~) API to query the group ID (**GroupId**).', 'type' => 'string', 'required' => true, 'example' => 'tDQvBJqbUyHs***', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => 'B78B4FD1-AE89-417B-AD55-367EBB0C6759', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" ."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.group.NullGroupId', 'errorMessage' => 'You must specify the device group ID.', 'description' => 'You must specify the device group ID.'], ['errorCode' => 'iot.group.NotExistedGroup', 'errorMessage' => 'The specified device group does not exist.', 'description' => 'The specified device group does not exist.'], ['errorCode' => 'iot.common.RamActionPermissionDeny', 'errorMessage' => 'You do not have the RAM permission.', 'description' => 'You do not have the RAM permission.'], ['errorCode' => 'iot.common.InvalidTenant', 'errorMessage' => 'The tenant is invalid.', 'description' => 'The tenant is invalid.'], ['errorCode' => 'iot.group.QueryGroupInfoFailed', 'errorMessage' => 'An error occurred while querying the device group details.', 'description' => 'An error occurred while querying the device group details.'], ['errorCode' => 'iot.group.DeleteGroupFailed', 'errorMessage' => 'An error occurred while deleting the device group.', 'description' => 'An error occurred while deleting the device group.'], ['errorCode' => 'iot.common.APINotSupportedInInstance', 'errorMessage' => 'This API operation is not supported in this instance.', 'description' => 'The API operation is not supported in this instance.'], ['errorCode' => 'iot.device.RegionNotSupportDynamicGroup', 'errorMessage' => 'The region does not currently support the dynamic group feature.', 'description' => 'The region does not currently support the dynamic group feature.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"B78B4FD1-AE89-417B-AD55-367EBB0C6759\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Delete a specified dynamic group', 'summary' => 'Logically delete a dynamic device group and remove the device-group relationships under the group. ', 'description' => '## Limits'."\n" ."\n" .'- Currently, only Enterprise instances and new public instances in the China (Shanghai) region support the creation of dynamic groups. For more information about public instances, see [Public Instances](~~147356~~).'."\n" ."\n" .'- The maximum queries per second (QPS) for this API per Alibaba Cloud account is 1.'."\n" ."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteDeviceDynamicGroup', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '1', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteDeviceDynamicGroup'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'DeleteDeviceFile' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The name of the device.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **ProductKey** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'light', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n" ."\n" .'> If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. The **IotId** parameter specifies a globally unique identifier (GUID) of the device, which corresponds to a combination of **ProductKey** and **DeviceName**. If you specify both **IotId** and the combination of **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], [ 'name' => 'FileId', 'in' => 'query', 'schema' => ['description' => 'The ID of the file. You can call the [QueryDeviceFileList](~~112001~~) operation and view the file ID in the response.'."\n", 'type' => 'string', 'required' => true, 'example' => '6UCo1SqbqnQEoh9aK4561****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\nC25255EA-9F6E-4E04-85FE-AC1E9C136EBB\\ntrue\\n","errorExample":""}]', 'title' => 'DeleteDeviceFile', 'summary' => 'Deletes a file that is uploaded to IoT Platform from a device.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 500 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteDeviceFile', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'DeleteDeviceGroup' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'GroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the group. The ID is the globally unique identifier (GUID) for the group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'tDQvBJqbUyHs****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'B78B4FD1-AE89-417B-AD55-367EBB0C6759', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"B78B4FD1-AE89-417B-AD55-367EBB0C6759\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n B78B4FD1-AE89-417B-AD55-367EBB0C6759\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'DeleteDeviceGroup', 'summary' => 'Deletes a group.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 500 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteDeviceGroup', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'DeleteDeviceProp' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The name of the device.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **ProductKey** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'light', 'title' => ''], ], [ 'name' => 'PropKey', 'in' => 'query', 'schema' => ['description' => 'The key of the tag.'."\n" ."\n" .'> IoT Platform searches for the specified tag key and then deletes the tag. If no result is found, no operation is performed.'."\n", 'type' => 'string', 'required' => true, 'example' => 'room', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the device.'."\n" ."\n" .'> If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. The **IotId** parameter specifies a globally unique identifier (GUID) of the device, which corresponds to a combination of **ProductKey** and **DeviceName**. If you specify both **IotId** and the combination of **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\n57b144cf-09fc-4916-a272-a62902d5b207\\ntrue\\n","errorExample":""}]', 'title' => 'DeleteDeviceProp', 'summary' => 'Deletes a tag from a device.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 500 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteDeviceProp', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'DeleteDeviceSpeech' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotId', 'in' => 'formData', 'schema' => ['description' => 'The ID issued by the IoT Platform to the device. This ID is the Unique Identifier of the device. You can call [QueryDeviceInfo](~~257184~~) to query the Device ID.', 'example' => '4de2c367****8c585e5992**', 'required' => true, 'type' => 'string', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID.'."\n" ."\n" .'You must specify the instance ID. Otherwise, the invocation fails. You can view your instance ID on the **Instance Overview** page in the IoT Platform console.'."\n" .'>'."\n" .'If your public instance does not have an ID, see [How to Obtain an Instance ID](~~267533~~).'."\n" .'>', 'example' => 'iot_instc_pu****_c*-v64********', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'DeviceSpeechList', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of speech corpus to be deleted.', 'items' => [ 'properties' => [ 'BizCode' => ['description' => 'The corpus identifier. You can call [QuerySpeech](~~217577~~) to query the corpus identifier.', 'example' => 'identifying', 'required' => true, 'type' => 'string', 'title' => ''], 'AudioFormat' => ['description' => 'The audio format. Only **wav**, **mp3**, and **amr** formats are supported.', 'example' => 'wav', 'required' => true, 'type' => 'string', 'title' => ''], ], 'required' => false, 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], 'maxItems' => 50, 'required' => true, 'type' => 'array', 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).', 'example' => 'iot.speechsolution.NotSigned', 'type' => 'string', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'example' => 'speech solution has not been signed', 'type' => 'string', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'example' => '66FF51D3-***-49F1-B1A2-***', 'type' => 'string', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" ."\n" .'- **true**: The invocation succeeded.'."\n" ."\n" .'- **false**: The invocation failed.', 'example' => 'true', 'type' => 'boolean', 'title' => ''], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.speechsolution.NotSigned\\",\\n \\"ErrorMessage\\": \\"speech solution has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'DeleteDeviceSpeech', 'summary' => 'Invoke this API to delete speech corpus from a device.', 'requestParamsDescription' => 'When calling this API, you must include both the common request parameters and the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:DeleteDeviceSpeech', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteDeviceSpeech'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'DeleteDeviceTunnel' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'TunnelId', 'in' => 'query', 'schema' => ['description' => 'The ID of the security tunnel to delete.', 'type' => 'string', 'required' => true, 'example' => 'd4098041-a560-***', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify it; otherwise, the invocation fails.'."\n" .'- If the **Instance Overview** page or ID does not exist, you do not need to specify this parameter.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-***-v6***', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" ."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.securetunnel.InstanceIdMismatch', 'errorMessage' => 'The instanceId does not match the parameter.', 'description' => 'The instance ID does not match the parameter.'], ['errorCode' => 'iot.securetunnel.TunnelNotExist', 'errorMessage' => 'The device tunnel does not exist.', 'description' => 'The device tunnel does not exist.'], ['errorCode' => 'iot.securetunnel.IllegalState', 'errorMessage' => 'The tunnel state does not meet the requirement.', 'description' => 'The state of the secure tunnel is invalid.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Delete a device security tunnel', 'summary' => 'You can invoke this API to delete a security tunnel that has been shut down. ', 'description' => '## Queries per second (QPS) limit '."\n" .'Each Alibaba Cloud account can send a maximum of 5 requests per second (QPS) to call this API.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking the API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteDeviceTunnel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteDeviceTunnel'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'DeleteEdgeDriver' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'DriverId', 'in' => 'query', 'schema' => ['description' => 'The ID of the driver. To obtain the driver ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Drivers** page, move the pointer over the name of the driver that you want to delete and obtain the driver ID.'."\n" ."\n" .'You can also call the [QueryEdgeDriver](~~155776~~) operation to query the driver ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'fec565038d7544978d9aed5c1a******', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message that is returned if the call failed.'."\n", 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'F82E857F-B6B9-4CCC-96B8-E4BE97095F1A', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"F82E857F-B6B9-4CCC-96B8-E4BE97095F1A\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n F82E857F-B6B9-4CCC-96B8-E4BE97095F1A\\r\\n Success\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'DeleteEdgeDriver', 'summary' => 'Deletes a driver.', 'description' => '## Limits'."\n" ."\n" .'* You are not allowed to delete a driver that has a published version.'."\n" ."\n" .'* Each Alibaba Cloud account can run a maximum of five queries per second (QPS).'."\n" ."\n" .'>RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~135196~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteEdgeDriver', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'DeleteEdgeDriverVersion' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'DriverId', 'in' => 'query', 'schema' => ['description' => 'The ID of the driver. To obtain the driver ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Drivers** page, move the pointer over the name of the driver for which you want to delete a driver version and obtain the driver ID.'."\n" ."\n" .'You can also call the [QueryEdgeDriver](~~155776~~) operation to query the driver ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'fec565038d7544978d9aed5c1a******', 'title' => ''], ], [ 'name' => 'DriverVersion', 'in' => 'query', 'schema' => ['description' => 'The version number of the driver.'."\n", 'type' => 'string', 'required' => true, 'example' => '1.2.0', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message that is returned if the call failed.'."\n", 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'J82E857F-T6B9-4FDE-96B8-E4BE97095D1A', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"J82E857F-T6B9-4FDE-96B8-E4BE97095D1A\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n J82E857F-T6B9-4FDE-96B8-E4BE97095D1A\\r\\n Success\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'DeleteEdgeDriverVersion', 'summary' => 'Deletes a driver version.', 'description' => '## Limits'."\n" ."\n" .'* You are not allowed to delete a published driver version.'."\n" .'* Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~135196~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteEdgeDriverVersion', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'DeleteEdgeInstance' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance that you want to delete and obtain the instance ID.'."\n" ."\n" .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'F3APY0tPLhmgGtx0****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message that is returned if the call failed.'."\n", 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'F29C33E5-BF22-48FE-9FEF-8A24146E3388', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"F29C33E5-BF22-48FE-9FEF-8A24146E3388\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n F29C33E5-BF22-48FE-9FEF-8A24146E3388\\r\\n Success\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'DeleteEdgeInstance', 'summary' => 'Deletes an edge instance.', 'description' => 'Each Alibaba Cloud account can run a maximum of five queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteEdgeInstance', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'DeleteEdgeInstanceMessageRouting' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the IoT Platform: '."\n" .'- Enterprise instance: You must specify this parameter. You can view your Enterprise instance ID on the **Instance Overview** page in the [IoT Platform console](http://iot.console.aliyun.com/). '."\n" .'- Public instance: You do not need to specify this parameter. ', 'example' => 'iot_instc_pu****_c*-v64********', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The edge instance ID. On the **Edge Instances** page in the [Edge Computing console](https://iot.console.aliyun.com/le/instance/list), hover the mouse pointer over the name of the target edge instance to obtain its ID. ', 'example' => '5zvK1COK1gtr********', 'required' => true, 'type' => 'string', 'title' => ''], ], [ 'name' => 'RouteId', 'in' => 'query', 'schema' => ['description' => 'The ID of the message routing. You can obtain it by calling the [QueryEdgeInstanceMessageRouting](~~212633~~) API. ', 'example' => '123456', 'format' => 'int64', 'maximum' => '9223372036854775807', 'minimum' => '0', 'required' => true, 'type' => 'integer', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'properties' => [ 'Code' => ['description' => 'The return code of the API: '."\n" .'- **Success**: Indicates success. '."\n" .'- Others: Indicate error codes. For details about error codes, see [Error Codes](~~135200~~). ', 'example' => 'Success', 'type' => 'string', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation failed. ', 'example' => 'request parameter error', 'type' => 'string', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generated for this request. ', 'example' => 'E252BC84-EF9A-4F0F-8E73-ADCF9CA3B722', 'type' => 'string', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded: '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: The invocation failed. ', 'example' => 'true', 'type' => 'boolean', 'title' => ''], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"E252BC84-EF9A-4F0F-8E73-ADCF9CA3B722\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'DeleteEdgeInstanceMessageRouting ', 'summary' => 'Invoke this API to delete a message routing from an edge instance. ', 'description' => '## Conditions '."\n" .'- If you invoke this API in an Enterprise instance, you must specify the **IotInstanceId** parameter. Otherwise, the API call fails. '."\n" .'- The maximum queries per second (QPS) for this API per Alibaba Cloud account is 10. '."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. ', 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~135196~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteEdgeInstanceMessageRouting', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteEdgeInstanceMessageRouting'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'DeleteJob' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID.'."\n" ."\n" .'You can view the **ID** of your current instance on the **Instance Overview** page in the IoT Platform console. If an ID exists, you must specify it; otherwise, the invocation will fail.'."\n" ."\n" .'> If your public instance does not have an ID, see [How to Obtain an Instance ID](~~267533~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'JobId', 'in' => 'query', 'schema' => ['description' => 'The job ID. This is the globally unique identifier of the job.', 'type' => 'string', 'required' => true, 'example' => 'XUbmsMHmkqv0PiAG****010001', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation failed. For more information, see [error codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation failed.', 'type' => 'string', 'example' => '系统异常 ', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => 'C25255EA-9F6E-4E04-85FE-AC1E9C136EBB', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常 \\",\\n \\"RequestId\\": \\"C25255EA-9F6E-4E04-85FE-AC1E9C136EBB\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Delete Job', 'summary' => 'Invoke this API to delete a job.', 'description' => '## How-To'."\n" ."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account when calling this API is 5.'."\n" ."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteJob'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'DeleteOTAFirmware' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'FirmwareId', 'in' => 'query', 'schema' => ['description' => 'The unique ID of the OTA update package.'."\n" ."\n" .'An update package ID is returned when you call the [CreateOTAFirmware](~~147311~~) operation to create the update package.'."\n" ."\n" .'You can call the [ListOTAFirmware](~~147450~~) operation and view the update package ID in the response.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 's8SSHiKjpBfrM3BSN0z803****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '9B7BF858-7686-496E-B8B0-BF9E5D7F86CE', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"9B7BF858-7686-496E-B8B0-BF9E5D7F86CE\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n 9B7BF858-7686-496E-B8B0-BF9E5D7F86CE\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'DeleteOTAFirmware', 'summary' => 'Deletes an over-the-air (OTA) update package.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteOTAFirmware', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'DeleteOTAModule' => [ 'methods' => ['post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the OTA module belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1uctKe****', 'title' => ''], ], [ 'name' => 'ModuleName', 'in' => 'query', 'schema' => ['description' => 'The name of the OTA module.'."\n", 'type' => 'string', 'required' => true, 'example' => 'barcodeScanner', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '74C2BB8D-1D6F-41F5-AE68-6B2310883F63', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"74C2BB8D-1D6F-41F5-AE68-6B2310883F63\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 29EC7245-0FA4-4BB6-B4F5-5F04818FDFB1\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'DeleteOTAModule', 'summary' => 'Deletes a custom OTA module.', 'description' => '## Limits'."\n" ."\n" .'* The default module cannot be deleted.'."\n" ."\n" .'* If an update package exists in an OTA module, you cannot delete the OTA module.'."\n" ."\n" .'* Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteOTAModule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'DeleteParser' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify this ID. Otherwise, the invocation fails.'."\n" .'- If the **Instance Overview** page or ID does not exist, you do not need to specify this parameter.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-1n8t****', 'title' => ''], ], [ 'name' => 'ParserId', 'in' => 'query', 'schema' => ['description' => 'The resolver ID. You can call the [ListParsers](~~429046~~) API to query the resolver list and obtain the **ParserId**.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '9999999999', 'minimum' => '0', 'example' => '1001', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [error codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ['errorCode' => 'iot.check.InvalidFormattedParameter', 'errorMessage' => 'The parameter format is invalid.', 'description' => 'The parameter format is invalid.'], ['errorCode' => 'iot.rule.DeleteRuleFailed', 'errorMessage' => 'An error occurred while deleting the rule.', 'description' => 'An error occurred while deleting the rule.'], ['errorCode' => 'iot.ruleng.RuleAlreadyIsStarted', 'errorMessage' => 'The specified rule has already started', 'description' => ''], ['errorCode' => 'iot.rule.NotFoundRule', 'errorMessage' => 'there are no rules', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'DeleteParser', 'summary' => 'Invoke this API to delete a resolver.', 'description' => '## How-To'."\n" ."\n" .'After you successfully create a resolver by calling the [CreateParser](~~429044~~) API, you can delete the resolver based on its **ParserId** if required by your business.'."\n" ."\n" .'## QPS Limit'."\n" ."\n" .'Each Alibaba Cloud account can send up to 10 queries per second (QPS) to call this API.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When you invoke this API, in addition to the API-specific request parameters described in this topic, you must also specify common request parameters. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteParser', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteParser'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'DeleteParserDataSource' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify it; otherwise, the invocation fails.'."\n" .'- If the **Instance Overview** page or the ID does not exist, this parameter is not required.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-2w****', 'title' => ''], ], [ 'name' => 'DataSourceId', 'in' => 'query', 'schema' => ['description' => 'The DataSource ID. You can call the [ListParserDataSource](~~432676~~) API to query the data source list and obtain the **DataSourceId**.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '999999999', 'minimum' => '0', 'example' => '1001', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ['errorCode' => 'iot.system.IllegalRequest', 'errorMessage' => 'The request parameter is invalid.', 'description' => 'The request parameter is invalid.'], ['errorCode' => 'iot.rule.DeleteRuleFailed', 'errorMessage' => 'An error occurred while deleting the rule.', 'description' => 'An error occurred while deleting the rule.'], ['errorCode' => 'iot.rule.DataSourceNotExists', 'errorMessage' => 'Datasource not existed', 'description' => ''], ['errorCode' => 'iot.rule.DataSourceBounded', 'errorMessage' => 'data source has been bounded. unbound it first', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'DeleteParserDataSource', 'summary' => 'Deletes a created data source by invoking this API.', 'description' => '## How-To'."\n" ."\n" .'After you successfully create a data source by calling the [CreateParserDataSource](~~433011~~) API, you can delete the data source based on the returned **DataSourceId** if required by your business.'."\n" ."\n" .'## Queries Per Second (QPS) Limit'."\n" ."\n" .'The maximum queries per second (QPS) limit for this API is 10 per Alibaba Cloud account. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteParserDataSource', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteParserDataSource'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'DeletePowerStation' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'AlgorithmInstanceUid', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'PowerStationUid', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Data' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.dap.insight.unknownException', 'errorMessage' => 'unknown exception.', 'description' => 'unknown exception.'], ['errorCode' => 'iot.dap.insight.requestParamError', 'errorMessage' => 'request param error.', 'description' => 'request param error.'], ], 500 => [ ['errorCode' => 'iot.dap.insight.bizExceptionNotSpecified', 'errorMessage' => 'biz exception not specified.', 'description' => 'biz exception not specified.'], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"Data\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false\\n}","type":"json"}]', ], 'DeleteProduct' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-64***', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product that you want to delete. A ProductKey is a GUID that is issued by IoT Platform to a product. You can use the IoT Platform console or call the [QueryProductList](~~69271~~) operation to view the information about all products within the current account.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\n \\n 57b144cf-09fc-4916-a272-a62902d5b207\\n true\\n ","errorExample":""}]', 'title' => 'DeleteProduct', 'summary' => 'Deletes a product.', 'description' => '## Limits'."\n" ."\n" .'* After a product is deleted, the ProductKey of the product is invalid. The related information about the product is also deleted. You cannot perform the required operations on the product.'."\n" ."\n" .'* Each Alibaba Cloud account can run a maximum of 500 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteProduct', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'DeleteProductTags' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-v64***', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product. A ProductKey is a GUID that is issued by IoT Platform to a product. You can use the IoT Platform console or call the [QueryProductList](~~69271~~) operation to view the information about all products within the current account.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'ProductTagKey', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of tag keys to be deleted.', 'type' => 'array', 'items' => ['type' => 'string', 'description' => 'The keys of the tags.'."\n", 'title' => '', 'example' => ''], 'required' => true, 'example' => 'room', 'maxItems' => 10, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Delete Product Tags', 'summary' => 'Invoke this API to delete product tags.', 'description' => '## How-To'."\n" ."\n" .'You can delete up to 10 tags in a single API call.'."\n" ."\n" .'## QPS limit'."\n" .'Each Alibaba Cloud account can send a maximum of 500 queries per second (QPS) to invoke this API.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When you invoke this API, in addition to the API-specific request parameters described in this topic, you must also specify common request parameters. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteProductTags', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteProductTags'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'DeleteProductTopic' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'TopicId', 'in' => 'query', 'schema' => ['description' => 'The ID of the topic category that you want to delete.'."\n", 'type' => 'string', 'required' => true, 'example' => '798****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'FCC27691-9151-4B93-9622-9C90F30542EC', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"FCC27691-9151-4B93-9622-9C90F30542EC\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n FCC27691-9151-4B93-9622-9C90F30542EC\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'DeleteProductTopic', 'summary' => 'Deletes a specified topic category.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteProductTopic', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'DeleteRule' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'RuleId', 'in' => 'query', 'schema' => ['description' => 'The ID of the rule that you want to delete. You can log on to the IoT Platform console and choose **Rules** > **Data Forwarding** to view the rule ID. You can also call the [ListRule](~~69486~~) operation and view the rule ID in the response.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '100000', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'A8F48485-44B9-40D8-A56D-F716F384F387', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"A8F48485-44B9-40D8-A56D-F716F384F387\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n A8F48485-44B9-40D8-A56D-F716F384F387\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'DeleteRule', 'summary' => 'Deletes a specified rule.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteRule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'DeleteRuleAction' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ActionId', 'in' => 'query', 'schema' => ['description' => 'The identifier of the rule action that you want to delete.'."\n" ."\n" .'After you call the [CreateRuleAction](~~69586~~) operation to create a rule action, the rule action ID is returned. You can call the [ListRuleActions](~~69517~~) operation to view the rule action ID.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '100001', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '8FC9E36B-E0DC-4802-84EE-184E255B4E95', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"8FC9E36B-E0DC-4802-84EE-184E255B4E95\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n 8FC9E36B-E0DC-4802-84EE-184E255B4E95\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'DeleteRuleAction', 'summary' => 'Deletes a specified rule action.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteRuleAction', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'DeleteSceneRule' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. Do not specify this parameter for public instances. Specify this parameter for Enterprise instances.', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'RuleId', 'in' => 'query', 'schema' => ['description' => 'The ID of the scene orchestration rule. You can obtain the rule ID by calling the [QuerySceneRule](~~169498~~) API.', 'type' => 'string', 'required' => true, 'example' => 'f041397879ad4d89822811d741******', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the API. A value of Success indicates that the request succeeded. Other values indicate error codes. For more information, see [Error Codes](~~135200~~).', 'type' => 'string', 'example' => 'Success', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => 'C9D9C91B-1B3B-4D84-BE58-68E7B2A989EA', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. A value of true indicates success. A value of false indicates failure.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"RequestId\\": \\"C9D9C91B-1B3B-4D84-BE58-68E7B2A989EA\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Delete a scene orchestration rule', 'summary' => 'Delete a scene orchestration rule.', 'description' => '## Conditions'."\n" .'Each Alibaba Cloud account can send a maximum of 10 queries per second (QPS) to call this API.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When you invoke this API, you must specify both the common request parameters and the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Request Parameters](~~135196~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteSceneRule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSceneRule'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'DeleteSchedulePeriod' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'PeriodCode', 'in' => 'formData', 'schema' => ['description' => 'The unique identifier of the time segment.', 'type' => 'string', 'required' => true, 'example' => 'Md3ZiTL888K9llXDy7890***********', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID.You can view the **ID** of your current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify it. Otherwise, the invocation fails.'."\n" .'- If no ID exists, you do not need to specify this parameter.'."\n" .'>'."\n" ."\n" .'For more information about instances, see [How to Obtain an Instance ID](~~267533~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation failed. For more information, see [Error Codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.soundcodeservice.NotSigned', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation failed.', 'type' => 'string', 'example' => 'sound code service has not been signed', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generated for this request.', 'type' => 'string', 'example' => '66FF51D3-***-49F1-B1A2-***', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.scheduleperiod.InvalidIotInstanceId', 'errorMessage' => 'invalid IotInstanceId', 'description' => ''], ['errorCode' => 'iot.scheduleperiod.NotExists', 'errorMessage' => 'schedule period not exists', 'description' => ''], ], 403 => [ ['errorCode' => 'iot.soundcodeservice.NotSigned', 'errorMessage' => 'sound code service has not been signed', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'DeleteSchedulePeriod', 'summary' => 'Invoke this API to delete a sound code schedule period.', 'description' => '## Queries per second (QPS) limit'."\n" .'Each Alibaba Cloud account can send a maximum of 2 requests per second (QPS) to call this API.'."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When you invoke this API, you must specify both the common request parameters and the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Parameters](~~30561~~).', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:DeleteSchedulePeriod', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSchedulePeriod'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'DeleteShareTaskDevice' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'ShareTaskId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the share task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'Md3ZiTL888K9llXDy7890***********', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID. You can view the **ID** of your current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify this parameter. Otherwise, the invocation fails.'."\n" .'- If the **Instance Overview** page or the ID does not exist, you do not need to specify this parameter.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'IotIdList', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of devices to be deleted. Specify the **IotId** of each device. You can obtain this parameter by calling [QueryDevice](~~69905~~).'."\n", 'type' => 'array', 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'maxItems' => 10000, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.'."\n", 'type' => 'string', 'example' => 'An internal error occurred. Try again later.', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.'."\n", 'type' => 'string', 'example' => 'AF71BF1D-B552-47CD-B34B-352557627992', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" ."\n" .'- **true**: The invocation succeeded.'."\n" ."\n" .'- **false**: The invocation failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The result of the deletion operation.'."\n", 'type' => 'object', 'properties' => [ 'ProgressId' => ['description' => 'The progress ID.'."\n", 'type' => 'string', 'example' => 'Md3ZiTL888K9llXDy7890***********', 'title' => ''], 'Progress' => ['description' => 'The progress percentage, ranging from 0 to 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.speech.InvalidIotInstanceId', 'errorMessage' => 'invalid instance id', 'description' => ''], ['errorCode' => 'iot.sharetask.EmptyShareDevice', 'errorMessage' => 'no device to share', 'description' => ''], ['errorCode' => 'iot.sharetask.ShareDeviceProcessing', 'errorMessage' => 'share device processing', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"An internal error occurred. Try again later.\\",\\n \\"RequestId\\": \\"AF71BF1D-B552-47CD-B34B-352557627992\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ProgressId\\": \\"Md3ZiTL888K9llXDy7890***********\\",\\n \\"Progress\\": 100\\n }\\n}","type":"json"}]', 'title' => 'DeleteShareTaskDevice'."\n", 'summary' => 'Invoke this API to delete devices from a share task.'."\n", 'description' => '## QPS Limit'."\n" ."\n" .'Each Alibaba Cloud account can send up to 5 queries per second (QPS) to call this API.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When you invoke this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:DeleteShareTaskDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteShareTaskDevice'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'DeleteSoundCode' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'SoundCode', 'in' => 'formData', 'schema' => ['description' => 'The unique identifier of the sound code.', 'type' => 'string', 'required' => true, 'example' => 'Md3ZiTL888K9llXDy7890***********', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID.You can view the **ID** of your current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify it. Otherwise, the invocation fails.'."\n" .'- If no ID exists, you do not need to specify it.'."\n" .'>'."\n" ."\n" .'For more information about instances, see [How to Obtain an Instance ID](~~267533~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.soundcodeservice.NotSigned', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => 'sound code service has not been signed', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => '66FF51D3-***-49F1-B1A2-***', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.soundcode.InvalidIotInstanceId', 'errorMessage' => 'invalid iot instance id', 'description' => 'invalid iot instance id'], ['errorCode' => 'iot.soundcode.InvalidSoundCode', 'errorMessage' => 'invalid sound code', 'description' => ''], ['errorCode' => 'iot.soundcode.InvalidParam', 'errorMessage' => 'invalid param', 'description' => 'invalid param'], ['errorCode' => 'iot.soundcode.NotExists', 'errorMessage' => 'sound code not exists', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'DeleteSoundCode', 'summary' => 'Invoke this API to delete a sound code.', 'description' => '## Queries per second (QPS) limit'."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 2.'."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When you call this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:DeleteSoundCode', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSoundCode'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'DeleteSoundCodeLabel' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'SoundCode', 'in' => 'formData', 'schema' => ['description' => 'The unique identifier of the sound code.', 'type' => 'string', 'required' => true, 'example' => 'Md3ZiTL888K9llXDy7890***********', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID.You can view the **ID** of your current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify it; otherwise, the invocation fails.'."\n" .'- If no ID exists, you do not need to specify it.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [How to Obtain an Instance ID](~~267533~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.soundcodeservice.NotSigned', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.'."\n", 'type' => 'string', 'example' => 'sound code service has not been signed', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => '66FF51D3-***-49F1-B1A2-***', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" ."\n" .'- **true**: The invocation succeeded.'."\n" ."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.soundcode.InvalidIotInstanceId', 'errorMessage' => 'invalid iot instance id', 'description' => 'invalid iot instance id'], ['errorCode' => 'iot.soundcode.InvalidSoundCode', 'errorMessage' => 'invalid sound code', 'description' => ''], ['errorCode' => 'iot.soundcode.LabelNotExists', 'errorMessage' => 'sound code label not exists', 'description' => ''], ], 403 => [ ['errorCode' => 'iot.soundcodeservice.NotSigned', 'errorMessage' => 'sound code service has not been signed', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'DeleteSoundCodeLabel', 'summary' => 'Invoke this API to delete a sound code label.', 'description' => '## Queries per second (QPS) limit '."\n" .'Each Alibaba Cloud account can send a maximum of 2 requests per second (QPS) to call this API. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:DeleteSoundCodeLabel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSoundCodeLabel'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'DeleteSoundCodeSchedule' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'ScheduleCode', 'in' => 'formData', 'schema' => ['description' => 'The unique identifier of the schedule.', 'type' => 'string', 'required' => true, 'example' => 'Md3ZiTL888K9llXDy7890***********', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID.You can view the **ID** of your current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify it. Otherwise, the invocation fails.'."\n" .'- If no ID exists, you do not need to specify this parameter.'."\n" .'>'."\n" ."\n" .'For more information about instances, see [How to Obtain an Instance ID](~~267533~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.soundcodeservice.NotSigned', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => 'sound code service has not been signed', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => '66FF51D3-***-49F1-B1A2-***', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.soundcodeschedule.NotExists', 'errorMessage' => 'schedule not exists', 'description' => ''], ['errorCode' => 'iot.soundcodeschedule.InvalidIotInstanceId', 'errorMessage' => 'invalid schedule IotInstanceId', 'description' => ''], ['errorCode' => 'iot.scheduleperiod.AlreadyExists', 'errorMessage' => 'schedule period already exists', 'description' => ''], ['errorCode' => 'iot.soundcode.AlreadyExistsLabel', 'errorMessage' => 'already exists sound code label', 'description' => ''], ], 403 => [ ['errorCode' => 'iot.soundcodeservice.NotSigned', 'errorMessage' => 'sound code service has not been signed', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'DeleteSoundCodeSchedule', 'summary' => 'Invoke this API to delete a sound code schedule.', 'description' => '## Queries per second (QPS) limit'."\n" .'Each Alibaba Cloud account can send a maximum of 2 requests per second (QPS) to call this API.'."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling this API, you must include both the common request parameters and the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Parameters](~~30561~~).', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:DeleteSoundCodeSchedule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSoundCodeSchedule'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'DeleteSpeech' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID.'."\n" ."\n" .'You must specify an instance ID. Otherwise, the invocation fails. You can view your instance ID on the **Instance Overview** page in the IoT Platform console.'."\n" .'>'."\n" .'If your public instance does not have an ID, see [How to Obtain an Instance ID](~~267533~~).'."\n" .'>', 'example' => 'iot_instc_pu****_c*-v64********', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'SpeechCodeList', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => "\n" .'The IDs of the corpus entries to delete. You can obtain corpus IDs from the **Corpus Configuration** console or by invoking [CreateSpeech](~~217571~~). Upon a successful invocation, the **Data** field in the response contains the corpus ID.'."\n" ."\n" .'N is an integer in the range of 1 to 20, indicating that you can delete up to 20 corpus entries per request.', 'example' => '4de2c367****8c585e5992**', 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'maxItems' => 20, 'required' => true, 'type' => 'array', 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).', 'example' => 'iot.speech.InvalidSpeechCodeList', 'type' => 'string', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.'."\n", 'example' => 'invalid SpeechCodeList', 'type' => 'string', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'example' => '66FF51D3-***-49F1-B1A2-***', 'type' => 'string', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" ."\n" .'- **true**: The invocation succeeded.'."\n" ."\n" .'- **false**: The invocation failed.'."\n", 'example' => 'true', 'type' => 'boolean', 'title' => ''], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.speech.InvalidSpeechCodeList\\",\\n \\"ErrorMessage\\": \\"invalid SpeechCodeList\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Delete Corpus', 'summary' => 'Delete the specified corpus.', 'requestParamsDescription' => 'When you invoke this API, you must specify both the common request parameters and the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:DeleteSpeech', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSpeech'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'DeleteStudioAppDomainOpen' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'formData', 'schema' => ['description' => 'The application ID. You can call [QueryStudioAppList](~~216816~~) to query it.', 'type' => 'string', 'required' => true, 'example' => 'a12******', 'title' => ''], ], [ 'name' => 'DomainId', 'in' => 'formData', 'schema' => ['description' => 'The domain ID. You can call [QueryStudioAppDomainListOpen](~~216814~~) to view it.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'minimum' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'ProjectId', 'in' => 'formData', 'schema' => ['description' => 'The project ID.'."\n" .'1. Log on to the [IoT Application Development Console](https://studio.iot.aliyun.com/?spm=a2c4g.11186623.2.8.15b03118ooIo9y). In the upper-left corner of the page, select the corresponding instance, and then click Project Management in the left-side navigation pane.'."\n" .'2. In the standard project list, locate the target project, click its project card, and then check the address bar of your browser.', 'type' => 'string', 'required' => true, 'example' => 'a123*******', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID.'."\n" ."\n" .'You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console. If an ID exists, you must include it in the request; otherwise, the invocation will fail.'."\n" ."\n" .''."\n" .'> If your public instance does not have an ID, see [How to Obtain an Instance ID](~~267533~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the invocation fails. For more information about error codes, see [Error Codes](~~202245~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'Data' => ['description' => 'This parameter is returned if the invocation succeeds, with a value of true.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the invocation fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 200 => [ ['errorCode' => 'Studio.App.NotExist', 'errorMessage' => 'The application does not exist.', 'description' => ''], ['errorCode' => 'Studio.App.Domain.DomainNotExist', 'errorMessage' => 'The domain does not exist.', 'description' => ''], ['errorCode' => 'Studio.App.Domain.DomainAuthFail', 'errorMessage' => 'You are not authorized to manage the domain.', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"Data\\": true,\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'DeleteStudioAppDomainOpen', 'summary' => 'Invoke this API to delete a domain name that should be attached.', 'description' => '## Limits'."\n" .'Each Alibaba Cloud account can send up to 10 queries per second (QPS) when calling this API.'."\n" .'> Resource Access Management (RAM) users share the quota of their Alibaba Cloud account.', 'requestParamsDescription' => 'When you invoke this API, in addition to the API-specific request parameters described in this topic, you must also specify common request parameters. For more information about common request parameters, see [Common Request Parameters](~~203277~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteStudioAppDomainOpen', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteStudioAppDomainOpen'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'DeleteSubscribeRelation' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product that is specified for the subscription.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1fyXVF****', 'title' => ''], ], [ 'name' => 'Type', 'in' => 'query', 'schema' => ['description' => 'The type of the subscription. Valid values:'."\n" ."\n" .'* **MNS**'."\n" .'* **AMQP**'."\n", 'type' => 'string', 'required' => true, 'example' => 'AMQP', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 73B9DF43-7780-47DE-8BED-077729D28BD2\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'DeleteSubscribeRelation', 'summary' => 'Deletes a Message Service (MNS) or AMQP server-side subscription.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteSubscribeRelation', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'DeleteThingModel' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n" .'>* If no **Overview** page or ID is generated for your instance, you do not need to configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group.'."\n" ."\n" .'> You cannot configure this parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-acfm4l5tcwd****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'FunctionBlockId', 'in' => 'query', 'schema' => ['description' => 'The identifier of the custom TSL module. Each identifier is unique in a product.'."\n" ."\n" .'* If you configure the BatteryModule parameter when a value is specified for the **PropertyIdentifier.N**, **ServiceIdentifier.N**, or **EventIdentifier.N** parameter, the operation removes one or more specified features from the specified custom TSL module. If you do not configure the BatteryModule parameter, the operation removes one or more specified features from the default TSL module.'."\n" .'* If you configure the BatteryModule parameter when the **PropertyIdentifier.N**, **ServiceIdentifier.N**, and **EventIdentifier.N** parameters are empty, the operation removes all features from the specified custom TSL module.'."\n", 'type' => 'string', 'required' => false, 'example' => 'BatteryModule', 'title' => ''], ], [ 'name' => 'PropertyIdentifier', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'A list of property identifiers to delete. You can specify up to 10 property identifiers.', 'type' => 'array', 'items' => ['description' => 'The property identifiers that you want to delete. You can specify up to 10 property identifiers.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Temperature', 'title' => ''], 'required' => false, 'example' => 'Temperature', 'maxItems' => 100, 'title' => '', ], ], [ 'name' => 'ServiceIdentifier', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'A list of service identifiers to delete. You can specify up to 10 service identifiers.', 'type' => 'array', 'items' => ['description' => 'The service identifiers that you want to delete. You can specify up to 10 service identifiers.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Set', 'title' => ''], 'required' => false, 'example' => 'Set', 'maxItems' => 100, 'title' => '', ], ], [ 'name' => 'EventIdentifier', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'A list of event identifiers to delete. You can pass up to 10 event identifiers.', 'type' => 'array', 'items' => ['description' => 'The event identifiers that you want to delete. You can specify up to 10 event identifiers.'."\n", 'type' => 'string', 'required' => false, 'example' => 'OfflineAlert', 'title' => ''], 'required' => false, 'example' => 'OfflineAlert', 'maxItems' => 100, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the request fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Delete a specified feature from the Thing Specification Language model of a specified product', 'summary' => 'Invoke this API to delete a specified feature from the Thing Specification Language model of a specified product.'."\n", 'description' => '## How-To'."\n" .'- If the specified product has been published, you must first call the [CancelReleaseProduct](~~213875~~) API to cancel the product\'s publication before invoking this API to delete features from its Thing Specification Language model.'."\n" .'- You can also use this API to delete unpublished newly added feature definitions or custom modules in the Thing Specification Language model of the product.'."\n" .'- When calling this API, you must provide the **ProductKey** parameter and specify one of the following identifiers for the Thing Specification Language model: **FunctionBlockId**, **PropertyIdentifier.N**, **ServiceIdentifier.N**, or **EventIdentifier.N**. The logic for deleting feature definitions from the Thing Specification Language model of the specified product is as follows:'."\n" .' - If only **ProductKey** and **FunctionBlockId** are provided, the specified custom module in the Thing Specification Language model of the product is deleted.'."\n" .' - If **ProductKey** and any of **PropertyIdentifier.N**, **ServiceIdentifier.N**, or **EventIdentifier.N** are provided (without **FunctionBlockId**), the specified feature definitions within the default module of the product’s Thing Specification Language model are deleted. In this case, only the specified feature definitions that exist and have been passed in the request will be deleted. If none of the provided **PropertyIdentifier.N**, **ServiceIdentifier.N**, or **EventIdentifier.N** values exist in the default module, the API call fails and returns an error code indicating that the feature definition does not exist.'."\n" .' - If **ProductKey**, **FunctionBlockId**, and any of **PropertyIdentifier.N**, **ServiceIdentifier.N**, or **EventIdentifier.N** are provided, the specified feature definitions within the custom module (identified by **FunctionBlockId**) of the product’s Thing Specification Language model are deleted. Only the specified feature definitions that exist and have been passed in the request will be deleted. If none of the provided **PropertyIdentifier.N**, **ServiceIdentifier.N**, or **EventIdentifier.N** values exist in the custom module, the API call fails and returns an error code indicating that the feature definition does not exist.'."\n" .' > You can pass up to 10 identifiers each for **PropertyIdentifier.N**, **ServiceIdentifier.N**, and **EventIdentifier.N**.'."\n" ."\n" .'- After successfully deleting a feature from the Thing Specification Language model using this API, you must call the [PublishThingModel](~~150311~~) API to republish the product’s Thing Specification Language model. Otherwise, the deletion operation will not take effect.'."\n" ."\n\n" .'## QPS Limit'."\n" .'The maximum queries per second (QPS) limit for this API is 5 per Alibaba Cloud account. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Request Parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteThingModel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteThingModel'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'DeleteTopicConfig' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'TopicFullName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Message' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.message.broker.ParamCheckError', 'errorMessage' => 'Param check error.', 'description' => ''], ['errorCode' => 'iot.message.broker.ProductCheckError', 'errorMessage' => 'Product check error.', 'description' => ''], ['errorCode' => 'iot.message.broker.SystemError', 'errorMessage' => 'System error.', 'description' => ''], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false\\n}","type":"json"}]', ], 'DeleteTopicRouteTable' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'SrcTopic', 'in' => 'query', 'schema' => ['description' => 'The source topic. Example: `SrcTopic.1=/x7aWKW9****/testDataToDataHub/user/update`.'."\n", 'type' => 'string', 'required' => true, 'example' => '/x7aWKW9***/testDataToDataHub/user/update', 'title' => ''], ], [ 'name' => 'DstTopic', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => '', 'type' => 'array', 'items' => ['type' => 'string', 'description' => 'The list of destination topics. The destination topics subscribe to the source topic that is specified by the **SrcTopic** parameter. Examples: `DstTopic.1=/x7aWKW9****/deviceNameTest1/user/add` and `DstTopic.2=/x7aWKW9****/deviceNameTest2/user/delete`.'."\n", 'title' => '', 'example' => ''], 'required' => true, 'example' => '/x7aWKW9***/deviceNameTest1/user/add', 'maxItems' => 100, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'FCC27691-9151-4B93-9622-9C90F30542EC', 'title' => ''], 'IsAllSucceed' => ['description' => 'Indicates whether all the routing relationships of the topic are deleted.'."\n" ."\n" .'* **true**: All the routing relationships of the topic are deleted.'."\n" .'* **false**: Not all the message routing relationships of the topic are deleted.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'FailureTopics' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Topic' => [ 'description' => 'The list of topics returned if the call fails.'."\n", 'type' => 'array', 'items' => ['description' => '', 'type' => 'object', 'example' => '["/x7aWKW9***/deviceNameTest2/user/delete"]', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"FCC27691-9151-4B93-9622-9C90F30542EC\\",\\n \\"IsAllSucceed\\": true,\\n \\"Success\\": true,\\n \\"FailureTopics\\": {\\n \\"Topic\\": [\\n [\\n \\"/x7aWKW9***/deviceNameTest2/user/delete\\"\\n ]\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n9DEBEF66-2B75-4CB2-BF19-1488802F4381\\n\\ntrue\\n","errorExample":""}]', 'title' => 'DeleteTopicRouteTable', 'summary' => 'Deletes the routing relationships of a specified custom topic.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteTopicRouteTable', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'DeleteUserDefineTableDataByPrimaryKey' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'TableIdentifier', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'Conditions', 'in' => 'query', 'style' => 'json', 'schema' => ['type' => 'object', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.dap.insight.unknownException', 'errorMessage' => 'unknown exception.', 'description' => 'unknown exception.'], ['errorCode' => 'iot.dap.insight.requestParamError', 'errorMessage' => 'request param error.', 'description' => 'request param error.'], ['errorCode' => 'iot.dap.insight.dataStoreTableHasNotBeenInit', 'errorMessage' => 'data store table has not been init.', 'description' => ''], ['errorCode' => 'iot.dap.insight.mustSetAtLeastOnePrimaryKey', 'errorMessage' => 'Set at least one primary key.', 'description' => 'Set at least one primary key.'], ], 500 => [ ['errorCode' => 'iot.dap.insight.bizExceptionNotSpecified', 'errorMessage' => 'biz exception not specified.', 'description' => 'biz exception not specified.'], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false\\n}","type":"json"}]', ], 'DetachDestination' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n" .'>* If no **Overview** page or ID is generated for your instance, you do not need to configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-2w****', 'title' => ''], ], [ 'name' => 'ParserId', 'in' => 'query', 'schema' => ['description' => 'The ID of the parser. You can call the [ListParser](~~444814~~) operation to query parsers and obtain the ID of the **parser**.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '9999999999', 'minimum' => '1', 'example' => '1000', 'title' => ''], ], [ 'name' => 'DestinationId', 'in' => 'query', 'schema' => ['description' => 'The ID of the data destination. You can call the [ListDestination](~~433025~~) operation to query data destinations and obtain the ID of the **data destination**.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '999999999999', 'minimum' => '0', 'example' => '1002', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ['errorCode' => 'iot.system.IllegalRequest', 'errorMessage' => 'The request parameter is invalid.', 'description' => 'The request parameter is invalid.'], ['errorCode' => 'iot.rule.destinationNotExists', 'errorMessage' => 'Destination not found', 'description' => ''], ['errorCode' => 'iot.rule.NotFoundRule', 'errorMessage' => 'there are no rules', 'description' => ''], ['errorCode' => 'iot.rule.DestinationInUsing', 'errorMessage' => 'Destination has been attached to parser', 'description' => ''], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\nE4C0FF92-2A86-41DB-92D3-73B60310D25E\\ntrue\\n","errorExample":""}]', 'title' => 'DetachDestination', 'summary' => 'Disassociates a parser from a data destination.', 'description' => '## QPS limits'."\n" ."\n" .'Each Alibaba Cloud account can run up to 10 queries per second (QPS).'."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DetachDestination', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'DetachParserDataSource' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of your current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify it. Otherwise, the call fails.'."\n" .'- If the **Instance Overview** page or the ID does not exist, this parameter is not required.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot-2w****', 'title' => ''], ], [ 'name' => 'ParserId', 'in' => 'query', 'schema' => ['description' => 'The resolver ID. You can call the [ListParsers](~~429046~~) API to query the resolver list and obtain the **ParserId**.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '999999999999', 'minimum' => '1', 'example' => '1000', 'title' => ''], ], [ 'name' => 'DataSourceId', 'in' => 'query', 'schema' => ['description' => 'The DataSource ID. You can call the [ListParserDataSource](~~432676~~) API to query the data source list and obtain the **DataSourceId**.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '99999999', 'minimum' => '0', 'example' => '1001', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the call fails. For more information, see [Error Codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.'."\n", 'type' => 'string', 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call succeeded.'."\n" .'- **true**: The call succeeded.'."\n" .'- **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.system.IllegalRequest', 'errorMessage' => 'The request parameter is invalid.', 'description' => 'The request parameter is invalid.'], ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ['errorCode' => 'iot.rule.DataSourceNotExists', 'errorMessage' => 'Datasource not existed', 'description' => ''], ['errorCode' => 'iot.ruleng.RuleAlreadyIsStarted', 'errorMessage' => 'The specified rule has already started', 'description' => ''], ['errorCode' => 'iot.rule.NotFoundRule', 'errorMessage' => 'there are no rules', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'DetachParserDataSource'."\n", 'summary' => 'Call this API to delete a specified data source from a resolver.'."\n", 'description' => '## Queries per second (QPS) limit'."\n" ."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account when calling this API is 10.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DetachParserDataSource', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DetachParserDataSource'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'DisableDeviceTunnel' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID: '."\n" .'- Enterprise instance: You must pass this parameter. You can view your Enterprise instance ID on the **Instance Overview** page in the IoT Platform console. '."\n" .'- Public instance: You do not need to pass this parameter. ', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the gateway belongs. This is the unique identifier of the product. ', 'type' => 'string', 'required' => true, 'example' => 'a1Wmy******', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The device name of the gateway. ', 'type' => 'string', 'required' => true, 'example' => 'LEGatewayAuto_B3XM******', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the API: '."\n" .'- **Success**: Indicates success. '."\n" .'- Others: Indicate error codes. For details about error codes, see [Error Codes](~~135200~~). ', 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the call fails. ', 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request. ', 'type' => 'string', 'example' => '73671995-9588-406B-9C1E-FC38450A2AA1', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call succeeded: '."\n" .'- **true**: Indicates success. '."\n" .'- **false**: Indicates failure. ', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"73671995-9588-406B-9C1E-FC38450A2AA1\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'DisableDeviceTunnel ', 'summary' => 'Invoke this API to shut down a gateway tunnel. ', 'description' => '## Conditions '."\n" .'- If you call this API in an Enterprise instance, you must specify the **IotInstanceId** parameter. Otherwise, the API call fails. '."\n" .'- The maximum queries per second (QPS) for a single Alibaba Cloud account is 20. '."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. ', 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters documentation](~~135196~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DisableDeviceTunnel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DisableDeviceTunnel'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'DisableDeviceTunnelShare' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID: '."\n" .'- Enterprise instance: You must specify this parameter. You can view your Enterprise instance ID on the **Instance Overview** page in the IoT Platform console. '."\n" .'- Public instance: You do not need to specify this parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the gateway belongs. This is the unique identifier of the product.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1Wmy******', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The device name of the gateway.'."\n", 'type' => 'string', 'required' => true, 'example' => 'LEGatewayAuto_B3XM******', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the API: '."\n" .'- **Success**: indicates that the call succeeded. '."\n" .'- Other values: indicate error codes. For more information about error codes, see [Error Codes](~~135200~~).'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.'."\n", 'type' => 'string', 'example' => '35023CAB-CBED-4A2E-92DF-201C72850B50', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the call fails.'."\n", 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call succeeded: '."\n" .'- **true**: indicates that the call succeeded. '."\n" .'- **false**: indicates that the call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"RequestId\\": \\"35023CAB-CBED-4A2E-92DF-201C72850B50\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'DisableDeviceTunnelShare'."\n", 'summary' => 'Invoke this API to disable tunnel sharing for a gateway.'."\n", 'description' => '## Conditions'."\n" .'- If you call this API in an Enterprise instance, you must specify the **IotInstanceId** parameter. Otherwise, the API call fails.'."\n" .'- The maximum queries per second (QPS) for a single Alibaba Cloud account is 20 when calling this API. '."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When you call this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Request Parameters](~~135196~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DisableDeviceTunnelShare', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DisableDeviceTunnelShare'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'DisableSceneRule' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. Do not specify this parameter for public instances. Specify this parameter for Enterprise instances.', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'RuleId', 'in' => 'query', 'schema' => ['description' => 'The ID of the scene orchestration rule. You can obtain the rule ID by calling the [QuerySceneRule](~~169498~~) API.', 'type' => 'string', 'required' => true, 'example' => 'fec565038d7544978d9aed5c1a******', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the API. A value of Success indicates that the call succeeded. Other values indicate error codes. For more information, see [Error Codes](~~135200~~).', 'type' => 'string', 'example' => 'Success', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => 'C9D9C91B-1B3B-4D84-BE58-68E7BAA989EK', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. A value of true indicates success. A value of false indicates failure.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"RequestId\\": \\"C9D9C91B-1B3B-4D84-BE58-68E7BAA989EK\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Stop a scene orchestration rule', 'summary' => 'Stop a scene orchestration rule.', 'description' => '## Conditions'."\n" .'Each Alibaba Cloud account can send a maximum of 10 queries per second (QPS) to invoke this API.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When you invoke this API, you must specify both the common request parameters and the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Request Parameters](~~135196~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:DisableSceneRule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DisableSceneRule'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'DisableThing' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The DeviceName of the device.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **ProductKey** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'light', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n" ."\n" .'> If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. The **IotId** parameter specifies a globally unique identifier (GUID) of the device, which corresponds to a combination of **ProductKey** and **DeviceName**. If you specify both **IotId** and the combination of **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Disable a Specified Device', 'summary' => 'Invoke this API to disable a specified device.', 'description' => '## How-To'."\n" .'After a device is disabled, it cannot connect to the IoT Platform, and you cannot perform any operations related to the device. However, information associated with the device remains intact. You can call the [EnableThing](~~69603~~) API to reconnect a disabled device.'."\n" ."\n" .'## QPS Limit'."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 500.'."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:DisableThing', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DisableThing'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'EnableDeviceTunnel' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID:'."\n" .'- Enterprise instance: You must specify this parameter. You can view your Enterprise instance ID on the **Instance Overview** page in the IoT Platform console.'."\n" .'- Public instance: You do not need to specify this parameter.', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the gateway belongs. This is the unique identifier of the product.', 'type' => 'string', 'required' => true, 'example' => 'a1Wmy******', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The device name of the gateway.', 'type' => 'string', 'required' => true, 'example' => 'LEGatewayAuto_B3XM******', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the API:'."\n" .'- **Success**: Indicates success.'."\n" .'- Others: Indicate error codes. For details about error codes, see [Error Codes](~~135200~~).', 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the call fails.', 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => '577F07AF-7EFE-4B98-AEA2-634ED864BA01', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call succeeded:'."\n" .'- **true**: Indicates success.'."\n" .'- **false**: Indicates failure.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"577F07AF-7EFE-4B98-AEA2-634ED864BA01\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'EnableDeviceTunnel', 'summary' => 'Invoke this API to enable a device tunnel.', 'description' => '## Conditions'."\n" .'- If you call this API in an Enterprise instance, you must specify the **IotInstanceId** parameter. Otherwise, the API call fails.'."\n" .'- The maximum queries per second (QPS) for a single Alibaba Cloud account is 20.'."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~135196~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:EnableDeviceTunnel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EnableDeviceTunnel'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'EnableDeviceTunnelShare' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID:'."\n" .'- Enterprise instance: You must specify this parameter. You can view your Enterprise instance ID on the **Instance Overview** page in the IoT Platform console.'."\n" .'- Public instance: You do not need to specify this parameter.', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the gateway belongs. This is the unique identifier of the product.', 'type' => 'string', 'required' => true, 'example' => 'a1Wmy******', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The device name of the gateway.', 'type' => 'string', 'required' => true, 'example' => 'LEGatewayAuto_B3XM******', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the API:'."\n" .'- **Success**: Indicates that the call succeeded.'."\n" .'- Other values: Indicate error codes. For more information about error codes, see [Error Codes](~~135200~~).', 'type' => 'string', 'example' => 'Success', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => '3DB31A1A-BD83-4155-AD2B-56AD041E372C', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the call fails.', 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call succeeded:'."\n" .'- **true**: The call succeeded.'."\n" .'- **false**: The call failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"RequestId\\": \\"3DB31A1A-BD83-4155-AD2B-56AD041E372C\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'EnableDeviceTunnelShare', 'summary' => 'Invoke this API to enable gateway tunnel sharing.', 'description' => '## Conditions'."\n" .'- If you call this API in an Enterprise instance, you must specify the **IotInstanceId** parameter. Otherwise, the API call fails.'."\n" .'- The maximum queries per second (QPS) for a single Alibaba Cloud account is 20.'."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When you call this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~135196~~).', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:EnableDeviceTunnelShare', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EnableDeviceTunnelShare'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'EnableSceneRule' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. Do not specify this parameter for public instances. Specify this parameter for Enterprise instances.', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'RuleId', 'in' => 'query', 'schema' => ['description' => 'The ID of the scene orchestration rule. You can call the [QuerySceneRule](~~169498~~) API to obtain the rule ID.', 'type' => 'string', 'required' => true, 'example' => 'f041397879ad4d89822811d741******', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the API. A value of Success indicates that the call succeeded. Other values indicate error codes. For more information, see [Error Codes](~~135200~~).', 'type' => 'string', 'example' => 'Success', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => 'C9D9C91B-1B3B-4D84-BE58-68E7B2A989EK', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. A value of true indicates success. A value of false indicates failure.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"RequestId\\": \\"C9D9C91B-1B3B-4D84-BE58-68E7B2A989EK\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Start a Scene Orchestration Rule', 'summary' => 'Start a scene orchestration rule.', 'description' => '## Conditions'."\n" .'Each Alibaba Cloud account can send a maximum of 50 queries per second (QPS) to call this API.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When you invoke this API, you must specify both the common request parameters and the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Request Parameters](~~135196~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:EnableSceneRule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EnableSceneRule'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'EnableThing' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The DeviceName of the device.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **ProductKey** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'light', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n" ."\n" .'> If you provide this parameter, you do not need to provide the **ProductKey** or **DeviceName** parameters. As the GUID of the device, **IotId** corresponds to the combination of **ProductKey** and **DeviceName**. If you specify both **IotId** and the combination of **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Enable a Specified Device ', 'summary' => 'Invoke this API to disable the disabled status of a specified device, that is, to enable the disabled device. ', 'description' => '## QPS limit '."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 500. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. ', 'requestParamsDescription' => 'When invoking this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:EnableThing', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EnableThing'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'GenerateDeviceNameListURL' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '74C2BB8D-1D6F-41F5-AE68-6B2310883F63', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The information returned if the call is successful. For more information, see the following parameters:'."\n", 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The full path of the file in OSS. You can call the OSS PostObject operation to upload the file to OSS.'."\n", 'type' => 'string', 'example' => 'ota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.csv', 'title' => ''], 'Signature' => ['description' => 'The signature that is calculated based on **AccessKeySecret** and **Policy**. When you call an OSS operation, OSS uses the signature information to verify the POST request.'."\n", 'type' => 'string', 'example' => 'v6lViO4FBvfquajQjg20K5hK****', 'title' => ''], 'Host' => ['description' => 'The endpoint of OSS.'."\n", 'type' => 'string', 'example' => 'https://iotx-ota.oss-cn-shanghai.aliyuncs.com', 'title' => ''], 'FileUrl' => ['description' => 'The URL of the file that is stored in OSS.'."\n" ."\n" .'After the device list file is uploaded, this parameter is used to call the [CreateOTAStaticUpgradeJob](~~147496~~) operation to create a static update batch.'."\n", 'type' => 'string', 'example' => 'https://iotx-ota.oss-cn-shanghai.aliyuncs.com/ota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.csv', 'title' => ''], 'Policy' => ['description' => 'The parameter that is used by OSS to verify form fields for the request.'."\n", 'type' => 'string', 'example' => 'eyJleHBpcmF****', 'title' => ''], 'ObjectStorage' => ['description' => 'The type of the object storage. Default value: OSS.'."\n", 'type' => 'string', 'example' => 'OSS', 'title' => ''], 'UtcCreate' => ['description' => 'The time when the URL of the file that you want to upload was generated. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2019-11-04T06:21:54.607Z', 'title' => ''], 'AccessKeyId' => ['description' => 'The AccessKey ID of the bucket owner.'."\n" ."\n" .'The OSS bucket stores the file.'."\n", 'type' => 'string', 'example' => 'cS8uRRy54Rsz****', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"74C2BB8D-1D6F-41F5-AE68-6B2310883F63\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Key\\": \\"ota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.csv\\",\\n \\"Signature\\": \\"v6lViO4FBvfquajQjg20K5hK****\\",\\n \\"Host\\": \\"https://iotx-ota.oss-cn-shanghai.aliyuncs.com\\",\\n \\"FileUrl\\": \\"https://iotx-ota.oss-cn-shanghai.aliyuncs.com/ota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.csv\\",\\n \\"Policy\\": \\"eyJleHBpcmF****\\",\\n \\"ObjectStorage\\": \\"OSS\\",\\n \\"UtcCreate\\": \\"2019-11-04T06:21:54.607Z\\",\\n \\"AccessKeyId\\": \\"cS8uRRy54Rsz****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n \\n eyJleHBpcmF****\\n https://iotx-ota.oss-cn-shanghai.aliyuncs.com/ota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.csv\\n 2019-11-04T06:21:54.607Z\\n cS8uRRy54Rsz****\\n v6lViO4FBvfquajQjg20K5hK****\\n OSS\\n https://iotx-ota.oss-cn-shanghai.aliyuncs.com\\n ota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.csv\\n \\n 74C2BB8D-1D6F-41F5-AE68-6B2310883F63\\n true\\n","errorExample":""}]', 'title' => 'GenerateDeviceNameListURL', 'summary' => 'Generates the URL and details of a device list file that you want to upload to Object Storage Service (OSS). When you create a static update batch, you can specify devices that you want to update in a device list file.', 'description' => 'This operation can be used with other operations to upload a device list file. Procedure:'."\n" ."\n" .'1. Call this operation to generate the information of a device list file that you want to upload to OSS. '."\n" ."\n" .'The response parameters of this API operation include:'."\n" ."\n" .'The following request parameters of the OSS [PostObject](/help/en/object-storage-service/latest/postobject) operation that is used to upload the device list file: **Key**, **AccessKeyId**, **Signature**, and **Policy**. '."\n" ."\n" .'2. Use an [OSS SDK](/help/en/object-storage-service/latest/sdk-code-samples-overview) to call the [PostObject](/help/en/object-storage-service/latest/postobject) operation to upload the device list file within 1 minute after a response is returned. For more information about sample code, see the "Usage of response parameters" section in this topic. '."\n" ."\n" .'> The parameter information that is returned by this operation is valid for 1 minute. You must upload the device list file within 1 minute. 3. After you upload the device list file, call the [CreateOTAStaticUpgradeJob](/help/en/iot-platform/latest/e1qtmo) operation of IoT Platform to create a static update batch within 60 minutes. '."\n" ."\n" .'If you upload device list files but you do not call the CreateOTAStaticUpgradeJob operation to create a static update batch, the system automatically deletes the uploaded files. The system deletes files on a regular basis. '."\n" ."\n\n" .'## QPS limits'."\n" ."\n" .'Each Alibaba Cloud account can run up to 10 queries per second (QPS). '."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the Alibaba Cloud account. '."\n" ."\n\n" .'## Requirements'."\n" ."\n" .'* A device list file contains the names of devices. Separate multiple device names with line feeds. Each line contains only one device name. A device list file must be in the CSV format. The maximum size of a device list file is 5 MB.'."\n" .'* Each device list file can contain up to 10,000 names for the devices in a product that is related to an update package. If the number of device names in a device list file exceeds the limit, an error occurs when you use the file to create a static update batch.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => '## 返回参数的用途'."\n" ."\n" .'调用OSS [PostObject](~~31988~~)接口时,使用本接口的返回参数值作为请求参数值,将您编辑好的文件上传到对象存储(OSS)。'."\n" ."\n" .'以下是向对象存储OSS上传文件的Java代码示例:'."\n" ."\n" .'- 在pom.xml中添加以下依赖:'."\n" ."\n" .'```'."\n" .' org.apache.httpcomponents'."\n" .' httpclient'."\n" .' 4.5.3'."\n" .''."\n" ."\n" .''."\n" .' org.apache.httpcomponents'."\n" .' httpmime'."\n" .' 4.5.10'."\n" .''."\n" .'```'."\n" ."\n" .'- 上传文件的代码如下:'."\n" ."\n" .'```public static boolean postObject(String key,'."\n" .' String host,'."\n" .' String policy,'."\n" .' String ossAccessKeyId,'."\n" .' String signature,'."\n" .' String data) throws IOException {'."\n" .' CloseableHttpClient httpClient = HttpClients.createDefault();'."\n" .' HttpPost uploadFile = new HttpPost(host);'."\n" ."\n" .' MultipartEntityBuilder builder = MultipartEntityBuilder.create();'."\n" .' builder.addTextBody("key", key, ContentType.TEXT_PLAIN);'."\n" .' builder.addTextBody("policy", policy, ContentType.TEXT_PLAIN);'."\n" .' builder.addTextBody("ossAccessKeyId", ossAccessKeyId, ContentType.TEXT_PLAIN);'."\n" .' builder.addTextBody("signature", signature, ContentType.TEXT_PLAIN);'."\n" .' builder.addTextBody("success_action_status", "200", ContentType.TEXT_PLAIN);'."\n" .' builder.addBinaryBody("file", data.getBytes());'."\n" ."\n" .' HttpEntity multipart = builder.build();'."\n" .' uploadFile.setEntity(multipart);'."\n" .' CloseableHttpResponse response = httpClient.execute(uploadFile);'."\n" ."\n" .' if (response.getStatusLine().getStatusCode() == 200) {'."\n" .' return true;'."\n" .' }'."\n" ."\n" .' return false;'."\n" .'}'."\n" .'```', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:GenerateDeviceNameListURL', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'GenerateFileUploadURL' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID.'."\n" ."\n" .'You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console. If an ID exists, you must specify it; otherwise, the invocation will fail.'."\n" ."\n" .'> If your public instance does not have an ID, see [How to Obtain an Instance ID](~~267533~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'FileSuffix', 'in' => 'query', 'schema' => ['description' => 'File name extension. Valid values: **bin**, **apk**, **tar**, **gz**, **tar.gz**, **zip**, **gzip**.', 'type' => 'string', 'required' => true, 'example' => 'bin', 'title' => ''], ], [ 'name' => 'BizCode', 'in' => 'query', 'schema' => ['description' => 'The encoding of the business scenario to which the file belongs.'."\n" ."\n" .'Use **DEVICE_JOB_FILE** for device job files.', 'type' => 'string', 'required' => true, 'example' => 'DEVICE_JOB_FILE', 'title' => ''], ], [ 'name' => 'FileName', 'in' => 'query', 'schema' => ['description' => 'The file name. The name cannot contain hyphens (-), periods (.), asterisks (*), forward slashes (/), number signs (#), percent signs (%), ampersands (&), at signs (@), or backslashes (\\). It cannot exceed 64 characters in length.'."\n" ."\n" .'If this parameter is not specified, the system automatically generates a random string as the file name.', 'type' => 'string', 'required' => false, 'example' => 'file1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the invocation failed.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The file upload information returned upon successful invocation. For details, see the following parameters.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The name of the object (that is, the file) to be uploaded by calling the OSS PostObject API, including the full path of the OSS object.', 'type' => 'string', 'example' => 'subpath/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.suffix', 'title' => ''], 'OssAccessKeyId' => ['description' => 'The AccessKey ID of the OSS bucket owner.'."\n" ."\n" .'This OSS bucket will store the file.', 'type' => 'string', 'example' => 'cS8uRRy54Rsz****', 'title' => ''], 'Signature' => ['description' => 'The signature computed from the **AccessKey secret** and **Policy**. When you call the OSS API, OSS verifies this signature to confirm the legitimacy of the Post request.', 'type' => 'string', 'example' => 'v6lViO4FBvfquajQjg20K5hK****', 'title' => ''], 'Host' => ['description' => 'The ingest endpoint domain name of OSS.', 'type' => 'string', 'example' => 'https://iotx-bucket-name.oss-***.aliyuncs.com', 'title' => ''], 'Policy' => ['description' => 'OSS uses this parameter to validate the legitimacy of the form fields in the request.', 'type' => 'string', 'example' => 'eyJleHBpcmF****', 'title' => ''], 'ObjectStorage' => ['description' => 'The object storage type. The default value is OSS.', 'type' => 'string', 'example' => 'OSS', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Key\\": \\"subpath/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.suffix\\",\\n \\"OssAccessKeyId\\": \\"cS8uRRy54Rsz****\\",\\n \\"Signature\\": \\"v6lViO4FBvfquajQjg20K5hK****\\",\\n \\"Host\\": \\"https://iotx-bucket-name.oss-***.aliyuncs.com\\",\\n \\"Policy\\": \\"eyJleHBpcmF****\\",\\n \\"ObjectStorage\\": \\"OSS\\"\\n }\\n}","type":"json"}]', 'title' => 'Generate Information for Uploading Files to OSS', 'summary' => 'Invoke this API to generate information required to upload a file to Object Storage Service (OSS).'."\n", 'description' => '## How-To'."\n" ."\n" .'This API is a generic file upload interface for device management-related operations in the Alibaba Cloud IoT Platform. After uploading a file, pass the file information as required by the corresponding business API.'."\n" ."\n" .'The procedure is as follows:'."\n" ."\n" .'1. Call this API to generate the information required to upload a file to Object Storage Service (OSS). '."\n" .'The response parameters of this API are the request parameters for calling the OSS [PostObject](~~31988~~) API to upload a file, including **Key**, **OSSAccessKeyId**, **Signature**, and **Policy**.'."\n" ."\n" .'2. Within one minute after receiving the response from this API, use the [OSS SDK](~~52834~~) to call the [PostObject](~~31988~~) API to upload the file. For code samples demonstrating how to upload files, see "Usage of Response Parameters" below.'."\n" ."\n" .' > The parameters returned by this API are valid for one minute. You must upload the file within this period. The file size cannot exceed 1,000 MB.'."\n" ."\n\n" .'3. After the file is uploaded, call the corresponding business API within 60 minutes. Otherwise, the uploaded file will be automatically deleted by the system during periodic cleanup.'."\n" ."\n" .'For example, when creating a custom-type device job that requires a device file, first use this API to upload the file, then pass the relevant file information as request parameters when calling the [CreateJob](~~198574~~) API.'."\n" .' '."\n" ."\n" .'## Limits'."\n" ."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 5.'."\n" ."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When invoking this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Request Parameters](~~30561~~).'."\n", 'responseParamsDescription' => '## Purpose of Response Parameters'."\n" ."\n" .'When you invoke the OSS [PostObject](~~31988~~) API, use the values returned by this API as request parameter values to upload your edited file to Object Storage Service (OSS).'."\n" ."\n" .'For SDK examples on file upload, see [File Upload](~~84788~~).'."\n" ."\n" .'The following is a Java code sample for uploading a file to Object Storage Service (OSS).'."\n" ."\n" .'- Add the following dependencies to pom.xml.'."\n" .'```xml'."\n" .''."\n" .' org.apache.httpcomponents'."\n" .' httpclient'."\n" .' 4.5.3'."\n" .''."\n" ."\n" .''."\n" .' org.apache.httpcomponents'."\n" .' httpmime'."\n" .' 4.5.10'."\n" .''."\n" .'```'."\n" ."\n" .'- The following code uploads a file.'."\n" .'```java'."\n" .'public static boolean postObject(String key,'."\n" .' String host,'."\n" .' String policy,'."\n" .' String ossAccessKeyId,'."\n" .' String signature,'."\n" .' String data) throws IOException {'."\n" .' CloseableHttpClient httpClient = HttpClients.createDefault();'."\n" .' HttpPost uploadFile = new HttpPost(host);'."\n" ."\n" .' MultipartEntityBuilder builder = MultipartEntityBuilder.create();'."\n" .' builder.addTextBody("key", key, ContentType.TEXT_PLAIN);'."\n" .' builder.addTextBody("policy", policy, ContentType.TEXT_PLAIN);'."\n" .' builder.addTextBody("OSSAccessKeyId", ossAccessKeyId, ContentType.TEXT_PLAIN);'."\n" .' builder.addTextBody("signature", signature, ContentType.TEXT_PLAIN);'."\n" .' builder.addTextBody("success_action_status", "200", ContentType.TEXT_PLAIN);'."\n" .' builder.addBinaryBody("file", data.getBytes());'."\n" ."\n" .' HttpEntity multipart = builder.build();'."\n" .' uploadFile.setEntity(multipart);'."\n" .' CloseableHttpResponse response = httpClient.execute(uploadFile);'."\n" ."\n" .' if (response.getStatusLine().getStatusCode() == 200) {'."\n" .' return true;'."\n" .' }'."\n" ."\n" .' return false;'."\n" .'}'."\n" .'```', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:GenerateFileUploadURL', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GenerateFileUploadURL'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'GenerateOTAUploadURL' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n" .'>* If no **Overview** page or ID is generated for your instance, you do not need to configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'FileSuffix', 'in' => 'query', 'schema' => ['description' => 'The file name extension of the update package file. Valid values: bin, dav, apk, tar, gz, tar.gz, zip, and gzip.'."\n" ."\n" .'Default value: bin.'."\n", 'type' => 'string', 'required' => false, 'example' => 'apk', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '74C2BB8D-1D6F-41F5-AE68-6B2310883F63', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The information returned if the call is successful. For more information, see the following parameters.'."\n", 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The full path of the file in OSS. The file is uploaded by calling the OSS PostObject operation.'."\n", 'type' => 'string', 'example' => 'ota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.bin', 'title' => ''], 'OSSAccessKeyId' => ['description' => 'The AccessKey ID of the bucket owner.'."\n" ."\n" .'This OSS bucket stores the update package file.'."\n", 'type' => 'string', 'example' => 'cS8uRRy54Rsz****', 'title' => ''], 'Signature' => ['description' => 'The signature that is calculated based on **AccessKeySecret** and **Policy**. When you call an OSS operation, OSS uses the signature information to verify the POST request.'."\n", 'type' => 'string', 'example' => 'v6lViO4FBvfquajQjg20K5hK****', 'title' => ''], 'Host' => ['description' => 'The endpoint of OSS.'."\n", 'type' => 'string', 'example' => 'https://iotx-ota.oss-cn-shanghai.aliyuncs.com', 'title' => ''], 'Policy' => ['description' => 'The parameter that is used by OSS to verify form fields for the request.'."\n", 'type' => 'string', 'example' => 'eyJleHBpcmF****', 'title' => ''], 'ObjectStorage' => ['description' => 'The type of object storage. Default value: OSS.'."\n", 'type' => 'string', 'example' => 'OSS', 'title' => ''], 'FirmwareUrl' => ['description' => 'The URL of the update package file that is stored in OSS.'."\n" ."\n" .'After the update package file is uploaded, this parameter is used to call the [CreateOTAFirmware](~~147311~~) operation to create an update package.'."\n", 'type' => 'string', 'example' => 'https://iotx-ota.oss-cn-shanghai.aliyuncs.com/ota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.bin', 'title' => ''], 'UtcCreate' => ['description' => 'The time when the URL of the uploaded update package file was generated. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2019-11-04T06:21:54.607Z', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"74C2BB8D-1D6F-41F5-AE68-6B2310883F63\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Key\\": \\"ota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.bin\\",\\n \\"OSSAccessKeyId\\": \\"cS8uRRy54Rsz****\\",\\n \\"Signature\\": \\"v6lViO4FBvfquajQjg20K5hK****\\",\\n \\"Host\\": \\"https://iotx-ota.oss-cn-shanghai.aliyuncs.com\\",\\n \\"Policy\\": \\"eyJleHBpcmF****\\",\\n \\"ObjectStorage\\": \\"OSS\\",\\n \\"FirmwareUrl\\": \\"https://iotx-ota.oss-cn-shanghai.aliyuncs.com/ota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.bin\\",\\n \\"UtcCreate\\": \\"2019-11-04T06:21:54.607Z\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n\\n \\n ota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.bin\\n https://iotx-ota.oss-cn-shanghai.aliyuncs.com\\n eyJleHBpcmF****\\n cS8uRRy54Rsz****\\n OSS\\n 2019-11-04T06:21:54.607Z\\n PKmRTy40QxqIUUWy325SCT/****\\n https://iotx-ota.oss-cn-shanghai.aliyuncs.com/ota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.bin\\n \\n B6E77674-09C4-4647-BF85-59CB72A72E4B\\n true\\n","errorExample":""}]', 'title' => 'GenerateOTAUploadURL', 'summary' => 'Generates the URL and other information that are required to upload an update package file to Object Storage Service (OSS).', 'description' => 'This operation can be used together with other operations to create an update package. Procedure:'."\n" ."\n" .'1\\. Call this API operation to generate the details of an update package file that you want to upload to OSS.'."\n" ."\n" .'The following section describes the response parameters of this API operation:'."\n" ."\n" .'* The following request parameters of the OSS [PostObject](~~31988~~) operation that is used to upload the update package file: **Key**, **OSSAccessKeyId**, **Signature**, and **Policy**.'."\n" .'* The following request parameter of the [CreateOTAFirmware](~~147311~~) operation that is used to create the update package: **FirmwareUrl**.'."\n" ."\n" .'2\\. Use an [OSS SDK](~~52834~~) to call the [PostObject](~~31988~~) operation to upload the update package file. For more information about sample code, see the "Usage of response parameters" section.'."\n" ."\n" .'> The parameter information that is returned by this operation is valid for 1 minute. You must upload the update package file within 1 minute. The maximum size of the uploaded update package file is 1,000 MB.'."\n" ."\n" .'3\\. After the update package file is uploaded, call the [CreateOTAFirmware](~~147311~~) operation to create an update package within 60 minutes.'."\n" ."\n" .'If update package files are uploaded but you do not call the CreateOTAFirmware operation to create update packages for the files, the uploaded files are automatically deleted by the system on a regular basis.'."\n" ."\n" .'## QPS limits'."\n" ."\n" .'Each Alibaba Cloud account can run up to 10 queries per second (QPS). '."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => '## 返回参数的用途'."\n" ."\n" .'调用OSS [PostObject](~~31988~~)接口时,使用本接口的返回参数值作为请求参数值,将您编辑好的升级包文件上传到对象存储(OSS)。'."\n" ."\n" .'以下是向对象存储OSS上传文件的Java代码示例。示例代码详细内容,请参见[表单上传](~~84788~~)。'."\n" ."\n" .'- 在pom.xml中添加以下依赖。'."\n" .'```'."\n" .''."\n" .' org.apache.httpcomponents'."\n" .' httpclient'."\n" .' 4.5.3'."\n" .''."\n" ."\n" .''."\n" .' org.apache.httpcomponents'."\n" .' httpmime'."\n" .' 4.5.10'."\n" .''."\n" .'```'."\n" ."\n" .'- 上传升级包文件的代码如下。'."\n" .'```'."\n" .'public static boolean postObject(String key,'."\n" .' String host,'."\n" .' String policy,'."\n" .' String ossAccessKeyId,'."\n" .' String signature,'."\n" .' String data) throws IOException {'."\n" .' CloseableHttpClient httpClient = HttpClients.createDefault();'."\n" .' HttpPost uploadFile = new HttpPost(host);'."\n" ."\n" .' MultipartEntityBuilder builder = MultipartEntityBuilder.create();'."\n" .' builder.addTextBody("key", key, ContentType.TEXT_PLAIN);'."\n" .' builder.addTextBody("policy", policy, ContentType.TEXT_PLAIN);'."\n" .' builder.addTextBody("OSSAccessKeyId", ossAccessKeyId, ContentType.TEXT_PLAIN);'."\n" .' builder.addTextBody("signature", signature, ContentType.TEXT_PLAIN);'."\n" .' builder.addTextBody("success_action_status", "200", ContentType.TEXT_PLAIN);'."\n" .' builder.addBinaryBody("file", data.getBytes());'."\n" ."\n" .' HttpEntity multipart = builder.build();'."\n" .' uploadFile.setEntity(multipart);'."\n" .' CloseableHttpResponse response = httpClient.execute(uploadFile);'."\n" ."\n" .' if (response.getStatusLine().getStatusCode() == 200) {'."\n" .' return true;'."\n" .' }'."\n" ."\n" .' return false;'."\n" .'}'."\n" .'```', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:GenerateOTAUploadURL', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'GetDataAPIServiceDetail' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'ApiSrn', 'in' => 'formData', 'schema' => ['description' => 'API resource identifier, which is the global unique identifier of the API. This value is returned as ApiSrn after you successfully invoke the **CreateDataAPIService** API to create an API.'."\n" ."\n" .'Format: `acs:iot:*:${aliyunuserID}:serveapi/${ApiPath}`'."\n" ."\n" .'Sample: `acs:iot:*:127103983461****:serveapi/device/getDeviceCountByStatus2`'."\n" ."\n" .'The information in the preceding sample is described as follows:'."\n" ."\n" .'- `127103983461****` is the Alibaba Cloud account ID.'."\n" .'- `/device/getDeviceCountByStatus` is the value of the request parameter ApiPath, which represents the custom part of the API invocation address.', 'type' => 'string', 'required' => true, 'example' => 'acs:iot:*:127103983461****:serveapi/device/getDeviceCountByStatus2', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'Instance ID. Do not pass this parameter for public instances. For Enterprise instances, you must pass this parameter.', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'Error code returned when the invocation fails. For more information, see [error code](~~135176~~). ', 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'Error message returned when the invocation fails. ', 'type' => 'string', 'example' => '请求参数错误', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => '57b144cf-09fc-4916-a272-a62902d5b207', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: The invocation failed. ', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data returned when the call succeeds.', 'type' => 'object', 'properties' => [ 'DisplayName' => ['description' => 'API name. ', 'type' => 'string', 'example' => '根据状态获取设备数', 'title' => ''], 'Status' => ['description' => 'The status of the API.'."\n" ."\n" .'- 0: Editable.'."\n" .'- 1: Tested.'."\n" .'- 2: Published.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'ApiSrn' => ['description' => 'The globally unique identifier of the API resource.'."\n" ."\n" .'Example: `acs:iot:*:127103983461****:serveapi/device/getDeviceCountByStatus2`'."\n" ."\n" .'The preceding example contains the following information:'."\n" ."\n" .'- `127103983461****` is the Account ID of the Alibaba Cloud account.'."\n" .'- `/device/getDeviceCountByStatus` is the custom part of the API endpoint.', 'type' => 'string', 'example' => 'acs:iot:*:127103983461****:serveapi/device/getDeviceCountByStatus2', 'title' => ''], 'Description' => ['description' => 'The description of the API.', 'type' => 'string', 'example' => '描述', 'title' => ''], 'CreateTime' => ['description' => 'The creation time of the API, in milliseconds (ms). ', 'type' => 'integer', 'format' => 'int64', 'example' => '1557839468865', 'title' => ''], 'LastUpdateTime' => ['description' => 'The last update time of the API, in milliseconds (ms). ', 'type' => 'integer', 'format' => 'int64', 'example' => '1557839468865', 'title' => ''], 'RequestMethod' => ['description' => 'Request method. ', 'type' => 'string', 'example' => 'GET/POST', 'title' => ''], 'DateFormat' => ['description' => 'Return type row. ', 'type' => 'string', 'example' => 'JSON', 'title' => ''], 'RequestProtocol' => ['description' => 'Protocol type. ', 'type' => 'string', 'example' => 'HTTPS', 'title' => ''], 'ApiPath' => ['description' => 'The custom part of the API invocation URL. ', 'type' => 'string', 'example' => '/device/getDeviceCountByStatus', 'title' => ''], 'SqlTemplateDTO' => [ 'description' => 'The SQL template information.'."\n" ."\n" .'The SQL template data returned when the call succeeds. For more information, see the following Table SqlTemplateDTO.', 'type' => 'object', 'properties' => [ 'OriginSql' => ['description' => 'The original SQL statement corresponding to the API.', 'type' => 'string', 'example' => 'SELECT COUNT(*) FROM ${system.device} WHERE status = 1', 'title' => ''], 'TemplateSql' => ['description' => 'The templated SQL derived from the original SQL.', 'type' => 'string', 'example' => 'SELECT COUNT(*) as deviceCount FROM ${system.device} WHERE status = ${status}', 'title' => ''], 'RequestParams' => [ 'itemNode' => true, 'description' => '', 'type' => 'object', 'properties' => [ 'RequestParams' => [ 'description' => 'List of request parameters for invoking the API. ', 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Type' => ['description' => 'Parameter type. For details, see [JDBCType](https://docs.oracle.com/javase/8/docs/api/java/sql/JDBCType.html). Currently supported types are: ARRAY, VARCHAR, INTEGER, BIGINT, BOOLEAN, DECIMAL, and TIMESTAMP. ', 'type' => 'string', 'example' => 'INTEGER', 'title' => ''], 'Required' => ['description' => 'Indicates whether the parameter is required. '."\n" ."\n" .'- true: Required. '."\n" ."\n" .'- false: Optional. '."\n" ."\n" .'Default value is true. ', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Example' => ['description' => 'Sample parameter value. ', 'type' => 'string', 'example' => '0', 'title' => ''], 'Name' => ['description' => 'Parameter Name.', 'type' => 'string', 'example' => 'status', 'title' => ''], 'Desc' => ['description' => 'Parameter description. ', 'type' => 'string', 'example' => '设备状态', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], 'ResponseParams' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'ResponseParams' => [ 'description' => 'The list of response parameters of the API.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Type' => ['description' => 'Parameter type. For more information, see [JDBCType](https://docs.oracle.com/javase/8/docs/api/java/sql/JDBCType.html). Currently supported types are: ARRAY, VARCHAR, INTEGER, BIGINT, BOOLEAN, DECIMAL, and TIMESTAMP.', 'type' => 'string', 'example' => 'INTEGER', 'title' => ''], 'Required' => ['description' => 'Indicates whether the parameter is required.'."\n" ."\n" .'- true: Required.'."\n" ."\n" .'- false: Optional.'."\n" ."\n" .'This parameter does not need to be configured for response parameters.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Example' => ['description' => 'Sample parameter value.', 'type' => 'string', 'example' => '100', 'title' => ''], 'Name' => ['description' => 'Response parameter name.', 'type' => 'string', 'example' => 'deviceCount', 'title' => ''], 'Desc' => ['description' => 'Parameter description.', 'type' => 'string', 'example' => '设备数', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"请求参数错误\\",\\n \\"RequestId\\": \\"57b144cf-09fc-4916-a272-a62902d5b207\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"DisplayName\\": \\"根据状态获取设备数\\",\\n \\"Status\\": 1,\\n \\"ApiSrn\\": \\"acs:iot:*:127103983461****:serveapi/device/getDeviceCountByStatus2\\",\\n \\"Description\\": \\"描述\\",\\n \\"CreateTime\\": 1557839468865,\\n \\"LastUpdateTime\\": 1557839468865,\\n \\"RequestMethod\\": \\"GET/POST\\",\\n \\"DateFormat\\": \\"JSON\\",\\n \\"RequestProtocol\\": \\"HTTPS\\",\\n \\"ApiPath\\": \\"/device/getDeviceCountByStatus\\",\\n \\"SqlTemplateDTO\\": {\\n \\"OriginSql\\": \\"SELECT COUNT(*) FROM ${system.device} WHERE status = 1\\",\\n \\"TemplateSql\\": \\"SELECT COUNT(*) as deviceCount FROM ${system.device} WHERE status = ${status}\\",\\n \\"RequestParams\\": {\\n \\"RequestParams\\": [\\n {\\n \\"Type\\": \\"INTEGER\\",\\n \\"Required\\": true,\\n \\"Example\\": \\"0\\",\\n \\"Name\\": \\"status\\",\\n \\"Desc\\": \\"设备状态\\"\\n }\\n ]\\n },\\n \\"ResponseParams\\": {\\n \\"ResponseParams\\": [\\n {\\n \\"Type\\": \\"INTEGER\\",\\n \\"Required\\": true,\\n \\"Example\\": \\"100\\",\\n \\"Name\\": \\"deviceCount\\",\\n \\"Desc\\": \\"设备数\\"\\n }\\n ]\\n }\\n }\\n }\\n}","type":"json"}]', 'title' => 'Obtain details of a data algorithm service API', 'summary' => 'Invoke this API to obtain the details of a data algorithm service API.', 'description' => '## Condition'."\n" .'Each Alibaba Cloud account can send a maximum of 1 query per second (QPS) to call this API.'."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling this API, you must specify both the common request parameters and the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetDataAPIServiceDetail', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetDataAPIServiceDetail'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'GetDestination' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the current instance ID on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID value exists, you must specify it. Otherwise, the invocation will fail.'."\n" .'- If the **Instance Overview** page or the ID value does not exist, you do not need to specify this parameter.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-2w****', 'title' => ''], ], [ 'name' => 'DestinationId', 'in' => 'query', 'schema' => ['description' => 'The data destination ID. You can call the [ListDestination](~~433025~~) API to query the list of data destinations and obtain the **DestinationId**.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '9999999', 'minimum' => '0', 'example' => '1004', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the request fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Destination' => [ 'description' => 'The information about the data destination.'."\n", 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the data destination. Valid values: '."\n" ."\n" .'- **INIT**: The destination is being initially configured. '."\n" .'- **NORMAL**: Configuration is complete and the destination is active. '."\n" .'- **INVALID**: The configuration is abnormal and the destination is unavailable. '."\n" .'- **SHORTCUT**: Data forwarding has been interrupted due to an exception in the data forwarding service.'."\n", 'type' => 'string', 'example' => 'NORMAL', 'title' => ''], 'Type' => ['description' => 'The operation that is performed on the data of the data destination.'."\n" ."\n" .'* **REPUBLISH**: forwards topic data that is processed by a parser script to an IoT Platform communication topic.'."\n" .'* **AMQP**: forwards topic data that is processed by a parser script to an Advanced Message Queuing Protocol (AMQP) consumer group.'."\n" .'* **DATAHUB**: forwards topic data to Alibaba Cloud DataHub for stream data processing.'."\n" .'* **ONS**: forwards topic data that is processed by a parser script to Message Queue for Apache RocketMQ for message distribution.'."\n" .'* **MNS**: forwards topic data to Message Service (MNS) for message transmission.'."\n" .'* **FC**: forwards topic data to Function Compute for event computing.'."\n" .'* **OTS**: forwards topic data to Tablestore for NoSQL data storage.'."\n", 'type' => 'string', 'example' => 'REPUBLISH', 'title' => ''], 'DestinationId' => ['description' => 'The ID of the data destination.'."\n", 'type' => 'string', 'example' => '1003', 'title' => ''], 'Configuration' => ['description' => 'The configuration data of the data destination.'."\n", 'type' => 'string', 'example' => '{"topic":"/a1POX0c****/device1/user/get","topicType":1}', 'title' => ''], 'Name' => ['description' => 'The name of the data destination.'."\n", 'type' => 'string', 'example' => 'DataPurpose', 'title' => ''], 'UtcCreated' => ['description' => 'The time when the data destination was created. The time is displayed in UTC. Format: `yyyy-MM-dd\'T\'HH:mm:ss.SSS\'Z\'`.'."\n", 'type' => 'string', 'example' => '2022-03-27T12:45:43.000Z', 'title' => ''], 'IsFailover' => ['description' => 'Indicates whether the data destination is configured to receive error operation data. Error operation data is data that failed to be forwarded for two consecutive times.'."\n" ."\n" .'* **true**: The data destination is configured to receive error operation data.'."\n" .'* **false**: The data destination is configured to receive regular data instead of error operation data.'."\n" ."\n" .'Default value: **false**.'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.system.IllegalRequest', 'errorMessage' => 'The request parameter is invalid.', 'description' => 'The request parameter is invalid.'], ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ['errorCode' => 'iot.rule.destinationNotExists', 'errorMessage' => 'destination not found', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true,\\n \\"Destination\\": {\\n \\"Status\\": \\"NORMAL\\",\\n \\"Type\\": \\"REPUBLISH\\",\\n \\"DestinationId\\": \\"1003\\",\\n \\"Configuration\\": \\"{\\\\\\"topic\\\\\\":\\\\\\"/a1POX0c****/device1/user/get\\\\\\",\\\\\\"topicType\\\\\\":1}\\",\\n \\"Name\\": \\"DataPurpose\\",\\n \\"UtcCreated\\": \\"2022-03-27T12:45:43.000Z\\",\\n \\"IsFailover\\": false\\n }\\n}","type":"json"}]', 'title' => 'GetDestination', 'summary' => 'Invoke this API to query the details of a specified data destination.'."\n", 'description' => '## QPS Limit'."\n" ."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account when calling this API is 10. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When calling this API, you must include the common request parameters in addition to the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Request Parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetDestination', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetDestination'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'GetDeviceShadow' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the ID of the instance on the **Overview** page in the IoT Platform console.****'."\n" ."\n" .'>* If the instance has an ID, you must specify the **IotInstanceId** parameter. If you do not specify this parameter, the call fails.'."\n" .'>* If the instance does not have an **ID** or the **Overview** page is not displayed, you do not need to specify this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the device belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1T27vz****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The DeviceName of the device.'."\n", 'type' => 'string', 'required' => true, 'example' => 'device1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code that is returned if the call fails. For more information about error codes, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message that is returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'A56E345A-0978-4993-ACBA-3EF444ED187F', 'title' => ''], 'ShadowMessage' => ['description' => 'The shadow information that is returned if the call is successful.'."\n" ."\n" .'> The structure of the shadow information varies based on the status of the device. For more information, see the [Overview](~~53930~~) topic of Device shadows.'."\n", 'type' => 'string', 'example' => '{"method":"update","state":{"desired":{"color":"green"}},"version":1}', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"A56E345A-0978-4993-ACBA-3EF444ED187F\\",\\n \\"ShadowMessage\\": \\"{\\\\\\"method\\\\\\":\\\\\\"update\\\\\\",\\\\\\"state\\\\\\":{\\\\\\"desired\\\\\\":{\\\\\\"color\\\\\\":\\\\\\"green\\\\\\"}},\\\\\\"version\\\\\\":1}\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\nA56E345A-0978-4993-ACBA-3EF444ED187F\\n{\\"method\\":\\"update\\",\\"state\\":{\\"desired\\":{\\"color\\":\\"green\\"}},\\"version\\":1}\\ntrue\\n","errorExample":""}]', 'title' => 'GetDeviceShadow', 'summary' => 'Queries the shadow information of a specific device.', 'description' => '## QPS limits'."\n" ."\n" .'You can call this API operation up to 500 times per second per account.'."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetDeviceShadow', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'GetDeviceStatus' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The DeviceName of the device.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **ProductKey** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'light', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n" ."\n" .'> If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. The **IotId** parameter specifies a globally unique identifier (GUID) of the device, which corresponds to a combination of **ProductKey** and **DeviceName**. If you specify both **IotId** and the combination of **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The device status returned if the call is successful.'."\n", 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the device. Valid values:'."\n" ."\n" .'* **ONLINE**: The device is online.'."\n" .'* **OFFLINE**: The device is offline.'."\n" .'* **UNACTIVE**: The device is not activated.'."\n" .'* **DISABLE**: The device is disabled.'."\n", 'type' => 'string', 'example' => 'ONLINE', 'title' => ''], 'Timestamp' => ['description' => 'The time when the device status changed.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1557062301656', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Status\\": \\"ONLINE\\",\\n \\"Timestamp\\": 1557062301656\\n }\\n}","errorExample":""},{"type":"xml","example":"\\nE55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\n\\n ONLINE\\n 1557062301656\\n\\ntrue\\n","errorExample":""}]', 'title' => 'GetDeviceStatus', 'summary' => 'Queries the status of a device.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 500 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetDeviceStatus', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'GetDeviceTunnelShareStatus' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID: '."\n" .'- Enterprise instance: You must specify this parameter. You can view your Enterprise instance ID on the **Instance Overview** page in the IoT Platform console. '."\n" .'- Public instance: You do not need to specify this parameter. ', 'example' => 'iot_instc_pu****_c*-v64********', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the gateway belongs. This is the unique identifier of the product.', 'example' => 'a1Wmy******', 'required' => true, 'type' => 'string', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The device name of the gateway.', 'example' => 'LEGatewayAuto_B3XM******', 'required' => true, 'type' => 'string', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'properties' => [ 'Code' => ['description' => 'The return code of the API: '."\n" .'- **Success**: The request succeeded. '."\n" .'- Other values: Error codes. For more information, see [Error Codes](~~135200~~). ', 'example' => 'Success', 'type' => 'string', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request. ', 'example' => 'ACC1D51C-1A58-440E-92A7-71AB61C6595A', 'type' => 'string', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails. ', 'example' => 'request parameter error', 'type' => 'string', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded: '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: The invocation failed. ', 'example' => 'true', 'type' => 'boolean', 'title' => ''], 'Data' => [ 'description' => 'The information returned when the invocation succeeds. ', 'properties' => [ 'ShareId' => ['description' => 'The tunnel sharing ID. '."\n" ."\n" .'> This field is empty when the value of **IsOpen** is **false**. ', 'example' => '18f72f95cad34ca3aeabeeefcb******', 'type' => 'string', 'title' => ''], 'Password' => ['description' => 'The password for tunnel sharing. '."\n" ."\n" .'> This field is empty when the value of **IsOpen** is **false**. ', 'example' => '848bbfa0e9a31e579502869920b4d4c********', 'type' => 'string', 'title' => ''], 'GmtOpened' => ['description' => 'The UNIX timestamp indicating when tunnel sharing was enabled. '."\n" ."\n" .'> This field is empty when the value of **IsOpen** is **false**. ', 'example' => '1617941371000', 'format' => 'int64', 'type' => 'integer', 'title' => ''], 'IsOpen' => ['description' => 'Indicates whether tunnel sharing is enabled: '."\n" .'- **true**: Tunnel sharing is enabled. '."\n" .'- **false**: Tunnel sharing is disabled. ', 'example' => 'true', 'type' => 'boolean', 'title' => ''], ], 'type' => 'object', 'title' => '', 'example' => '', ], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"RequestId\\": \\"ACC1D51C-1A58-440E-92A7-71AB61C6595A\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ShareId\\": \\"18f72f95cad34ca3aeabeeefcb******\\",\\n \\"Password\\": \\"848bbfa0e9a31e579502869920b4d4c********\\",\\n \\"GmtOpened\\": 1617941371000,\\n \\"IsOpen\\": true\\n }\\n}","type":"json"}]', 'title' => 'GetDeviceTunnelShareStatus ', 'summary' => 'Invoke this API to obtain the sharing status of a gateway tunnel. ', 'description' => '## Conditions '."\n" .'- If you invoke this API in an Enterprise instance, you must specify the **IotInstanceId** parameter. Otherwise, the invocation fails. '."\n" .'- The maximum queries per second (QPS) for a single Alibaba Cloud account is 20 when invoking this API. '."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. ', 'requestParamsDescription' => 'When you invoke this API, in addition to the API-specific request parameters described in this topic, you must also pass in common request parameters. For more information about common request parameters, see [Common Request Parameters](~~135196~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetDeviceTunnelShareStatus', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetDeviceTunnelShareStatus'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'GetDeviceTunnelStatus' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID: '."\n" .'- Enterprise instance: You must specify this parameter. You can view your Enterprise instance ID on the **Instance Overview** page in the IoT Platform console. '."\n" .'- Public instance: You do not need to specify this parameter. ', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the gateway belongs. This is the unique identifier of the product. ', 'type' => 'string', 'required' => true, 'example' => 'a1kqtIX****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The name of the gateway device to query. ', 'type' => 'string', 'required' => true, 'example' => 'LEGatewayAuto_B3XM******', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the API: '."\n" .'- **Success**: indicates that the call succeeded. '."\n" .'- Others: indicate error codes. For more information about error codes, see [Error Codes](~~135200~~). ', 'type' => 'string', 'example' => 'Success', 'title' => ''], 'Data' => ['description' => 'The data returned when the call succeeds: '."\n" .'- **online**: indicates that the gateway tunnel is enabled. '."\n" .'- **offline**: indicates that the gateway tunnel is shutdown. ', 'type' => 'string', 'example' => 'online', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the call fails. ', 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request. ', 'type' => 'string', 'example' => '7CCFF08F-34D1-4FBD-ACA9-22D9364EA5A4', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call succeeded: '."\n" .'- **true**: indicates that the call succeeded. '."\n" .'- **false**: indicates that the call failed. ', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"Data\\": \\"online\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"7CCFF08F-34D1-4FBD-ACA9-22D9364EA5A4\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'GetDeviceTunnelStatus ', 'summary' => 'Invoke this API to query the tunnel status of a gateway device. ', 'description' => '## Conditions '."\n" .'- If you call this API in an Enterprise instance, you must specify the **IotInstanceId** parameter. Otherwise, the API call fails. '."\n" .'- The maximum queries per second (QPS) for a single Alibaba Cloud account is 20. '."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. ', 'requestParamsDescription' => 'When calling this API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~135196~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetDeviceTunnelStatus', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetDeviceTunnelStatus'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'GetDownloadFile' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'Context', 'in' => 'formData', 'style' => 'json', 'schema' => ['description' => 'Request content. ', 'example' => '{"xxx";xxx}', 'required' => false, 'type' => 'object', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID value exists, you must specify this ID. Otherwise, the invocation will fail.'."\n" .'- If there is no **Instance Overview** page or ID value, you do not need to specify it.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).', 'example' => 'iot-cn-npk1u******', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'LongJobId', 'in' => 'query', 'schema' => ['description' => 'The long job ID returned when you create a download job. For more information, see the **LongJobId** parameter in [CreateDownloadDataJob](~~445782~~).', 'example' => '62d949808bc742187xxxxxx', 'required' => true, 'type' => 'string', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'Return Result. ', 'properties' => [ 'Code' => ['description' => 'Error code returned when the invocation fails. For more information, see [error code](~~87387~~). ', 'example' => '200', 'type' => 'string', 'title' => ''], 'ErrorMessage' => ['description' => 'Error message returned when the invocation fails. ', 'example' => 'no authorization.', 'type' => 'string', 'title' => ''], 'RequestId' => ['description' => 'The request ID, which is a unique identifier generated by Alibaba Cloud for this request. ', 'example' => 'BB71E443-4447-4024-A000-EDE09934****', 'type' => 'string', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: The invocation failed. ', 'example' => 'true', 'type' => 'boolean', 'title' => ''], 'Data' => [ 'description' => 'Data. ', 'properties' => [ 'Status' => ['description' => 'The execution status of the download job.'."\n" .'- **-1**: Initializing.'."\n" .'- **0**: Running.'."\n" .'- **1**: Succeeded.'."\n" .'- **2**: Failed.'."\n" .'- **3**: Submitted and waiting.'."\n" .'- **4**: Canceled. ', 'example' => '1', 'format' => 'int32', 'type' => 'integer', 'title' => ''], 'LongJobId' => ['description' => 'Download Job ID.', 'example' => '62d949808bc742187xxxxxx', 'type' => 'string', 'title' => ''], 'BeginTime' => ['description' => 'The start time of the download job. ', 'example' => '1658406464534', 'format' => 'int64', 'type' => 'integer', 'title' => ''], 'AsyncExecute' => ['description' => 'Indicates whether the query is asynchronous.'."\n" .'- **true**: The query is asynchronous.'."\n" .'- **false**: The query is not asynchronous; it is synchronous. ', 'example' => 'true', 'type' => 'boolean', 'title' => ''], 'TotalCount' => ['description' => 'Total count.', 'example' => '100', 'format' => 'int64', 'type' => 'integer', 'title' => ''], 'EndTime' => ['description' => 'The end time of the download job. ', 'example' => '1658406465000', 'format' => 'int64', 'type' => 'integer', 'title' => ''], 'PreviewSize' => ['description' => 'Preview size.', 'example' => '100', 'format' => 'int32', 'type' => 'integer', 'title' => ''], 'PageNo' => ['description' => 'Page number for paging.', 'example' => '1', 'format' => 'int32', 'type' => 'integer', 'title' => ''], 'PageSize' => ['description' => 'The paging size. ', 'example' => '10', 'format' => 'int32', 'type' => 'integer', 'title' => ''], 'CsvUrl' => ['description' => 'The download URL of the OSS file. (Validity Period: 5 minutes) ', 'example' => 'https://xxxxx-data-download-sh.oss-cn-shanghai.aliyuncs.com/data/download/6B761BxxxxxxxxAAA0BF03D32C80E/62da39b9xxxxxx5a7b953376/download_file_name.csv?Expires=1658469132&OSSAccessKeyId=xxxxxxxxx&Signature=rRL%xxxxxxx%3D', 'type' => 'string', 'title' => ''], 'CsvFileName' => ['description' => 'The name of the CSV file. ', 'example' => 'test_download_flie', 'type' => 'string', 'title' => ''], 'DatasetId' => ['description' => 'The ID of the download object. ', 'example' => 'xxxxxx', 'type' => 'string', 'title' => ''], 'ResultDataInString' => ['description' => 'Query execution result.', 'example' => '{"a":123}', 'type' => 'string', 'title' => ''], 'Header' => [ 'description' => 'Field information.', 'items' => [ 'properties' => [ 'TypeClass' => ['description' => 'Type.', 'example' => 'date', 'type' => 'string', 'title' => ''], 'FieldName' => ['description' => 'Field Name.', 'example' => 'user_name', 'type' => 'string', 'title' => ''], 'GeoClass' => ['description' => 'Geographic information.', 'example' => '{xxx:xxxx}', 'type' => 'string', 'title' => ''], 'FieldType' => ['description' => 'Field Data Type.', 'example' => 'INTEGER', 'type' => 'string', 'title' => ''], 'TimeClass' => ['description' => 'Time dimension.', 'example' => 'HOUR/DAY/MONTH', 'type' => 'string', 'title' => ''], 'DimDateClass' => ['description' => 'Schedule Type.', 'example' => 'DAY', 'type' => 'string', 'title' => ''], 'Alias' => ['description' => 'Field alias.', 'example' => 'user_name_alias', 'type' => 'string', 'title' => ''], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], 'type' => 'array', 'title' => '', 'example' => '', ], 'Result' => [ 'description' => 'The execution result. ', 'items' => ['example' => '{"a":123}', 'type' => 'object', 'description' => '', 'title' => ''], 'type' => 'array', 'title' => '', 'example' => '', ], 'QuerySetting' => [ 'description' => 'Query request information.', 'properties' => [ 'SelectedHeaders' => [ 'description' => 'List of query fields.', 'items' => [ 'description' => 'Field information.', 'properties' => [ 'FieldName' => ['description' => 'Field Name. ', 'example' => 'user_name', 'type' => 'string', 'title' => ''], 'GeoClass' => ['description' => 'Geographic information.', 'example' => '{xxx:xxx}', 'type' => 'string', 'title' => ''], 'FieldType' => ['description' => 'Field Data Type. ', 'example' => 'INTEGER', 'type' => 'string', 'title' => ''], 'TimeClass' => ['description' => 'Date dimension. ', 'example' => 'HOUR/DAY/MONTH', 'type' => 'string', 'title' => ''], 'Alias' => ['description' => 'Field alias. ', 'example' => 'user_name_alias', 'type' => 'string', 'title' => ''], 'DimDateClass' => ['description' => 'Schedule Type. ', 'example' => 'DAY', 'type' => 'string', 'title' => ''], ], 'type' => 'object', 'title' => '', 'example' => '', ], 'type' => 'array', 'title' => '', 'example' => '', ], 'AstExpr' => [ 'description' => 'Query conditions.', 'items' => [ 'properties' => [ 'ExprType' => ['description' => 'Expression type.', 'example' => 'binaryOp', 'type' => 'string', 'title' => ''], 'Expr' => ['description' => 'Expression content.', 'example' => '{"header":{"fieldName":"xxx"},"operator":"GreaterThanOrEqual","value":12345}', 'type' => 'string', 'title' => ''], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], 'type' => 'array', 'title' => '', 'example' => '', ], ], 'type' => 'object', 'title' => '', 'example' => '', ], ], 'type' => 'object', 'title' => '', 'example' => '', ], ], 'type' => 'object', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.dap.insight.noAuthorization', 'errorMessage' => 'no authorization.', 'description' => 'no authorization.'], ['errorCode' => 'iot.dap.insight.requestParamError', 'errorMessage' => 'request param error.', 'description' => 'request param error.'], ['errorCode' => 'iot.dap.insight.serverError', 'errorMessage' => 'server hsf error please try later', 'description' => 'server hsf error please try later'], ['errorCode' => 'iot.dap.insight.downloadTaskNumUpperLimit', 'errorMessage' => 'the number of downloaded tasks exceeded the upper limit', 'description' => 'the number of downloaded tasks exceeded the upper limit'], ['errorCode' => 'iot.dap.insight.downloadTimesUpperLimit', 'errorMessage' => 'the number of current job downloaded tasks exceeded the upper limit', 'description' => 'the number of current job downloaded tasks exceeded the upper limit'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"ErrorMessage\\": \\"no authorization.\\",\\n \\"RequestId\\": \\"BB71E443-4447-4024-A000-EDE09934****\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Status\\": 1,\\n \\"LongJobId\\": \\"62d949808bc742187xxxxxx\\",\\n \\"BeginTime\\": 1658406464534,\\n \\"AsyncExecute\\": true,\\n \\"TotalCount\\": 100,\\n \\"EndTime\\": 1658406465000,\\n \\"PreviewSize\\": 100,\\n \\"PageNo\\": 1,\\n \\"PageSize\\": 10,\\n \\"CsvUrl\\": \\"https://xxxxx-data-download-sh.oss-cn-shanghai.aliyuncs.com/data/download/6B761BxxxxxxxxAAA0BF03D32C80E/62da39b9xxxxxx5a7b953376/download_file_name.csv?Expires=1658469132&OSSAccessKeyId=xxxxxxxxx&Signature=rRL%xxxxxxx%3D\\",\\n \\"CsvFileName\\": \\"test_download_flie\\",\\n \\"DatasetId\\": \\"xxxxxx\\",\\n \\"ResultDataInString\\": \\"{\\\\\\"a\\\\\\":123}\\",\\n \\"Header\\": [\\n {\\n \\"TypeClass\\": \\"date\\",\\n \\"FieldName\\": \\"user_name\\",\\n \\"GeoClass\\": \\"{xxx:xxxx}\\",\\n \\"FieldType\\": \\"INTEGER\\",\\n \\"TimeClass\\": \\"HOUR/DAY/MONTH\\",\\n \\"DimDateClass\\": \\"DAY\\",\\n \\"Alias\\": \\"user_name_alias\\"\\n }\\n ],\\n \\"Result\\": [\\n {\\n \\"a\\": 123\\n }\\n ],\\n \\"QuerySetting\\": {\\n \\"SelectedHeaders\\": [\\n {\\n \\"FieldName\\": \\"user_name\\",\\n \\"GeoClass\\": \\"{xxx:xxx}\\",\\n \\"FieldType\\": \\"INTEGER\\",\\n \\"TimeClass\\": \\"HOUR/DAY/MONTH\\",\\n \\"Alias\\": \\"user_name_alias\\",\\n \\"DimDateClass\\": \\"DAY\\"\\n }\\n ],\\n \\"AstExpr\\": [\\n {\\n \\"ExprType\\": \\"binaryOp\\",\\n \\"Expr\\": \\"{\\\\\\"header\\\\\\":{\\\\\\"fieldName\\\\\\":\\\\\\"xxx\\\\\\"},\\\\\\"operator\\\\\\":\\\\\\"GreaterThanOrEqual\\\\\\",\\\\\\"value\\\\\\":12345}\\"\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', 'title' => 'GetDownloadFile ', 'summary' => 'Invoke this API to obtain the execution result of a data table download job. ', 'description' => '## How-To'."\n" ."\n" .'- The download link for a single download job can be retrieved up to three times per day.'."\n" .'- The download link has a validity period of 5 minutes. ', 'requestParamsDescription' => 'When invoking the API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters Documentation](~~30561~~). ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetDownloadFile', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetDownloadFile'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'GetEdgeDriverVersion' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'DriverId', 'in' => 'query', 'schema' => ['description' => 'The ID of the driver. To obtain the driver ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Drivers** page, move the pointer over the name of the driver whose version information you want to query and obtain the driver ID.'."\n" ."\n" .'You can also call the [QueryEdgeDriver](~~155776~~) operation to query the driver ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'fec565038d7544978d9aed5c1a******', 'title' => ''], ], [ 'name' => 'DriverVersion', 'in' => 'query', 'schema' => ['description' => 'The version number of the driver.'."\n", 'type' => 'string', 'required' => true, 'example' => '1.2.0', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message that is returned if the call failed.'."\n", 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '6ECE664B-E670-47BA-A6AD-62B9F35E3A7B', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data that is returned if the call was successful.'."\n", 'type' => 'object', 'properties' => [ 'GmtCreateTimestamp' => ['description' => 'The UNIX timestamp when the driver was created.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1581912859713', 'title' => ''], 'ConfigCheckRule' => ['description' => 'The rule for verifying configurations. The value is a JSON string in the following format:'."\n" ."\n" .'`{"deviceConfig":{"required":false},"driverConfig":{"required":false}`'."\n" ."\n" .'The JSON string contains the following parameters:'."\n" ."\n" .'* driverConfig: the rule for verifying the configuration of the driver when the driver is to be deployed in an edge instance.'."\n" .'* deviceConfig: the rule for verifying the configurations of devices that use the driver when the driver is to be deployed in an edge instance.'."\n", 'type' => 'string', 'example' => '{\\"deviceConfig\\":{\\"required\\":false},\\"driverConfig\\":{\\"required\\":false}}', 'title' => ''], 'DriverId' => ['description' => 'The ID of the driver.'."\n", 'type' => 'string', 'example' => 'fec565038d7544978d9aed5c1a******', 'title' => ''], 'EdgeVersion' => ['description' => 'The earliest version of Link IoT Edge that is supported by the driver.'."\n", 'type' => 'string', 'example' => '2.0.0', 'title' => ''], 'GmtModifiedTimestamp' => ['description' => 'The last UNIX timestamp when the driver was updated.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1581912859713', 'title' => ''], 'VersionState' => ['description' => 'The status of the driver version. Valid values:'."\n" ."\n" .'* 0: The driver version was not published.'."\n" .'* 1: The driver version was published.'."\n", 'type' => 'string', 'example' => '0', 'title' => ''], 'ContainerConfig' => ['description' => 'The configuration of the container where the driver runs. The value is a JSON string. For more information about parameters in the JSON string, see the following parameter description of ContainerConfig.'."\n", 'type' => 'string', 'example' => '{\\"devMappings\\":[],\\"hostNetworkMode\\":0,\\"portMappings\\":[],\\"privileged\\":1,\\"volumeMappings\\":[]}', 'title' => ''], 'Description' => ['description' => 'The description of the driver.'."\n", 'type' => 'string', 'example' => 'Led驱动', 'title' => ''], 'DriverConfig' => ['description' => 'The configuration of the driver. The value is a JSON string in the following format:'."\n" ."\n" .'`{"format":"JSON","content":"{}"}`'."\n" ."\n" .'The JSON string contains the following parameters:'."\n" ."\n" .'* format: the format of the driver configuration. Valid values: KV (key-value pair), JSON (JSON string), and FILE (configuration file).'."\n" .'* content: the content of the driver configuration. If the format parameter is set to KV or JSON, the value of this parameter is the configuration content. If the format parameter is set to FILE, the value of this parameter is the URL of the configuration file stored in Object Storage Service (OSS).'."\n", 'type' => 'string', 'example' => '[{\\"content\\":\\"{\\\\\\"defaultConfig\\\\\\":\\\\\\"this is default driver config demo\\\\\\"}\\",\\"format\\":\\"JSON\\"}]', 'title' => ''], 'DriverVersion' => ['description' => 'The version number of the driver.'."\n", 'type' => 'string', 'example' => '1.2.0', 'title' => ''], 'Argument' => ['description' => 'The Java Virtual Machine (JVM) startup parameter.'."\n", 'type' => 'string', 'example' => '-XX:+PrintGCDetails', 'title' => ''], 'SourceConfig' => ['description' => 'The source of the driver code. The value is a JSON string in the following format:'."\n" ."\n" .'`{"ossAddress":"http://***/driver_code.zip","temporaryOssAddress":"http://***/driver_code.zip?Expires***"}`'."\n" ."\n" .'In the JSON string, `ossAddress` indicates the URL of the driver code stored in OSS and `temporaryOssAddress` indicates the temporary link for downloading the driver code. The validity period of the temporary link is 5 minutes.'."\n", 'type' => 'string', 'example' => '{\\"ossAddress\\":\\"http://nova-scene-daily.oss-cn-shanghai.aliyuncs.com/driver/a8d6e4acc6941ecea8f0cfb30******/ck3n3koe200003h6zfg******.zip\\",\\"temporaryOssAddress\\":\\"http://nova-scene-daily.oss-cn-shanghai.aliyuncs.com/driver/a8d6e4acc6941ecea8f0cfb30******/ck3n3koe200003h6zf******.zip?Expires\\u003d1575******\\u0026OSSAccessKeyId\\u003daS4MT0IYrP******\\u0026Signature\\u003dm6cpmcaB8rm3YfbkhTYgb0******\\"}', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"6ECE664B-E670-47BA-A6AD-62B9F35E3A7B\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"GmtCreateTimestamp\\": 1581912859713,\\n \\"ConfigCheckRule\\": \\"{\\\\\\\\\\\\\\"deviceConfig\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"required\\\\\\\\\\\\\\":false},\\\\\\\\\\\\\\"driverConfig\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"required\\\\\\\\\\\\\\":false}}\\",\\n \\"DriverId\\": \\"fec565038d7544978d9aed5c1a******\\",\\n \\"EdgeVersion\\": \\"2.0.0\\",\\n \\"GmtModifiedTimestamp\\": 1581912859713,\\n \\"VersionState\\": \\"0\\",\\n \\"ContainerConfig\\": \\"{\\\\\\\\\\\\\\"devMappings\\\\\\\\\\\\\\":[],\\\\\\\\\\\\\\"hostNetworkMode\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"portMappings\\\\\\\\\\\\\\":[],\\\\\\\\\\\\\\"privileged\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"volumeMappings\\\\\\\\\\\\\\":[]}\\",\\n \\"Description\\": \\"Led驱动\\",\\n \\"DriverConfig\\": \\"[{\\\\\\\\\\\\\\"content\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"defaultConfig\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"this is default driver config demo\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"}\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"format\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"JSON\\\\\\\\\\\\\\"}]\\",\\n \\"DriverVersion\\": \\"1.2.0\\",\\n \\"Argument\\": \\"-XX:+PrintGCDetails\\",\\n \\"SourceConfig\\": \\"{\\\\\\\\\\\\\\"ossAddress\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"http://nova-scene-daily.oss-cn-shanghai.aliyuncs.com/driver/a8d6e4acc6941ecea8f0cfb30******/ck3n3koe200003h6zfg******.zip\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"temporaryOssAddress\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"http://nova-scene-daily.oss-cn-shanghai.aliyuncs.com/driver/a8d6e4acc6941ecea8f0cfb30******/ck3n3koe200003h6zf******.zip?Expires\\\\\\\\u003d1575******\\\\\\\\u0026OSSAccessKeyId\\\\\\\\u003daS4MT0IYrP******\\\\\\\\u0026Signature\\\\\\\\u003dm6cpmcaB8rm3YfbkhTYgb0******\\\\\\\\\\\\\\"}\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', 'title' => 'GetEdgeDriverVersion', 'summary' => 'Queries information about a driver version.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~135196~~).'."\n", 'responseParamsDescription' => ' **ContainerConfig参数说明**'."\n" ."\n" .'| 名称 | 类型 | 描述 |'."\n" .'| --- | --- | --- |'."\n" .'| privileged | Integer | 是否启动特权模式。
0:表示否。
1:表示是。
|'."\n" .'| hostNetworkMode | Integer | 是否使用宿主机host模式。
0:表示否。
1:表示是。
|'."\n" .'| portMappings | List | 网络端口映射。格式请参考本文下方portMappings表格。 |'."\n" .'| devMappings | List | 设备映射。格式请参考本文下方devMappings表格。 |'."\n" .'| volumeMappings | List | 卷映射。格式请参考本文下方volumeMappings表格。 |'."\n" ."\n" .'
**portMappings参数说明**'."\n" ."\n" .'| 名称 | 类型 | 描述 |'."\n" .'| --- | --- | --- |'."\n" .'| hostPort | Integer | 宿主机端口。 |'."\n" .'| containerPort | Integer | 容器内端口。 |'."\n" .'| protocol | Integer | 协议类型。取值有tcp和udp两种。 |'."\n" ."\n\n" .'**devMappings参数说明**'."\n" ."\n" .'| 名称 | 类型 | 描述 |'."\n" .'| --- | --- | --- |'."\n" .'| hostPath | String | 设备名称。 |'."\n" .'| permission | String | 读写权限。
ro:只读权限。
rw:读写权限。
|'."\n" .'| comment | String | 注释信息。 |'."\n" ."\n\n" .'**volumeMappings参数说明**'."\n" ."\n" .'| 名称 | 类型 | 描述 |'."\n" .'| --- | --- | --- |'."\n" .'| hostPath | String | 源路径。 |'."\n" .'| containerPath | String | 目的路径。 |'."\n" .'| permission | String | 读写权限。
ro:只读权限。
rw:读写权限。
|', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetEdgeDriverVersion', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'GetEdgeInstance' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance whose detailed information you want to query and obtain the instance ID.'."\n" ."\n" .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'F3APY0tPLhmgGtx0****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message that is returned if the call failed.'."\n", 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '16645053-546B-4D7C-832E-E519B0E23CF1', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data that is returned if the call was successful.'."\n", 'type' => 'object', 'properties' => [ 'GmtCreateTimestamp' => ['description' => 'The UNIX timestamp when the edge instance was created.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1581912859713', 'title' => ''], 'Type' => ['description' => 'Indicates whether you own the edge instance or you are authorized to use the edge instance. Valid values:'."\n" ."\n" .'* 0: You own the edge instance.'."\n" .'* 1: You are authorized to use the edge instance.'."\n", 'type' => 'string', 'example' => '0', 'title' => ''], 'RoleArn' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the RAM role.'."\n", 'type' => 'string', 'example' => 'acs:ram::1473922805******:role/aliyuniotaccessingfcrole', 'title' => ''], 'Spec' => ['description' => 'The specifications of the edge instance. Valid values:'."\n" ."\n" .'* 10: Lite Edition'."\n" .'* 20: Standard Edition'."\n" .'* 30: Pro Edition'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], 'RoleAttachTime' => ['description' => 'The time when the RAM role was attached to IoT Platform.'."\n", 'type' => 'string', 'example' => '2020-02-19 11:25:48', 'title' => ''], 'GmtModifiedTimestamp' => ['description' => 'The last UNIX timestamp when the edge instance was updated.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1581912859713', 'title' => ''], 'Tags' => ['description' => 'The tags of the edge instance. Each tag is a `key-value` pair. Multiple tags are separated with commas(,). Example: `k1:v1,k2:v2`.'."\n", 'type' => 'string', 'example' => 'k1:v1,k2:v2', 'title' => ''], 'InstanceId' => ['description' => 'The ID of the edge instance.'."\n", 'type' => 'string', 'example' => 'F3APY0tPLhmgGtx0****', 'title' => ''], 'RoleName' => ['description' => 'The name of the RAM role.'."\n", 'type' => 'string', 'example' => 'AliyunIOTAccessingFCRole', 'title' => ''], 'RoleAttachTimestamp' => ['description' => 'The UNIX timestamp when the RAM role was attached to IoT Platform.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1581912859713', 'title' => ''], 'GmtModified' => ['description' => 'The last time when the edge instance was updated.'."\n", 'type' => 'string', 'example' => '2019-06-26 12:33:25', 'title' => ''], 'LatestDeploymentType' => ['description' => 'The type of the latest deployment task. Valid values:'."\n" ."\n" .'* deploy: deploys the edge instance.'."\n" .'* reset: resets the edge instance.'."\n", 'type' => 'string', 'example' => 'deploy', 'title' => ''], 'LatestDeploymentStatus' => ['description' => 'The status of the latest deployment task. Valid values:'."\n" ."\n" .'* 0: The task was not started.'."\n" .'* 1: The task was being processed.'."\n" .'* 2: The task was successful.'."\n" .'* 3: The task failed.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'BizEnable' => ['description' => 'Indicates whether the edge instance was enabled. Valid values:'."\n" ."\n" .'* true: enabled'."\n" .'* false: disabled'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'GmtCreate' => ['description' => 'The time when the edge instance was created.'."\n", 'type' => 'string', 'example' => '2019-06-26 12:33:25', 'title' => ''], 'Name' => ['description' => 'The name of the edge instance.'."\n", 'type' => 'string', 'example' => '测试实例new', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"16645053-546B-4D7C-832E-E519B0E23CF1\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"GmtCreateTimestamp\\": 1581912859713,\\n \\"Type\\": \\"0\\",\\n \\"RoleArn\\": \\"acs:ram::1473922805******:role/aliyuniotaccessingfcrole\\",\\n \\"Spec\\": 30,\\n \\"RoleAttachTime\\": \\"2020-02-19 11:25:48\\",\\n \\"GmtModifiedTimestamp\\": 1581912859713,\\n \\"Tags\\": \\"k1:v1,k2:v2\\",\\n \\"InstanceId\\": \\"F3APY0tPLhmgGtx0****\\",\\n \\"RoleName\\": \\"AliyunIOTAccessingFCRole\\",\\n \\"RoleAttachTimestamp\\": 1581912859713,\\n \\"GmtModified\\": \\"2019-06-26 12:33:25\\",\\n \\"LatestDeploymentType\\": \\"deploy\\",\\n \\"LatestDeploymentStatus\\": 2,\\n \\"BizEnable\\": true,\\n \\"GmtCreate\\": \\"2019-06-26 12:33:25\\",\\n \\"Name\\": \\"测试实例new\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', 'title' => 'GetEdgeInstance', 'summary' => 'Queries detailed information about an edge instance.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetEdgeInstance', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'GetEdgeInstanceDeployment' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance for which you want to query detailed information about a deployment task and obtain the instance ID.'."\n" ."\n" .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'PgEfYupSn6Pvhfkx****', 'title' => ''], ], [ 'name' => 'DeploymentId', 'in' => 'query', 'schema' => ['description' => 'The ID of the deployment task. You can call the [QueryEdgeInstanceHistoricDeployment](~~135275~~) operation to query the ID of a deployment task.'."\n", 'type' => 'string', 'required' => true, 'example' => '9261e308a9504fde9b4cf8462b0b****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message that is returned if the call failed.'."\n", 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '6B72291A-9492-445E-81D9-335D2D3E44C0', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data that is returned if the call was successful.'."\n", 'type' => 'object', 'properties' => [ 'GmtCreateTimestamp' => ['description' => 'The UNIX timestamp when the deployment task was created.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1581912859713', 'title' => ''], 'Type' => ['description' => 'The type of the deployment task.'."\n" ."\n" .'* deploy: deploys the edge instance.'."\n" .'* reset: resets the edge instance.'."\n", 'type' => 'string', 'example' => 'deploy', 'title' => ''], 'Status' => ['description' => 'The status of the deployment task.'."\n" ."\n" .'* 0: The task was not started.'."\n" .'* 1: The task was being processed.'."\n" .'* 2: The task was successful.'."\n" .'* 3: The task failed.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'DeploymentId' => ['description' => 'The ID of the deployment task.'."\n", 'type' => 'string', 'example' => '9261e308a9504fde9b4cf8462b0b****', 'title' => ''], 'Description' => ['description' => 'The description of the deployment task.'."\n", 'type' => 'string', 'example' => 'deploy_1561543948874', 'title' => ''], 'GmtModifiedTimestamp' => ['description' => 'The last UNIX timestamp when the deployment task was modified.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1581912859713', 'title' => ''], 'GmtCompleted' => ['description' => 'The time when the deployment task was complete.'."\n", 'type' => 'string', 'example' => '2019-06-26 18:12:35', 'title' => ''], 'GmtCreate' => ['description' => 'The time when the deployment task was created.'."\n", 'type' => 'string', 'example' => '2019-06-26 18:12:29', 'title' => ''], 'GmtCompletedTimestamp' => ['description' => 'The UNIX timestamp when the deployment task was complete.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1581912859713', 'title' => ''], 'GmtModified' => ['description' => 'The last time when the deployment task was modified.'."\n", 'type' => 'string', 'example' => '2019-06-26 18:12:35', 'title' => ''], 'TaskList' => [ 'description' => 'The list of deployment subtasks.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'GmtCreateTimestamp' => ['description' => 'The UNIX timestamp when the deployment subtask was created.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1581912859713', 'title' => ''], 'Status' => ['description' => 'The status of the deployment subtask.'."\n" ."\n" .'* 0: The subtask was in the initial state.'."\n" .'* 1: The subtask was being processed.'."\n" .'* 2: The subtask was successful.'."\n" .'* 3: The subtask failed.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'Stage' => ['description' => 'The stage of the deployment subtask.'."\n" ."\n" .'* 0: The subtask was not started.'."\n" .'* 8: The subtask was being assembled.'."\n" .'* 16: The subtask was being packaged.'."\n" .'* 24: The subtask was being dispatched.'."\n" .'* 32: The subtask was complete.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '32', 'title' => ''], 'GatewayId' => ['description' => 'The ID of the gateway.'."\n", 'type' => 'string', 'example' => 'jQWf3MVgQjMzcwsY****000101', 'title' => ''], 'GmtModifiedTimestamp' => ['description' => 'The last UNIX timestamp when the deployment subtask was modified.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1581912859713', 'title' => ''], 'GmtCompleted' => ['description' => 'The time when the deployment subtask was complete.'."\n", 'type' => 'string', 'example' => '2019-06-26 18:12:35', 'title' => ''], 'GmtCreate' => ['description' => 'The time when the deployment subtask was created.'."\n", 'type' => 'string', 'example' => '2019-06-26 18:12:29', 'title' => ''], 'GmtCompletedTimestamp' => ['description' => 'The UNIX timestamp when the deployment subtask was complete.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1581912859713', 'title' => ''], 'GmtModified' => ['description' => 'The last time when the deployment subtask was modified.'."\n", 'type' => 'string', 'example' => '2019-06-26 18:12:35', 'title' => ''], 'TaskId' => ['description' => 'The ID of the deployment subtask.'."\n", 'type' => 'string', 'example' => '49ea651529014bf8b5645d5f9062****', 'title' => ''], 'ResourceSnapshotList' => [ 'description' => 'The list of deployment task snapshots.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the snapshot task.'."\n" ."\n" .'* 0: The snapshot task was not started.'."\n" .'* 1: The snapshot task was being processed.'."\n" .'* 2: The snapshot task was successful.'."\n" .'* 3: The snapshot task failed.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'GmtCreateTimestamp' => ['description' => 'The UNIX timestamp when the deployment task snapshot was created.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1581912859713', 'title' => ''], 'Stage' => ['description' => 'The stage of the snapshot task.'."\n" ."\n" .'* 0: The snapshot task was in the initial state.'."\n" .'* 8: The snapshot task was being assembled.'."\n" .'* 16: The snapshot task was being packaged.'."\n" .'* 24: The snapshot task was being dispatched.'."\n" .'* 32: The snapshot task was complete.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '32', 'title' => ''], 'GmtModifiedTimestamp' => ['description' => 'The last UNIX timestamp when the deployment task snapshot was modified.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1581912859713', 'title' => ''], 'GmtModified' => ['description' => 'The last time when the deployment task snapshot was modified.'."\n", 'type' => 'string', 'example' => '2019-06-26 18:12:34', 'title' => ''], 'Log' => ['description' => 'The logs of resource deployment.'."\n", 'type' => 'string', 'example' => '[{\\"resourceId\\":\\"device_config\\",\\"code\\":\\"0\\",\\"stage\\":0,\\"level\\":\\"INFO\\",\\"message\\":\\"init success\\",\\"resourceType\\":\\"DEVICE_CONFIG\\",\\"timestamp\\":1561543949858},{\\"resourceId\\":\\"device_config\\",\\"code\\":\\"0\\",\\"stage\\":8,\\"level\\":\\"INFO\\",\\"message\\":\\"assembly success\\",\\"resourceType\\":\\"DEVICE_CONFIG\\",\\"timestamp\\":1561543951419},{\\"resourceId\\":\\"device_config\\",\\"code\\":\\"0\\",\\"stage\\":16,\\"level\\":\\"INFO\\",\\"message\\":\\"package success\\",\\"resourceType\\":\\"DEVICE_CONFIG\\",\\"timestamp\\":1561543952591},{\\"resourceId\\":\\"device_config\\",\\"code\\":\\"0\\",\\"stage\\":32,\\"level\\":\\"INFO\\",\\"message\\":\\"download success\\",\\"resourceType\\":\\"DEVICE_CONFIG\\",\\"timestamp\\":1561543954149}]', 'title' => ''], 'OperateType' => ['description' => 'The type of the operation.'."\n" ."\n" .'* 0: deploys resources.'."\n" .'* 1: deletes resources.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'ResourceType' => ['description' => 'The type of the resource.'."\n", 'type' => 'string', 'example' => 'device_config', 'title' => ''], 'SnapshotId' => ['description' => 'The ID of the deployment task snapshot.'."\n", 'type' => 'string', 'example' => 'ab576e84a43043d7840cbcebf4a5****', 'title' => ''], 'GmtCompleted' => ['description' => 'The time when the deployment task snapshot was complete.'."\n", 'type' => 'string', 'example' => '2019-06-26 18:12:34', 'title' => ''], 'GmtCreate' => ['description' => 'The time when the deployment task snapshot was created.'."\n", 'type' => 'string', 'example' => '2019-06-26 18:12:29', 'title' => ''], 'GmtCompletedTimestamp' => ['description' => 'The UNIX timestamp when the deployment task snapshot was complete.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1581912859713', 'title' => ''], 'ResourceId' => ['description' => 'The ID of the resource.'."\n", 'type' => 'string', 'example' => 'device_config', 'title' => ''], 'ResourceName' => ['description' => 'The name of the resource.'."\n", 'type' => 'string', 'example' => 'device_config', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"6B72291A-9492-445E-81D9-335D2D3E44C0\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"GmtCreateTimestamp\\": 1581912859713,\\n \\"Type\\": \\"deploy\\",\\n \\"Status\\": 2,\\n \\"DeploymentId\\": \\"9261e308a9504fde9b4cf8462b0b****\\",\\n \\"Description\\": \\"deploy_1561543948874\\",\\n \\"GmtModifiedTimestamp\\": 1581912859713,\\n \\"GmtCompleted\\": \\"2019-06-26 18:12:35\\",\\n \\"GmtCreate\\": \\"2019-06-26 18:12:29\\",\\n \\"GmtCompletedTimestamp\\": 1581912859713,\\n \\"GmtModified\\": \\"2019-06-26 18:12:35\\",\\n \\"TaskList\\": [\\n {\\n \\"GmtCreateTimestamp\\": 1581912859713,\\n \\"Status\\": 2,\\n \\"Stage\\": 32,\\n \\"GatewayId\\": \\"jQWf3MVgQjMzcwsY****000101\\",\\n \\"GmtModifiedTimestamp\\": 1581912859713,\\n \\"GmtCompleted\\": \\"2019-06-26 18:12:35\\",\\n \\"GmtCreate\\": \\"2019-06-26 18:12:29\\",\\n \\"GmtCompletedTimestamp\\": 1581912859713,\\n \\"GmtModified\\": \\"2019-06-26 18:12:35\\",\\n \\"TaskId\\": \\"49ea651529014bf8b5645d5f9062****\\",\\n \\"ResourceSnapshotList\\": [\\n {\\n \\"Status\\": 2,\\n \\"GmtCreateTimestamp\\": 1581912859713,\\n \\"Stage\\": 32,\\n \\"GmtModifiedTimestamp\\": 1581912859713,\\n \\"GmtModified\\": \\"2019-06-26 18:12:34\\",\\n \\"Log\\": \\"[{\\\\\\\\\\\\\\"resourceId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"device_config\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"code\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"stage\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"level\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"INFO\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"message\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"init success\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"resourceType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"DEVICE_CONFIG\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"timestamp\\\\\\\\\\\\\\":1561543949858},{\\\\\\\\\\\\\\"resourceId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"device_config\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"code\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"stage\\\\\\\\\\\\\\":8,\\\\\\\\\\\\\\"level\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"INFO\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"message\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"assembly success\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"resourceType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"DEVICE_CONFIG\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"timestamp\\\\\\\\\\\\\\":1561543951419},{\\\\\\\\\\\\\\"resourceId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"device_config\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"code\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"stage\\\\\\\\\\\\\\":16,\\\\\\\\\\\\\\"level\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"INFO\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"message\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"package success\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"resourceType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"DEVICE_CONFIG\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"timestamp\\\\\\\\\\\\\\":1561543952591},{\\\\\\\\\\\\\\"resourceId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"device_config\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"code\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"stage\\\\\\\\\\\\\\":32,\\\\\\\\\\\\\\"level\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"INFO\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"message\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"download success\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"resourceType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"DEVICE_CONFIG\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"timestamp\\\\\\\\\\\\\\":1561543954149}]\\",\\n \\"OperateType\\": 0,\\n \\"ResourceType\\": \\"device_config\\",\\n \\"SnapshotId\\": \\"ab576e84a43043d7840cbcebf4a5****\\",\\n \\"GmtCompleted\\": \\"2019-06-26 18:12:34\\",\\n \\"GmtCreate\\": \\"2019-06-26 18:12:29\\",\\n \\"GmtCompletedTimestamp\\": 1581912859713,\\n \\"ResourceId\\": \\"device_config\\",\\n \\"ResourceName\\": \\"device_config\\"\\n }\\n ]\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 6B72291A-9492-445E-81D9-335D2D3E44C0\\r\\n \\r\\n 2\\r\\n 9261e308a9504fde9b4cf8462b0b****\\r\\n 2019-06-26 18:12:35\\r\\n deploy\\r\\n 2019-06-26 18:12:29\\r\\n deploy_1561543948874\\r\\n \\r\\n \\r\\n 2\\r\\n 2019-06-26 18:12:35\\r\\n 2019-06-26 18:12:29\\r\\n 49ea651529014bf8b5645d5f9062****\\r\\n \\r\\n \\r\\n 2\\r\\n ab576e84a43043d7840cbcebf4a5****\\r\\n 2019-06-26 18:12:34\\r\\n 2019-06-26 18:12:29\\r\\n [{\\"resourceId\\":\\"device_config\\",\\"code\\":\\"0\\",\\"stage\\":0,\\"level\\":\\"INFO\\",\\"message\\":\\"init success\\",\\"resourceType\\":\\"DEVICE_CONFIG\\",\\"timestamp\\":1561543949858},{\\"resourceId\\":\\"device_config\\",\\"code\\":\\"0\\",\\"stage\\":8,\\"level\\":\\"INFO\\",\\"message\\":\\"assembly success\\",\\"resourceType\\":\\"DEVICE_CONFIG\\",\\"timestamp\\":1561543951419},{\\"resourceId\\":\\"device_config\\",\\"code\\":\\"0\\",\\"stage\\":16,\\"level\\":\\"INFO\\",\\"message\\":\\"package success\\",\\"resourceType\\":\\"DEVICE_CONFIG\\",\\"timestamp\\":1561543952591},{\\"resourceId\\":\\"device_config\\",\\"code\\":\\"0\\",\\"stage\\":32,\\"level\\":\\"INFO\\",\\"message\\":\\"download success\\",\\"resourceType\\":\\"DEVICE_CONFIG\\",\\"timestamp\\":1561543954149}]\\r\\n device_config\\r\\n device_config\\r\\n 2019-06-26 18:12:34\\r\\n 32\\r\\n device_config\\r\\n 0\\r\\n \\r\\n \\r\\n 2019-06-26 18:12:35\\r\\n 32\\r\\n jQWf3MVgQjMzcwsY****000101\\r\\n \\r\\n \\r\\n 2019-06-26 18:12:35\\r\\n \\r\\n Success\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'GetEdgeInstanceDeployment', 'summary' => 'Queries detailed information about a deployment task of an edge instance.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of five queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetEdgeInstanceDeployment', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'GetEdgeInstanceMessageRouting' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the IoT Platform:'."\n" .'- Enterprise instance: You must specify this parameter. You can view your Enterprise instance ID on the **Instance Overview** page in the [IoT Platform console](http://iot.console.aliyun.com/).'."\n" .'- Public instance: You do not need to specify this parameter.', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The edge instance ID. On the **Edge Instances** page of the [Edge Computing console](https://iot.console.aliyun.com/le/instance/list), hover the mouse pointer over the name of the target edge instance to obtain its ID.', 'type' => 'string', 'required' => true, 'example' => '8jKxIuMVT9rX********', 'title' => ''], ], [ 'name' => 'RouteId', 'in' => 'query', 'schema' => ['description' => 'The message routing ID. You can invoke the [QueryEdgeInstanceMessageRouting](~~212633~~) API to obtain it.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '9223372036854775807', 'minimum' => '0', 'example' => '123456', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'API return code:'."\n" .'- **Success**: Indicates success.'."\n" .'- Others: Indicate error codes. For details about error codes, see [Error Codes](~~135200~~).', 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request. ', 'type' => 'string', 'example' => '8A248DEC-887C-4A37-8DE5-E128FFA3698D', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded:'."\n" .'- **true**: Indicates that the invocation succeeded.'."\n" .'- **false**: Indicates that the invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data returned when the call succeeds. ', 'type' => 'object', 'properties' => [ 'GmtCreateTimestamp' => ['description' => 'The Unix timestamp when the message routing was created. ', 'type' => 'integer', 'format' => 'int64', 'example' => '1590407699000', 'title' => ''], 'TopicFilter' => ['description' => 'The message filtering condition. ', 'type' => 'string', 'example' => 'all', 'title' => ''], 'GmtModifiedTimestamp' => ['description' => 'The Unix timestamp when the message routing was last updated.', 'type' => 'integer', 'format' => 'int64', 'example' => '1590407699000', 'title' => ''], 'TargetData' => ['description' => 'The data of the message recipient: '."\n" .'- When **TargetType** is **function**, this field contains the ID of the edge application. '."\n" .'- When **TargetType** is **IotHub**, this field is empty. ', 'type' => 'string', 'example' => '58c46749ac934db3925fe5********', 'title' => ''], 'GmtCreate' => ['description' => 'The time when the message routing was created. ', 'type' => 'string', 'example' => '2020-05-25 19:54:59', 'title' => ''], 'SourceType' => ['description' => 'The source of the message: '."\n" .'- **device**: indicates that the message is sent by a device. '."\n" .'- **function**: indicates that the message is sent by an edge application. '."\n" .'- **IotHub**: indicates that the message is sent from the cloud. ', 'type' => 'string', 'example' => 'device', 'title' => ''], 'GmtModified' => ['description' => 'The time when the message routing was last updated. ', 'type' => 'string', 'example' => '2020-05-25 19:54:59', 'title' => ''], 'Name' => ['description' => 'The name of the message routing. ', 'type' => 'string', 'example' => 'sample', 'title' => ''], 'SourceData' => ['description' => 'The data from the message source:'."\n" ."\n" .'- When **SourceType** is **device**:'."\n" ."\n" .' - The parameter value format is `/{Your_ProductKey}/{Your_DeviceName}`: indicating that the message originates from a specific device under a specified product.'."\n" ."\n" .' > {Your_ProductKey} and {Your_DeviceName} are the actual ProductKey and DeviceName of your device.'."\n" ."\n" .' - The parameter value format is `/{Your_ProductKey}/+`: indicating that the message originates from all devices under a specified product.'."\n" ."\n" .' > {Your_ProductKey} is the actual ProductKey of your device.'."\n" ."\n" .' - The parameter value is **#**: indicating that the message originates from all devices under all products in the edge instance.'."\n" ."\n" .'- When **SourceType** is **function**: this field contains the ID of the edge application.'."\n" ."\n" .'- When **SourceType** is **IotHub**: this field is empty. ', 'type' => 'string', 'example' => '#', 'title' => ''], 'TargetType' => ['description' => 'The message recipient: '."\n" .'- **function**: indicates that the message is sent to an edge application. '."\n" .'- **IotHub**: indicates that the message is sent to the cloud. ', 'type' => 'string', 'example' => 'IotHub', 'title' => ''], 'RouteContext' => [ 'description' => 'Supplementary information about the message source and the message recipient. ', 'type' => 'object', 'properties' => [ 'TargetApplicationName' => ['description' => 'This parameter is returned when **TargetType** is **function** and the edge application specified in **TargetData** is a Function Compute-type edge application. It indicates the name of the Function Compute-type edge application. ', 'type' => 'string', 'example' => 'le_object_detector', 'title' => ''], 'SourceApplicationName' => ['description' => 'This parameter is returned when **SourceType** is **function** and the edge application specified in **SourceData** is a Function Compute-type edge application. It indicates the name of the Function Compute-type edge application.', 'type' => 'string', 'example' => 'le_object_detector', 'title' => ''], 'TargetFcFunctionName' => ['description' => 'This parameter is returned when **TargetType** is **function** and the edge application specified in **TargetData** is a Function Compute-type edge application. It indicates the function name within the Function Compute-type edge application. ', 'type' => 'string', 'example' => 'lightSensorDataFilter', 'title' => ''], 'SourceFcFunctionName' => ['description' => 'This parameter is returned when **SourceType** is **function** and the edge application specified in **SourceData** is a Function Compute-type edge application. It indicates the function name in the Function Compute-type edge application.', 'type' => 'string', 'example' => 'object_detector_app', 'title' => ''], 'TargetFcServiceName' => ['description' => 'This parameter is returned when **TargetType** is **function** and the edge application specified in **TargetData** is a Function Compute-type edge application. It indicates the service name within the Function Compute-type edge application. ', 'type' => 'string', 'example' => 'EdgeFC', 'title' => ''], 'SourceFcServiceName' => ['description' => 'This parameter is returned when **SourceType** is **function** and the edge application specified in **SourceData** is a Function Compute-type edge application. It indicates the service name in the Function Compute-type edge application.', 'type' => 'string', 'example' => 'EdgeFC', 'title' => ''], 'Qos' => ['description' => 'Service level:'."\n" ."\n" .'- 0: Indicates that the message is sent only once, regardless of whether it is successfully accepted by the receiver.'."\n" ."\n" .'- 1: Indicates that the message is sent at least once, and transmission continues until a response is received from the message receiver.', 'type' => 'string', 'example' => '1', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"8A248DEC-887C-4A37-8DE5-E128FFA3698D\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"GmtCreateTimestamp\\": 1590407699000,\\n \\"TopicFilter\\": \\"all\\",\\n \\"GmtModifiedTimestamp\\": 1590407699000,\\n \\"TargetData\\": \\"58c46749ac934db3925fe5********\\",\\n \\"GmtCreate\\": \\"2020-05-25 19:54:59\\",\\n \\"SourceType\\": \\"device\\",\\n \\"GmtModified\\": \\"2020-05-25 19:54:59\\",\\n \\"Name\\": \\"sample\\",\\n \\"SourceData\\": \\"#\\",\\n \\"TargetType\\": \\"IotHub\\",\\n \\"RouteContext\\": {\\n \\"TargetApplicationName\\": \\"le_object_detector\\",\\n \\"SourceApplicationName\\": \\"le_object_detector\\",\\n \\"TargetFcFunctionName\\": \\"lightSensorDataFilter\\",\\n \\"SourceFcFunctionName\\": \\"object_detector_app\\",\\n \\"TargetFcServiceName\\": \\"EdgeFC\\",\\n \\"SourceFcServiceName\\": \\"EdgeFC\\",\\n \\"Qos\\": \\"1\\"\\n }\\n }\\n}","type":"json"}]', 'title' => 'Query details of message routing in an edge instance', 'summary' => 'Invoke this API to obtain the details of message routing in an edge instance. ', 'description' => '## Conditions '."\n" .'- If you call this API in an Enterprise instance, you must specify the **IotInstanceId** parameter. Otherwise, the API call fails. '."\n" .'- The maximum queries per second (QPS) for a single Alibaba Cloud account is 10 when calling this API. '."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. ', 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters Documentation](~~135196~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetEdgeInstanceMessageRouting', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetEdgeInstanceMessageRouting'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'GetGatewayBySubDevice' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The DeviceName of the sub-device.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **ProductKey** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'light', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the sub-device. The ID is a unique identifier that is issued by IoT Platform to the sub-device.'."\n" ."\n" .'> If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. The **IotId** parameter specifies a globally unique identifier (GUID) of the device, which corresponds to a combination of **ProductKey** and **DeviceName**. If you specify both **IotId** and the combination of **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The gateway details returned if the call is successful.'."\n", 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the gateway device. Valid values:'."\n" ."\n" .'* **online**: The device is online.'."\n" .'* **offline**: The device is offline.'."\n" .'* **unactive**: The device is not activated.'."\n" .'* **disable**: The device is disabled.'."\n", 'type' => 'string', 'example' => 'online', 'title' => ''], 'UtcActive' => ['description' => 'The activation time of the gateway. The time is displayed in UTC. The actual time of the region where the gateway resides is calculated based on the time zone of the region.'."\n", 'type' => 'string', 'example' => '2019-12-18T15:25:30.176Z', 'title' => ''], 'ProductName' => ['description' => 'The name of the product to which the gateway belongs.'."\n", 'type' => 'string', 'example' => 'LinkIoT', 'title' => ''], 'DeviceName' => ['description' => 'The DeviceName of the gateway.'."\n", 'type' => 'string', 'example' => 'gateway', 'title' => ''], 'FirmwareVersion' => ['description' => 'The firmware version number of the device.'."\n", 'type' => 'string', 'example' => 'V1.0.1', 'title' => ''], 'UtcCreate' => ['description' => 'The creation time of the gateway. The time is displayed in UTC. The actual time of the region where the gateway resides is calculated based on the time zone of the region.'."\n", 'type' => 'string', 'example' => '2019-12-18T08:58:33.000Z', 'title' => ''], 'region' => ['description' => 'The region where the gateway resides. This region corresponds to the region that is displayed in the IoT Platform console.'."\n", 'type' => 'string', 'example' => 'cn-shanghai', 'title' => ''], 'GmtOnline' => ['description' => 'The last online time of the gateway. The time is displayed in GMT. The time is the local time of the region where the gateway resides.'."\n", 'type' => 'string', 'example' => '2020-01-20 17:41:04', 'title' => ''], 'iotId' => ['description' => 'The ID of the gateway device. The ID is the unique identifier that is issued by IoT Platform to the device.'."\n", 'type' => 'string', 'example' => 'WuyjPSDQE1L22z1d****000100', 'title' => ''], 'UtcOnline' => ['description' => 'The last online time of the gateway. The time is displayed in UTC. The actual time of the region where the gateway resides is calculated based on the time zone of the region.'."\n", 'type' => 'string', 'example' => '2020-01-20T09:41:04.879Z', 'title' => ''], 'ProductKey' => ['description' => 'The **ProductKey** of the product to which the gateway belongs.'."\n", 'type' => 'string', 'example' => 'a1BwAGV****', 'title' => ''], 'IpAddress' => ['description' => 'The IP address of the gateway.'."\n", 'type' => 'string', 'example' => '106.**.1**.**', 'title' => ''], 'NodeType' => ['description' => 'The node type. The value 1 indicates that the device is a gateway.'."\n", 'type' => 'string', 'example' => '1', 'title' => ''], 'DeviceSecret' => ['description' => 'The DeviceSecret of the gateway.'."\n", 'type' => 'string', 'example' => 'dCYdTU3gw5Z77bsHjPk6lPHPVnBT****', 'title' => ''], 'GmtCreate' => ['description' => 'The creation time of the gateway. The time is displayed in GMT. The time is the local time of the region where the gateway resides.'."\n", 'type' => 'string', 'example' => '2019-12-18 16:58:33', 'title' => ''], 'GmtActive' => ['description' => 'The activation time of the gateway. The time is displayed in GMT. The time is the local time of the region where the gateway resides.'."\n", 'type' => 'string', 'example' => '2019-12-18 23:25:30', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Status\\": \\"online\\",\\n \\"UtcActive\\": \\"2019-12-18T15:25:30.176Z\\",\\n \\"ProductName\\": \\"LinkIoT\\",\\n \\"DeviceName\\": \\"gateway\\",\\n \\"FirmwareVersion\\": \\"V1.0.1\\",\\n \\"UtcCreate\\": \\"2019-12-18T08:58:33.000Z\\",\\n \\"region\\": \\"cn-shanghai\\",\\n \\"GmtOnline\\": \\"2020-01-20 17:41:04\\",\\n \\"iotId\\": \\"WuyjPSDQE1L22z1d****000100\\",\\n \\"UtcOnline\\": \\"2020-01-20T09:41:04.879Z\\",\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"IpAddress\\": \\"106.**.1**.**\\",\\n \\"NodeType\\": \\"1\\",\\n \\"DeviceSecret\\": \\"dCYdTU3gw5Z77bsHjPk6lPHPVnBT****\\",\\n \\"GmtCreate\\": \\"2019-12-18 16:58:33\\",\\n \\"GmtActive\\": \\"2019-12-18 23:25:30\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n\\n cn-shanghai\\n gateway_04\\n 2019-12-18 23:25:30\\n a1vL7cp****\\n 106.**.1**.**\\n 2019-12-18 16:58:33\\n 2019-12-18T08:58:33.000Z\\n 2020-01-20T09:41:04.879Z\\n 2019-12-18T15:25:30.176Z\\n online\\n 1\\n 2020-01-20 17:41:04\\n LinkIoTEdge_Gateway\\n WuyjPSDQE1L22z1****000100\\n\\n0377D5A9-BDE1-48C2-96C9-BDC048899186\\ntrue\\n","errorExample":""}]', 'title' => 'GetGatewayBySubDevice', 'summary' => 'Queries the information of a gateway based on sub-device information.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetGatewayBySubDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'GetLoraNodesTask' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID.'."\n" ."\n" .'You can obtain the **ID** of the instance on the **Overview** page in the IoT Platform console. If your instance has an ID, you must specify this parameter. Otherwise, the request fails.'."\n" ."\n" .'> The ID of a public instance may not be displayed on the Overview page. For more information about how to obtain the instance ID, see [How do I obtain an instance ID?](~~267533~~)'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'TaskId', 'in' => 'query', 'schema' => ['description' => 'The ID of the task for creating the LoRaWAN devices. You can call the [CreateLoRaNodesTask](~~109299~~) operation and obtain the task ID from the value of the **TaskId** response parameter.'."\n", 'type' => 'string', 'required' => true, 'example' => '623***', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the request fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'TaskState' => ['description' => 'The task status.'."\n" ."\n" .'* **RUNNING**: The task is in progress.'."\n" .'* **FINISH**: The task is completed.'."\n", 'type' => 'string', 'example' => 'RUNNING', 'title' => ''], 'Code' => ['description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'SuccessCount' => ['description' => 'The number of devices that were created.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''], 'TotalCount' => ['description' => 'The total number of devices that you want to create.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '200', 'title' => ''], 'TaskId' => ['description' => 'The task ID returned if the request is successful.'."\n", 'type' => 'string', 'example' => '625***', 'title' => ''], 'SuccessDevEuis' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'SuccessDevEui' => [ 'description' => '', 'type' => 'array', 'items' => ['description' => 'The list of DevEUIs of devices that were successfully registered.', 'type' => 'string', 'example' => '[ "d896e0ffff01****","d896e0ffff01****"]', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"TaskState\\": \\"RUNNING\\",\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"SuccessCount\\": 100,\\n \\"TotalCount\\": 200,\\n \\"TaskId\\": \\"625***\\",\\n \\"SuccessDevEuis\\": {\\n \\"SuccessDevEui\\": [\\n \\"[ \\\\\\"d896e0ffff01****\\\\\\",\\\\\\"d896e0ffff01****\\\\\\"]\\"\\n ]\\n }\\n}","type":"json"}]', 'title' => 'Query the Status of a Batch LoRaWAN Device Registration Job', 'summary' => 'Invoke this API to query the status of a batch LoRaWAN device registration job.', 'description' => '## Limits'."\n" ."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 50.'."\n" ."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When invoking the API, in addition to the API-specific Request Parameters described in this topic, you must also pass in the Common Request Parameters. For more information about common parameters, see the [Common Parameters document](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetLoraNodesTask', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetLoraNodesTask'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'GetParser' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the current instance ID on the **Instance Overview** page in the IoT Platform console. '."\n" ."\n" .'> '."\n" .'- If an ID value exists, you must specify this ID; otherwise, the invocation will fail. '."\n" .'- If the **Instance Overview** page or ID value does not exist, you do not need to specify it. '."\n" ."\n" .'> '."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~). ', 'type' => 'string', 'required' => false, 'example' => 'iot-n8t***', 'title' => ''], ], [ 'name' => 'ParserId', 'in' => 'query', 'schema' => ['description' => 'The resolver ID. You can call the [ListParsers](~~429046~~) API to query the resolver list and obtain the **ParserId**. ', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '999999999', 'minimum' => '0', 'example' => '1001', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation failed. For more information, see [error codes](~~87387~~). ', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation failed. ', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: The invocation failed. ', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The detailed information of the resolver returned.', 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The running status of the resolver. Valid values:'."\n" ."\n" .'- **RUNNING**: running'."\n" .'- **STOP**: stopped'."\n" .'- **ABNORMAL**: abnormal', 'type' => 'string', 'example' => 'STOP', 'title' => ''], 'Description' => ['description' => 'The description of the resolver.', 'type' => 'string', 'example' => '转发数据。', 'title' => ''], 'UtcModified' => ['description' => 'The UTC time when the resolver was updated. The format is `yyyy-MM-dd\'T\'HH:mm:ss.SSS\'Z\'`.', 'type' => 'string', 'example' => '2022-04-27T12:45:43.000Z', 'title' => ''], 'DataSourceId' => ['description' => 'The ID of the data source associated with the resolver.', 'type' => 'integer', 'format' => 'int64', 'example' => '1003', 'title' => ''], 'ScriptDraft' => ['description' => 'The draft of the resolver script.', 'type' => 'string', 'example' => 'var data = payload("json"); var h = data.items.Humidity.value; var t = data.items.Temperature.value; writeTsdb(1000,timestamp(),"temperature", t , {"deviceName":deviceName()}); writeTsdb(1000,timestamp(),"humidity", h , {"deviceName":deviceName()});', 'title' => ''], 'UtcCreated' => ['description' => 'The UTC time when the resolver was created. The format is `yyyy-MM-dd\'T\'HH:mm:ss.SSS\'Z\'`.', 'type' => 'string', 'example' => '2022-03-27T12:45:43.000Z', 'title' => ''], 'Name' => ['description' => 'The name of the resolver.', 'type' => 'string', 'example' => 'DataParser', 'title' => ''], 'Script' => ['description' => 'The published script of the resolver.', 'type' => 'string', 'example' => 'var data = payload("json"); var h = data.items.Humidity.value; var t = data.items.Temperature.value; writeTsdb(1000,timestamp(),"temperature", t , {"deviceName":deviceName()}); writeTsdb(1000,timestamp(),"humidity", h , {"deviceName":deviceName()});', 'title' => ''], 'ParserId' => ['description' => 'The resolver ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '1001', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ['errorCode' => 'iot.common.InvalidFormattedParameter', 'errorMessage' => 'The parameter format is invalid.', 'description' => 'The parameter format is invalid.'], ['errorCode' => 'iot.rule.QueryRuleFailed', 'errorMessage' => 'An error occurred while querying the rule.', 'description' => 'An error occurred while querying the rule.'], ['errorCode' => 'iot.rule.NotFoundRule', 'errorMessage' => 'there are no rules', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Status\\": \\"STOP\\",\\n \\"Description\\": \\"转发数据。\\",\\n \\"UtcModified\\": \\"2022-04-27T12:45:43.000Z\\",\\n \\"DataSourceId\\": 1003,\\n \\"ScriptDraft\\": \\"var data = payload(\\\\\\"json\\\\\\"); var h = data.items.Humidity.value; var t = data.items.Temperature.value; writeTsdb(1000,timestamp(),\\\\\\"temperature\\\\\\", t , {\\\\\\"deviceName\\\\\\":deviceName()}); writeTsdb(1000,timestamp(),\\\\\\"humidity\\\\\\", h , {\\\\\\"deviceName\\\\\\":deviceName()});\\",\\n \\"UtcCreated\\": \\"2022-03-27T12:45:43.000Z\\",\\n \\"Name\\": \\"DataParser\\",\\n \\"Script\\": \\"var data = payload(\\\\\\"json\\\\\\"); var h = data.items.Humidity.value; var t = data.items.Temperature.value; writeTsdb(1000,timestamp(),\\\\\\"temperature\\\\\\", t , {\\\\\\"deviceName\\\\\\":deviceName()}); writeTsdb(1000,timestamp(),\\\\\\"humidity\\\\\\", h , {\\\\\\"deviceName\\\\\\":deviceName()});\\",\\n \\"ParserId\\": 1001\\n }\\n}","type":"json"}]', 'title' => 'GetParser ', 'summary' => 'Invoke this API to query the details of a specified resolver, including its basic information, parsing script, running status, and associated data source.', 'description' => '## Queries per second (QPS) limit'."\n" ."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 10.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking the API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetParser', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetParser'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'GetParserDataSource' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console. '."\n" ."\n" .'> '."\n" .'- If an ID value exists, you must pass this ID; otherwise, the invocation fails. '."\n" .'- If the **Instance Overview** page or the ID value does not exist, you do not need to pass this parameter. '."\n" ."\n" .'> '."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-2w****', 'title' => ''], ], [ 'name' => 'DataSourceId', 'in' => 'query', 'schema' => ['description' => 'DataSource ID. You can invoke the [ListParserDataSource](~~432676~~) API to query the data source list and obtain the **DataSourceId**. ', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '9999999', 'minimum' => '0', 'example' => '1001', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [error codes](~~87387~~). ', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails. ', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request. ', 'type' => 'string', 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: The invocation failed. ', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'DataSource' => [ 'description' => 'The detailed information of the returned data source. ', 'type' => 'object', 'properties' => [ 'UtcCreated' => ['description' => 'The UTC time when the data source was created. The format is `yyyy-MM-dd\'T\'HH:mm:ss.SSS\'Z\'`. ', 'type' => 'string', 'example' => '2022-03-27T12:45:43.000Z', 'title' => ''], 'Description' => ['description' => 'The description of the data source. ', 'type' => 'string', 'example' => '设备数据。', 'title' => ''], 'Name' => ['description' => 'The Datasource Name. ', 'type' => 'string', 'example' => 'DataSource', 'title' => ''], 'CreateUserId' => ['description' => 'The User ID of the user who created the data source. ', 'type' => 'integer', 'format' => 'int64', 'example' => '11111111000000111', 'title' => ''], 'DataSourceId' => ['description' => 'The DataSource ID. ', 'type' => 'integer', 'format' => 'int64', 'example' => '1001', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ['errorCode' => 'iot.system.IllegalRequest', 'errorMessage' => 'The request parameter is invalid.', 'description' => 'The request parameter is invalid.'], ['errorCode' => 'iot.rule.NotFoundRule', 'errorMessage' => 'there are no rules.', 'description' => 'there are no rules.'], ['errorCode' => 'iot.rule.DataSourceNotExists', 'errorMessage' => 'Datasource not existed', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true,\\n \\"DataSource\\": {\\n \\"UtcCreated\\": \\"2022-03-27T12:45:43.000Z\\",\\n \\"Description\\": \\"设备数据。\\",\\n \\"Name\\": \\"DataSource\\",\\n \\"CreateUserId\\": 11111111000000112,\\n \\"DataSourceId\\": 1001\\n }\\n}","type":"json"}]', 'title' => 'GetParserDataSource ', 'summary' => 'Invoke this API to query the details of a specified data source. ', 'description' => '## QPS Limit'."\n" ."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 10. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. ', 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Request Parameters](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetParserDataSource', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetParserDataSource'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'GetRule' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'RuleId', 'in' => 'query', 'schema' => ['description' => 'The ID of the rule that you want to query. You can log on to the IoT Platform console and choose **Rules** > **Data Forwarding** to view the rule ID. You can also call the [ListRule](~~69486~~) operation and view the rule ID in the response.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '100000', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '58D4CEC0-3E95-4DBE-AFC1-809D1400E52F', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'RuleInfo' => [ 'description' => 'The rule information returned if the call is successful. For more information, see RuleInfo.'."\n", 'type' => 'object', 'properties' => [ 'Modified' => ['description' => 'The time when the rule was last modified. The time is displayed in UTC-6.'."\n", 'type' => 'string', 'example' => 'Thu Feb 28 14:20:58 CST 2019', 'title' => ''], 'Status' => ['description' => 'The status of the rule. Valid values:'."\n" ."\n" .'* **RUNNING**: Running'."\n" .'* **STOP**: Stopped'."\n", 'type' => 'string', 'example' => 'STOP', 'title' => ''], 'DataType' => ['description' => 'The data type of the rule. Valid values: **JSON** and **BINARY** .'."\n", 'type' => 'string', 'example' => 'JSON', 'title' => ''], 'Select' => ['description' => 'The values of **Select** in the SQL statements of the rule.'."\n", 'type' => 'string', 'example' => 'deviceName() as deviceName', 'title' => ''], 'UtcCreated' => ['description' => 'The time when the rule was created. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2019-02-28T06:14:33.000Z', 'title' => ''], 'TopicType' => ['description' => 'The type of the topic. This parameter is returned if you set the SQL statement for the rule. Valid values:'."\n" ."\n" .'* **0**: a basic communication topic or TSL communication topic.'."\n" .'* **1**: a custom topic.'."\n" .'* **2**: a device status topic.'."\n" ."\n" .'If no SQL statement is set for the rule, the value **-1** is returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'CreateUserId' => ['description' => 'The ID of the user who created the rule.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '100000000000000', 'title' => ''], 'Where' => ['description' => 'The **Where** query condition in the SQL statements of the rule.'."\n", 'type' => 'string', 'example' => 'Temperature>35', 'title' => ''], 'ProductKey' => ['description' => 'The ProductKey of the product to which the rule applies.'."\n", 'type' => 'string', 'example' => 'a1KiV******', 'title' => ''], 'UtcModified' => ['description' => 'The time when the rule was last modified. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2019-02-28T06:20:58.000Z', 'title' => ''], 'Topic' => ['description' => 'The complete topic to which the rule applies. Format: `${productKey}/${deviceName}/topicShortName`.'."\n" ."\n" .'> For information about how to use the `+` or `#` wildcard in a topic, see [Topic wildcards](~~73731~~).'."\n", 'type' => 'string', 'example' => '/a1QsMlL44pp/+/user/pm25data', 'title' => ''], 'ShortTopic' => ['description' => 'The topic to which the rule applies. The topic does not include the ProductKey level. Format: `${deviceName}/topicShortName`. ${deviceName} indicates the name of the device, and topicShortName indicates the custom name of the topic.'."\n" ."\n" .'> For information about how to use the `+` or `#` wildcard in a topic, see [Topic wildcards](~~73731~~).'."\n", 'type' => 'string', 'example' => '+/user/pm25data', 'title' => ''], 'RuleDesc' => ['description' => 'The description of this rule.'."\n", 'type' => 'string', 'example' => 'rule1Desc', 'title' => ''], 'Name' => ['description' => 'The name of the rule.'."\n", 'type' => 'string', 'example' => 'iotrules', 'title' => ''], 'Created' => ['description' => 'The time when the rule was created. The time is displayed in UTC-6.'."\n", 'type' => 'string', 'example' => 'Thu Feb 28 14:14:33 CST 2019', 'title' => ''], 'Id' => ['description' => 'The ID of the rule.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '100000', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"58D4CEC0-3E95-4DBE-AFC1-809D1400E52F\\",\\n \\"Success\\": true,\\n \\"RuleInfo\\": {\\n \\"Modified\\": \\"Thu Feb 28 14:20:58 CST 2019\\",\\n \\"Status\\": \\"STOP\\",\\n \\"DataType\\": \\"JSON\\",\\n \\"Select\\": \\"deviceName() as deviceName\\",\\n \\"UtcCreated\\": \\"2019-02-28T06:14:33.000Z\\",\\n \\"TopicType\\": 1,\\n \\"CreateUserId\\": 100000000000000,\\n \\"Where\\": \\"Temperature>35\\",\\n \\"ProductKey\\": \\"a1KiV******\\",\\n \\"UtcModified\\": \\"2019-02-28T06:20:58.000Z\\",\\n \\"Topic\\": \\"/a1QsMlL44pp/+/user/pm25data\\",\\n \\"ShortTopic\\": \\"+/user/pm25data\\",\\n \\"RuleDesc\\": \\"rule1Desc\\",\\n \\"Name\\": \\"iotrules\\",\\n \\"Created\\": \\"Thu Feb 28 14:14:33 CST 2019\\",\\n \\"Id\\": 100000\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n\\n85648524-E5EE-418E-BD16-FAFBB4FF3645\\ntrue\\n\\n JSON\\n +/user/pm25data\\n a1QsMl****\\n 2019-12-23T03:34:45.000Z\\n 198426864326****\\n 2019-12-23T02:32:06.000Z\\n Ruff_rule1\\n RUNNING\\n \\n Mon Dec 23 10:32:06 CST 2019\\n Mon Dec 23 11:34:45 CST 2019\\n 1\\n /a1QsMlL****/+/user/pm25data\\n 425367\\n\\n","errorExample":""}]', 'title' => 'GetRule', 'summary' => 'Queries detailed information about a specified rule.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetRule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'GetRuleAction' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The rule action ID that you want to query.'."\n" ."\n" .'You can query the rule action ID by using the following methods:'."\n" ."\n" .'* Call the [CreateRuleAction](~~69586~~) operation and view the **ActionId** parameter in the response.'."\n" .'* Call the [ListRuleActions](~~69517~~) operation and view the **Id** parameter in the response.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ActionId', 'in' => 'query', 'schema' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '100001', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'string', 'example' => 'F2D0755D-F350-40FE-9A6D-491859DB5E5F', 'title' => ''], 'Success' => ['description' => 'The rule action information returned if the call was successful. For more information, see the following parameters.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'RuleActionInfo' => [ 'description' => 'Indicates whether the rule action forwarded error operation data that failed to be forwarded to the destination cloud service. A data forwarding failure indicates that forwarding retries also failed.'."\n" ."\n" .'* **true**: forwards error operation data.'."\n" .'* **false**: forwards normal data instead of error operation data.'."\n", 'type' => 'object', 'properties' => [ 'ErrorActionFlag' => ['description' => 'The type of the rule action. Valid values:'."\n" ."\n" .'* **REPUBLISH**: forwards data to another topic.'."\n" .'* **OTS**: stores data to Tablestore.'."\n" .'* **MNS**: sends data to Message Service (MNS).'."\n" .'* **FC**: sends data to Function Compute.'."\n" .'* **RDS**: Save to cloud databases.'."\n" .'* **AMQP**: forwards data to an AMQP consumer group.'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], 'Type' => ['description' => 'The configurations of the rule action.'."\n", 'type' => 'string', 'example' => 'REPUBLISH', 'title' => ''], 'Configuration' => ['description' => 'The ID of rule action.'."\n", 'type' => 'string', 'example' => '{\\"topic\\":\\"/sys/a1zSA28****/device/thing/service/property/set\\",\\"topicType\\":0,\\"uid\\":\\"1231579*******\\"}', 'title' => ''], 'Id' => ['description' => 'The ID of the rule based on which the rule action is performed.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '100001', 'title' => ''], 'RuleId' => ['description' => 'The ID of the rule associated with this rule action. ', 'type' => 'integer', 'format' => 'int64', 'example' => '152323', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"F2D0755D-F350-40FE-9A6D-491859DB5E5F\\",\\n \\"Success\\": true,\\n \\"RuleActionInfo\\": {\\n \\"ErrorActionFlag\\": false,\\n \\"Type\\": \\"REPUBLISH\\",\\n \\"Configuration\\": \\"{\\\\\\\\\\\\\\"topic\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"/sys/a1zSA28****/device/thing/service/property/set\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"topicType\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"uid\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1231579*******\\\\\\\\\\\\\\"}\\",\\n \\"Id\\": 100001,\\n \\"RuleId\\": 152323\\n }\\n}","type":"json"}]', 'title' => 'Query the details of a specified rule action '."\n", 'summary' => 'Invoke this API to query the details of a specified rule action. ', 'description' => '## Queries per second (QPS) limit '."\n" .'Each Alibaba Cloud account can send up to 50 queries per second (QPS) to call this API. '."\n" ."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. '."\n", 'requestParamsDescription' => 'When calling this API, you must specify both the common request parameters and the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Parameters](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetRuleAction', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetRuleAction'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'GetSceneRule' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. Do not pass this parameter for public instances. Pass this parameter for Enterprise instances.', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'RuleId', 'in' => 'query', 'schema' => ['description' => 'The scene orchestration rule ID. You can invoke the [QuerySceneRule](~~169498~~) API to obtain the scene orchestration rule ID.', 'type' => 'string', 'required' => true, 'example' => 'f041397879ad4d89822811d741******', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the API. "Success" indicates success; other values indicate error codes. For more information, see [error codes](~~135200~~).', 'type' => 'string', 'example' => 'Success', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => '1B6D50A7-F160-4D47-863C-EDEE25E26495', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. true indicates success; false indicates failure.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data returned when the invocation succeeds.', 'type' => 'object', 'properties' => [ 'RuleStatus' => ['description' => 'The status of the scene orchestration rule in the cloud.'."\n" ."\n" .'- 0: Indicates stopped.'."\n" ."\n" .'- 1: Indicates started.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'RuleContent' => ['description' => 'The content of the scene orchestration rule.', 'type' => 'string', 'example' => '{\\"action\\":[{\\"params\\":{\\"productKey\\":\\"a19luLB****\\",\\"propertyItems\\":{\\"LightAdjustLevel\\":10},\\"deviceName\\":\\"test01\\"},\\"uri\\":\\"action/device/setProperty\\"}],\\"trigger\\":{\\"params\\":{\\"cron\\":\\"22 13 20 1 *\\",\\"cronType\\":\\"linux\\"},\\"uri\\":\\"trigger/timer\\"},\\"type\\":\\"IFTTT\\",\\"sid\\":\\"9df954b33c854d469a507ef8d6******\\"}', 'title' => ''], 'GmtCreate' => ['description' => 'The creation time of the scene orchestration rule.', 'type' => 'integer', 'format' => 'int64', 'example' => '1584085921000', 'title' => ''], 'GmtModified' => ['description' => 'The last update time of the scene orchestration rule.', 'type' => 'integer', 'format' => 'int64', 'example' => '1579493552000', 'title' => ''], 'RuleDescription' => ['description' => 'The description of the scene orchestration rule.', 'type' => 'string', 'example' => '测试', 'title' => ''], 'RuleName' => ['description' => 'The name of the scene orchestration rule.', 'type' => 'string', 'example' => 'test', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"RequestId\\": \\"1B6D50A7-F160-4D47-863C-EDEE25E26495\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"RuleStatus\\": 0,\\n \\"RuleContent\\": \\"{\\\\\\\\\\\\\\"action\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"params\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"productKey\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"a19luLB****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"propertyItems\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"LightAdjustLevel\\\\\\\\\\\\\\":10},\\\\\\\\\\\\\\"deviceName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"test01\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"uri\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"action/device/setProperty\\\\\\\\\\\\\\"}],\\\\\\\\\\\\\\"trigger\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"params\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"cron\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"22 13 20 1 *\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"cronType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"linux\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"uri\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"trigger/timer\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"IFTTT\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"sid\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"9df954b33c854d469a507ef8d6******\\\\\\\\\\\\\\"}\\",\\n \\"GmtCreate\\": 1584085921000,\\n \\"GmtModified\\": 1579493552000,\\n \\"RuleDescription\\": \\"测试\\",\\n \\"RuleName\\": \\"test\\"\\n }\\n}","type":"json"}]', 'title' => 'Obtain the Details of a Scene Orchestration Rule', 'summary' => 'Obtain the details of a scene orchestration rule.', 'description' => '## Condition'."\n" .'The maximum queries per second (QPS) for this API per Alibaba Cloud account is 20.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking this API, you must specify both the API-specific request parameters described in this topic and the common request parameters. For more information about common request parameters, see [Common Parameters documentation](~~135196~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetSceneRule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetSceneRule'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'GetShareSpeechModelAudio' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'ShareTaskId', 'in' => 'formData', 'schema' => ['description' => 'The **Job ID** of the sharing task.'."\n" ."\n" .'You can obtain the **Job ID** on the **Shared Speech Material Management** page in the **Qianli Chuanyin Voice Broadcast Service** console.', 'type' => 'string', 'required' => true, 'example' => 'Md3ZiTL888K9llXDy7890***********', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify this **ID**. Otherwise, the invocation will fail.'."\n" .'- If the **Instance Overview** page or the **ID** does not exist, you do not need to specify it.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-2w****', 'title' => ''], ], [ 'name' => 'SpeechModelCodeList', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'A list of **speech material identifiers** for shared speech materials. You can specify up to 10 **speech material identifiers**.'."\n" ."\n" .'You can obtain the **speech material identifiers** on the **Job Details** page under **Shared Speech Material Management** in the **Qianli Chuanyin Voice Broadcast Service** console.', 'type' => 'array', 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'required' => true, 'example' => 'WSD****', 'maxItems' => 10, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see **Error Codes** below.', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'data' => [ 'description' => '', 'type' => 'array', 'items' => ['description' => 'The URL of the audio file.', 'type' => 'string', 'example' => 'https://********', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ['errorCode' => 'iot.system.IllegalRequest', 'errorMessage' => 'The request parameter is invalid.', 'description' => 'The request parameter is invalid.'], ['errorCode' => 'iot.speech.InvalidIotInstanceId', 'errorMessage' => 'Invalid instance ID.', 'description' => 'Invalid instance ID.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"data\\": [\\n \\"https://********\\"\\n ]\\n }\\n}","type":"json"}]', 'title' => 'GetShareSpeechModelAudio', 'summary' => 'Invoke this API to obtain the audio files of shared speech materials.', 'description' => '## QPS Limit'."\n" ."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 5.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking this API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters documentation](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetShareSpeechModelAudio'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'GetShareTaskByDeviceOpen' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotId', 'in' => 'formData', 'schema' => ['description' => 'The Device ID. '."\n" .'> **IotId** serves as the unique identifier of a device and has a one-to-one mapping with the combination of **ProductKey** and **DeviceName**. If you specify this parameter, you do not need to specify **ProductKey** and **DeviceName**. If you specify both **IotId** and the **ProductKey**/**DeviceName** pair, **IotId** takes precedence. '."\n" .'> ', 'type' => 'string', 'required' => false, 'example' => 'y4u2weAIrpp****WHMle1234', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console. '."\n" ."\n" .'> '."\n" .'- If an ID exists, you must specify this **ID**. Otherwise, the invocation fails. '."\n" .'- If the **Instance Overview** page or the **ID** does not exist, you do not need to specify this parameter. '."\n" ."\n" .'> '."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~). ', 'type' => 'string', 'required' => false, 'example' => 'iot-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'formData', 'schema' => ['description' => 'The **ProductKey** of the product to which the device belongs. '."\n" .'> If you specify this parameter, you must also specify **DeviceName**. '."\n" .'> ', 'type' => 'string', 'required' => false, 'example' => 'a2Yw*****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'formData', 'schema' => ['description' => 'The name of the device. '."\n" .'> If you specify this parameter, you must also specify **ProductKey**. '."\n" .'> ', 'type' => 'string', 'required' => false, 'example' => 'device1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation failed. For more information, see **Error Codes** below. ', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'Data' => ['description' => 'The code of the returned share job. ', 'type' => 'string', 'example' => 'Md3ZiTL888K9llXDy7890***********', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation failed. ', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generated for this request. ', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: The invocation failed. ', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.system.IllegalRequest', 'errorMessage' => 'The request parameter is invalid.', 'description' => 'The request parameter is invalid.'], ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ['errorCode' => 'iot.system.InstanceNotFound', 'errorMessage' => 'The instance ID does not exist.', 'description' => 'The instance ID does not exist.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"Data\\": \\"Md3ZiTL888K9llXDy7890***********\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'GetShareTaskByDeviceOpen ', 'summary' => 'Invoke this API to query a share job based on device information. ', 'description' => '## QPS Limit'."\n" ."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 40.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. ', 'requestParamsDescription' => 'When calling this API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters document](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:GetShareTaskByDeviceOpen', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '40', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetShareTaskByDeviceOpen'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'GetSoundCodeAudio' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID.'."\n" ."\n" .'You must specify the instance ID. Otherwise, the invocation fails. You can view your instance ID on the **Instance Overview** page in the IoT Platform console.'."\n" .'>'."\n" .'If your public instance does not have an ID, see [How to Obtain an Instance ID](~~267533~~).'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'SoundCodeList', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'A list of unique identifiers of sound codes. The list can contain up to 100 elements.', 'type' => 'array', 'items' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], 'required' => true, 'example' => 'Md3ZiTL888K9llXDy7890***********', 'maxItems' => 50, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.soundcodeservice.NotSigned', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.'."\n", 'type' => 'string', 'example' => 'speech solution has not been signed', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => '66FF51D3-***-49F1-B1A2-***', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" ."\n" .'- **true**: The invocation succeeded.'."\n" ."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Items' => [ 'description' => '', 'type' => 'array', 'items' => ['description' => 'A list of download URLs for sound code audio files.', 'type' => 'string', 'example' => '["http://speech-solution.oss-cn-shanghai.aliyuncs.com/sound_code_model_audio/Md3ZiTL888K9llXDy7890***********/iot_instc_pu****_c*-v64********/Md3ZiTL888K9llXDy7890***********.wav?Expires=1641436550&OSSAccessKeyId=LTAIN4oIyl*****&Signature=dZQWqHxjJVd0SCZZ2wR***********"]', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.soundcode.InvalidIotInstanceId', 'errorMessage' => 'invalid iot instance id', 'description' => 'invalid iot instance id'], ['errorCode' => 'iot.soundcode.InvalidParam', 'errorMessage' => 'invalid param', 'description' => 'invalid param'], ], 403 => [ ['errorCode' => 'iot.soundcodeservice.NotSigned', 'errorMessage' => 'sound code service has not been signed', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"ErrorMessage\\": \\"speech solution has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Items\\": [\\n \\"[\\\\\\"http://speech-solution.oss-cn-shanghai.aliyuncs.com/sound_code_model_audio/Md3ZiTL888K9llXDy7890***********/iot_instc_pu****_c*-v64********/Md3ZiTL888K9llXDy7890***********.wav?Expires=1641436550&OSSAccessKeyId=LTAIN4oIyl*****&Signature=dZQWqHxjJVd0SCZZ2wR***********\\\\\\"]\\"\\n ]\\n }\\n}","type":"json"}]', 'title' => 'GetSoundCodeAudio', 'summary' => 'Invoke this API to obtain the download URLs of sound code audio files.', 'description' => '## Queries per second (QPS) limit'."\n" .'Each Alibaba Cloud account can send a maximum of 5 queries per second (QPS) to call this API.'."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling this API, you must specify both the common request parameters and the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetSoundCodeAudio'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'GetSoundCodeSchedule' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'ScheduleCode', 'in' => 'formData', 'schema' => ['description' => 'The UUID of the schedule.', 'type' => 'string', 'required' => true, 'example' => 'Md3ZiTL888K9llXDy7890***********', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify this **ID**. Otherwise, the invocation will fail.'."\n" .'- If the **Instance Overview** page or the **ID** does not exist, you do not need to specify this parameter.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-v64********', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation failed. For more information, see [error codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.soundcodeservice.NotSigned', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation failed.', 'type' => 'string', 'example' => 'iot.soundcodeservice.NotSigned', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.'."\n", 'type' => 'string', 'example' => '66FF51D3-***-49F1-B1A2-***', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" ."\n" .'- **true**: The invocation succeeded.'."\n" ."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'Schedule details.'."\n", 'type' => 'object', 'properties' => [ 'OpenType' => ['description' => 'Schedule openness type.'."\n" ."\n" .'- Internal (default): The value is **INNER**. Only devices under the same instance as the schedule are allowed to request sound code decoding.'."\n" ."\n" .'- Public: The value is **OPEN**. You can configure a whitelist via email to allow devices from other instances to request sound code decoding. Usage from cross-instance decoding is counted toward the instance where the sound code resides.'."\n", 'type' => 'string', 'example' => 'INNER', 'title' => ''], 'EndTime' => ['description' => 'The daily end time of the schedule.'."\n", 'type' => 'string', 'example' => '23:59', 'title' => ''], 'Status' => ['description' => 'Schedule status.'."\n", 'type' => 'string', 'example' => 'WORKING', 'title' => ''], 'StartTime' => ['description' => 'The daily start time of the schedule.'."\n", 'type' => 'string', 'example' => '00:00', 'title' => ''], 'EndDate' => ['description' => 'The end date of the schedule.'."\n", 'type' => 'string', 'example' => '2022-03-28', 'title' => ''], 'Description' => ['description' => 'Schedule description.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], 'ScheduleCode' => ['description' => 'The unique identifier of the schedule.'."\n", 'type' => 'string', 'example' => 'Md3ZiTL888K9llXDy7890***********', 'title' => ''], 'GmtCreate' => ['description' => 'Schedule creation time.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1620634297000', 'title' => ''], 'StartDate' => ['description' => 'The start date of the schedule.'."\n", 'type' => 'string', 'example' => '2022-03-28', 'title' => ''], 'Name' => ['description' => 'Schedule name.', 'type' => 'string', 'example' => 'test', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.soundcodeschedule.InvalidIotInstanceId', 'errorMessage' => 'invalid schedule IotInstanceId', 'description' => ''], ['errorCode' => 'iot.soundcode.InvalidParam', 'errorMessage' => 'invalid param', 'description' => 'invalid param'], ], 403 => [ ['errorCode' => 'iot.soundcodeservice.NotSigned', 'errorMessage' => 'sound code service has not been signed', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"ErrorMessage\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"OpenType\\": \\"INNER\\",\\n \\"EndTime\\": \\"23:59\\",\\n \\"Status\\": \\"WORKING\\",\\n \\"StartTime\\": \\"00:00\\",\\n \\"EndDate\\": \\"2022-03-28\\",\\n \\"Description\\": \\"test\\",\\n \\"ScheduleCode\\": \\"Md3ZiTL888K9llXDy7890***********\\",\\n \\"GmtCreate\\": 1620634297000,\\n \\"StartDate\\": \\"2022-03-28\\",\\n \\"Name\\": \\"test\\"\\n }\\n}","type":"json"}]', 'title' => 'GetSoundCodeSchedule', 'summary' => 'Invoke this API to query the details of a sound code schedule.'."\n", 'description' => '## QPS Limit'."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account when calling this API is 10. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters Documentation](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:GetSoundCodeSchedule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetSoundCodeSchedule'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'GetSpeechDeviceDetail' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotId', 'in' => 'formData', 'schema' => ['description' => 'The ID issued by the IoT Platform for a device, which serves as the device\'s Unique Identifier. You can obtain this parameter by invoking [QuerySpeechDevice](~~280408~~).', 'type' => 'string', 'required' => true, 'example' => '4de2c367****8c585e5992**', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'Instance ID.'."\n" ."\n" .'You must provide the instance ID; otherwise, the invocation will fail. You can view your instance ID on the **Instance Overview** Page in the IoT Platform console.'."\n" .'>'."\n" .'If your public instance does not have an ID, see [How to Obtain an Instance ID](~~267533~~).'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation failed. For more information, see [error codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.speechsolution.NotSigned', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation failed.', 'type' => 'string', 'example' => 'speech solution has not been signed', 'title' => ''], 'RequestId' => ['description' => 'The Unique Identifier that Alibaba Cloud generated for this request.', 'type' => 'string', 'example' => '66FF51D3-***-49F1-B1A2-***', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" ."\n" .'- **true**: The invocation Succeeded.'."\n" ."\n" .'- **false**: The invocation failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The query result.', 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the device.'."\n" ."\n" .'- **ONLINE**: Online.'."\n" .'- **OFFLINE**: Offline.'."\n" .'- **UNACTIVE**: Not active.'."\n" .'- **DISABLE**: Disabled.', 'type' => 'string', 'example' => 'ONLINE', 'title' => ''], 'TotalSpace' => ['description' => 'The total space of the device, in KB.', 'type' => 'number', 'format' => 'float', 'example' => '2000', 'title' => ''], 'ProductKey' => ['description' => 'The Unique Identifier of the product.', 'type' => 'string', 'example' => 'a1BwAGV****', 'title' => ''], 'DeviceName' => ['description' => 'The device name.', 'type' => 'string', 'example' => 'test', 'title' => ''], 'SpeechListUpdateTime' => ['description' => 'The Update Time of the speech corpus list on the device.', 'type' => 'integer', 'format' => 'int64', 'example' => '1620624606000', 'title' => ''], 'AvailableSpace' => ['description' => 'The free space of the device, in KB.', 'type' => 'number', 'format' => 'float', 'example' => '200', 'title' => ''], 'IotId' => ['description' => 'The ID issued by the IoT Platform for the device, which serves as the Unique Identifier of the device.', 'type' => 'string', 'example' => '4de2c367****8c585e5992**', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.speechsolution.NotSigned\\",\\n \\"ErrorMessage\\": \\"speech solution has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Status\\": \\"ONLINE\\",\\n \\"TotalSpace\\": 2000,\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"DeviceName\\": \\"test\\",\\n \\"SpeechListUpdateTime\\": 1620624606000,\\n \\"AvailableSpace\\": 200,\\n \\"IotId\\": \\"4de2c367****8c585e5992**\\"\\n }\\n}","type":"json"}]', 'title' => 'Query the details of a broadcast device', 'summary' => 'Query the details of a broadcast device, including the device status and free space.', 'requestParamsDescription' => 'When invoking the API, in addition to the specific Request Parameters described in this topic, you must also pass common parameters. For more information about common parameters, see [Common Parameters document](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:GetSpeechDeviceDetail', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetSpeechDeviceDetail'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'GetSpeechLicenseDeviceStatistics' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'> If your instance has an ID, you must specify this parameter. Otherwise, the request fails. If no Overview page exists or no instance ID is displayed, you do not need to specify this parameter.'."\n" ."\n" .'For more information, see the [Overview](~~356505~~) topic of IoT instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot-e3***', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the request fails.'."\n", 'type' => 'string', 'example' => 'An internal error occurred. Try again later.', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'AF71BF1D-B552-47CD-B34B-352557627992', 'title' => ''], 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ 'AvailableQuota' => ['description' => 'The number of available licenses.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], 'ExpiredQuota' => ['description' => 'The number of expired licenses.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], 'ExpiringQuota' => ['description' => 'The number of licenses that are about to expire.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ['errorCode' => 'iot.common.AuthActionPermissionDeny', 'errorMessage' => 'The authorization fails.', 'description' => 'The authorization fails.'], ['errorCode' => 'iot.system.InstanceNotFound', 'errorMessage' => 'The instance ID does not exist.', 'description' => 'The instance ID does not exist.'], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"An internal error occurred. Try again later.\\",\\n \\"RequestId\\": \\"AF71BF1D-B552-47CD-B34B-352557627992\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"AvailableQuota\\": 100,\\n \\"ExpiredQuota\\": 100,\\n \\"ExpiringQuota\\": 100\\n }\\n}","errorExample":""},{"type":"xml","example":"\\nAF71BF1D-B552-47CD-B34B-352557627992\\n\\n 100\\n 100\\n 100\\n\\ntrue\\n","errorExample":""}]', 'title' => 'GetSpeechLicenseDeviceStatistics', 'summary' => 'Queries the information about Speech Sending Service licenses that are bound to devices.', 'description' => '## QPS limits'."\n" ."\n" .'You can call this API operation up to three times per second per account.'."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:GetSpeechLicenseDeviceStatistics', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'GetSpeechVoice' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~). ', 'type' => 'string', 'example' => 'iot.speechsolution.NotSigned', 'title' => ''], 'ErrorMessage' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~). ', 'type' => 'string', 'example' => 'speech solution has not been signed', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.'."\n", 'type' => 'string', 'example' => 'F94F72A5-82F0-496F-9AC2-3DBCFF77608A', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" ."\n" .'- **true**: The invocation succeeded. '."\n" ."\n" .'- **false**: The invocation failed. ', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'itemNode' => true, 'description' => '', 'type' => 'object', 'properties' => [ 'Items' => [ 'description' => 'The list of corpus playback voices returned.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Label' => ['description' => 'The voice label, which annotates the applicable scenario for the voice, such as general-purpose, customer service, or child voice scenarios.'."\n", 'type' => 'string', 'example' => '通用场景', 'title' => ''], 'Value' => ['description' => 'The sound value.', 'type' => 'string', 'example' => 'tongyong', 'title' => ''], 'VoiceList' => [ 'itemNode' => true, 'description' => '', 'type' => 'object', 'properties' => [ 'Items' => [ 'description' => 'The list of playback voices.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Label' => ['description' => 'The voice label, which annotates the type of voice, such as standard male voice or standard female voice.'."\n", 'type' => 'string', 'example' => '小云,标准女声', 'title' => ''], 'Value' => ['description' => 'The voice value. For APIs that require the **Voice** parameter—such as [CreateSpeech](~~217571~~) and [TestSpeech](~~217575~~)—you must pass the value of this field.'."\n", 'type' => 'string', 'example' => 'Xiaoyun', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.speechsolution.NotSigned\\",\\n \\"ErrorMessage\\": \\"speech solution has not been signed\\",\\n \\"RequestId\\": \\"F94F72A5-82F0-496F-9AC2-3DBCFF77608A\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Items\\": [\\n {\\n \\"Label\\": \\"通用场景\\",\\n \\"Value\\": \\"tongyong\\",\\n \\"VoiceList\\": {\\n \\"Items\\": [\\n {\\n \\"Label\\": \\"小云,标准女声\\",\\n \\"Value\\": \\"Xiaoyun\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'Obtain corpus playback sound', 'summary' => 'Obtain the voice configuration for corpus playback.'."\n", 'description' => '## Queries per second (QPS) limit'."\n" ."\n" .'The maximum queries per second (QPS) for this API is 5 per Alibaba Cloud account.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When invoking the API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see the [Common Parameters document](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:GetSpeechVoice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetSpeechVoice'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'GetStudioAppTokenOpen' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID.'."\n" ."\n" .'You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console. If an ID exists, you must specify it. Otherwise, the invocation fails.'."\n" ."\n" .''."\n" .'> If your public instance does not have an ID, see [How to Obtain an Instance ID](~~267533~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'AppId', 'in' => 'formData', 'schema' => ['description' => 'The application ID. You can call [QueryStudioAppList](~~216816~~) to query application IDs.', 'type' => 'string', 'required' => true, 'example' => 'a12******', 'title' => ''], ], [ 'name' => 'ProjectId', 'in' => 'formData', 'schema' => ['description' => 'The project ID. '."\n" .'1. You can log on to the [Internet of Things development console](https://account.aliyun.com/login/login.htm?qrCodeFirst=false&oauth_callback=https%3A%2F%2Fstudio.iot.aliyun.com%2F%3Fspm%3Da2c4g.11186623.2.8.1e7830fagdybMb). After selecting the corresponding instance in the upper-left corner of the page, click **Project Management** in the left-side navigation pane. '."\n" .'2. In the standard project list, locate the target project, click the project card, and view the project ID in the address bar. ', 'type' => 'string', 'required' => true, 'example' => 'a123*******', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information about error codes, see [Error Codes](~~202245~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'Token data.', 'type' => 'object', 'properties' => [ 'Type' => ['description' => 'The type of the token.', 'type' => 'string', 'example' => 'custom', 'title' => ''], 'IsEnable' => ['description' => 'Indicates whether the token is enabled.'."\n" .'- **YES**: Yes.'."\n" .'- **NO**: No.', 'type' => 'string', 'example' => 'YES', 'title' => ''], 'BizId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => 'a12*******', 'title' => ''], 'Token' => ['description' => 'The token value.', 'type' => 'string', 'example' => '25bf576a6c*******', 'title' => ''], 'BizType' => ['description' => 'The application type.', 'type' => 'string', 'example' => 'webApp', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 200 => [ ['errorCode' => 'IoT.Common.NullParameter', 'errorMessage' => 'Parameter cannot be empty.', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Type\\": \\"custom\\",\\n \\"IsEnable\\": \\"YES\\",\\n \\"BizId\\": \\"a12*******\\",\\n \\"Token\\": \\"25bf576a6c*******\\",\\n \\"BizType\\": \\"webApp\\"\\n }\\n}","type":"json"}]', 'title' => 'GetStudioAppTokenOpen', 'summary' => 'Invoke this API to query the authentication token of an application.', 'description' => '## Limits'."\n" .'Each Alibaba Cloud account can send a maximum of 10 queries per second (QPS) to invoke this API.'."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When you invoke this API, you must specify both the common request parameters and the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Request Parameters](~~203277~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetStudioAppTokenOpen'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'GetThingModelStatusInner' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'InsId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'Message' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'LocalizedMsg' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ 'RbacTenantId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Status' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'ProductKey' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ModifiedTime' => ['type' => 'integer', 'format' => 'int64', 'description' => '', 'title' => '', 'example' => ''], 'OutTime' => ['type' => 'integer', 'format' => 'int64', 'description' => '', 'title' => '', 'example' => ''], 'InstanceId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Info' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Request.param.error', 'errorMessage' => 'Request.param.error. %d.', 'description' => 'The %d request parameter is invalid.'], ['errorCode' => 'Product.not.found', 'errorMessage' => 'Product.not.found.', 'description' => 'The product does not exist.'], ['errorCode' => 'Product.Key.Invalid', 'errorMessage' => 'Product key is invalid.', 'description' => 'The ProductKey is invalid.'], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:GetThingModelStatusInner', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"LocalizedMsg\\": \\"\\",\\n \\"Data\\": {\\n \\"RbacTenantId\\": \\"\\",\\n \\"Status\\": 0,\\n \\"ProductKey\\": \\"\\",\\n \\"ModifiedTime\\": 0,\\n \\"OutTime\\": 0,\\n \\"InstanceId\\": \\"\\",\\n \\"Info\\": \\"\\"\\n }\\n}","type":"json"}]', ], 'GetThingModelTsl' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product.'."\n" ."\n" .'You can view the ProductKey on the Product Details page of the IoT Platform console. You can also obtain the ProductKey by calling the [QueryProductList](~~69271~~) operation.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The version number of the TSL model to be queried.'."\n" ."\n" .'If you do not specify this parameter, IoT Platform returns the draft TSL model that is unpublished.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'ModelVersion', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to retrieve a simplified TSL model.'."\n" ."\n" .'* **true**: retrieves a simplified TSL model.'."\n" ."\n" .' A simplified TSL model includes only the **identifier** and **dataType** attributes of properties, services, events, and related input or output parameters. Simplified TSL models can be used by device developers for reference.'."\n" ."\n" .'* **false**: retrieves the complete TSL model.'."\n" ."\n" .' A complete TSL model includes all the parameters and values of properties, services, and events. Complete TSL models can be used by cloud application developers for reference.'."\n" ."\n" .'Default value: false.'."\n", 'type' => 'string', 'required' => false, 'example' => 'v1.0.0', 'title' => ''], ], [ 'name' => 'Simple', 'in' => 'query', 'schema' => ['description' => 'The identifier of the custom TSL module. Each identifier is unique in a product.'."\n" ."\n" .'If you do not specify this parameter, the default module is queried.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'FunctionBlockId', 'in' => 'query', 'schema' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'BatteryModule', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'The TSL data returned if the call is successful.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The URI that is used to store the TSL data in Object Storage Service (OSS). The URI is valid for 60 minutes.'."\n", 'type' => 'object', 'properties' => [ 'TslUri' => ['description' => 'The string of the TSL model.'."\n", 'type' => 'string', 'example' => 'https://iotx-pop-dsl.oss-cn-shanghai.aliyuncs.com/thing/a14T******/model.json?Expires=1581947119&OSSAccessKeyId=LTAI****************&Signature=5i38******', 'title' => ''], 'TslStr' => ['description' => 'The TSL string of the Thing Specification Language model.', 'type' => 'string', 'example' => '{\\"schema\\":\\"https://iotx-tsl.oss-ap-southeast-1.aliyuncs.com/schema.json\\",\\"profile\\":{\\"productKey\\":\\"a14TeWI****\\"},\\"properties\\":[{\\"identifier\\":\\"Humidity\\"}]}', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"TslUri\\": \\"https://iotx-pop-dsl.oss-cn-shanghai.aliyuncs.com/thing/a14T******/model.json?Expires=1581947119&OSSAccessKeyId=LTAI****************&Signature=5i38******\\",\\n \\"TslStr\\": \\"{\\\\\\\\\\\\\\"schema\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"https://iotx-tsl.oss-ap-southeast-1.aliyuncs.com/schema.json\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"profile\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"productKey\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"a14TeWI****\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"properties\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"identifier\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"Humidity\\\\\\\\\\\\\\"}]}\\"\\n }\\n}","type":"json"}]', 'title' => 'Query the TSL Model of a Specified Product', 'summary' => 'Invoke this API to query the Thing Specification Language (TSL) model of a specified product.'."\n", 'description' => '## Queries per second (QPS) limit '."\n" .'Each Alibaba Cloud account can send up to 20 queries per second (QPS) to call this API. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When calling this API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetThingModelTsl', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetThingModelTsl'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'GetThingModelTslPublished' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group.'."\n" ."\n" .'> You cannot specify this parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-acfm4l5tcwd****', 'title' => ''], ], [ 'name' => 'Simple', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to retrieve a simplified TSL model.'."\n" ."\n" .'* true: retrieves a simplified TSL model. A simplified TSL model includes only the **identifier** and **dataType** attributes of properties, services, events, and related input or output parameters. Simplified TSL models can be used by device developers for reference.'."\n" .'* false: retrieves the complete TSL model. A complete TSL model includes all the parameters and values of properties, services, and events. Complete TSL models can be used by cloud application developers for reference.'."\n" ."\n" .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'ModelVersion', 'in' => 'query', 'schema' => ['description' => 'The version number of the TSL model.'."\n" ."\n" .'You can call the [ListThingModelVersion](~~150318~~) operation to view the version numbers of the TSL model for a product.'."\n" ."\n" .'If you do not specify this parameter, the last published TSL model version is returned.'."\n", 'type' => 'string', 'required' => false, 'example' => 'v1.0.0', 'title' => ''], ], [ 'name' => 'FunctionBlockId', 'in' => 'query', 'schema' => ['description' => 'The identifier of the custom TSL module. Each identifier is unique in a product.'."\n" ."\n" .'If you do not specify this parameter, the default module is queried.'."\n", 'type' => 'string', 'required' => false, 'example' => 'BatteryModule', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'TslUri' => ['description' => 'The URI that is used to store the TSL data in Object Storage Service (OSS). The URI is valid for 60 minutes.'."\n", 'type' => 'string', 'example' => 'https://iotx-pop-dsl.oss-cn-shanghai.aliyuncs.com/thing/a14T******/model.json?Expires=1581947119&OSSAccessKeyId=LTAI****************&Signature=5i38******', 'title' => ''], 'TslStr' => ['description' => 'The string of the TSL model.'."\n", 'type' => 'string', 'example' => '{\\"schema\\":\\"https://iotx-tsl.oss-ap-southeast-1.aliyuncs.com/schema.json\\",\\"profile\\":{\\"productKey\\":\\"a14TeWI****\\"},\\"properties\\":[{\\"identifier\\":\\"Humidity\\"}]}', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"TslUri\\": \\"https://iotx-pop-dsl.oss-cn-shanghai.aliyuncs.com/thing/a14T******/model.json?Expires=1581947119&OSSAccessKeyId=LTAI****************&Signature=5i38******\\",\\n \\"TslStr\\": \\"{\\\\\\\\\\\\\\"schema\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"https://iotx-tsl.oss-ap-southeast-1.aliyuncs.com/schema.json\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"profile\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"productKey\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"a14TeWI****\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"properties\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"identifier\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"Humidity\\\\\\\\\\\\\\"}]}\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', 'title' => 'GetThingModelTslPublished', 'summary' => 'Queries the published TSL model of a product.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 20 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetThingModelTslPublished', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'GetThingScript' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product.'."\n" ."\n" .'You can view the **ProductKey** on the Product Details page of the IoT Platform console. You can also obtain the ProductKey by calling the [QueryProductList](~~69271~~) operation.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1Q5XoY****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'BB71E443-4447-4024-A000-EDE09922891E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data returned if the call is successful.'."\n", 'type' => 'object', 'properties' => [ 'ScriptType' => ['description' => 'The type of the script. Valid values:'."\n" ."\n" .'* JavaScript'."\n" .'* Python\\_27: Python 2.7'."\n" .'* PHP\\_72: PHP 7.2'."\n", 'type' => 'string', 'example' => 'JavaScript', 'title' => ''], 'ScriptUrl' => ['description' => 'The URL of the script payload.'."\n", 'type' => 'string', 'example' => 'http://***', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"BB71E443-4447-4024-A000-EDE09922891E\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ScriptType\\": \\"JavaScript\\",\\n \\"ScriptUrl\\": \\"http://***\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n\\n JavaScript\\n http://***\\n\\n6DDF9D04-24C3-40D8-B490-2A528E59EA67\\ntrue\\n","errorExample":""}]', 'title' => 'GetThingScript', 'summary' => 'Queries a data parsing script for a specified product.', 'description' => '* A data parsing script is used to convert the custom-formatted data to JSON data after the data is submitted by a device. You can write a script in JavaScript, Python 2.7, and PHP 7.2. For more information, see [Submit scripts for data parsing](~~149963~~).'."\n" ."\n" .'* Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetThingScript', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'GetThingTemplate' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The identifier of the category that you want to query.'."\n" ."\n" .'You can call the [ListThingTemplates](~~150316~~) operation and view all category keys in the response.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-acfm4l5tcwd****', 'title' => ''], ], [ 'name' => 'CategoryKey', 'in' => 'query', 'schema' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Lighting', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The TSL features returned if the call is successful. Format:'."\n" ."\n" .'```'."\n" ."\n" .'{'."\n" .' "properties": [], //The list of properties'."\n" .' "services": [], //The list of services'."\n" .' "events": [], //The list of events'."\n" .'}'."\n" .' '."\n" .'```'."\n" ."\n" .'For more information, see [TSL formats](~~73727~~).'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'ThingModelJSON' => ['description' => 'The functional definition of the Thing Specification Language model returned when the call succeeds. The format is as follows:'."\n" ."\n" .'```'."\n" .'{'."\n" .' "properties":[],// Property List'."\n" .' "services":[],// Service List'."\n" .' "events":[]// Event List'."\n" .'}'."\n" .'```'."\n" ."\n" .'For details about the parameter structure within the functional information, see [Thing Model Format](~~73727~~).', 'type' => 'string', 'example' => '{ "properties":[],"services":[], "events":[]}', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call succeeded. '."\n" .'- **true**: The call succeeded. '."\n" .'- **false**: The call failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ThingModelJSON\\": \\"{ \\\\\\"properties\\\\\\":[],\\\\\\"services\\\\\\":[], \\\\\\"events\\\\\\":[]}\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Query the Thing Specification Language model information of a specified category', 'summary' => 'Invoke this API to query the Thing Specification Language model information of a specified category.', 'description' => '## Queries per second (QPS) limit '."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 2. '."\n" .'> All Resource Access Management (RAM) users under an Alibaba Cloud account share the quota of that Alibaba Cloud account.', 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetThingTemplate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetThingTemplate'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'GetThingTopo' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for public instances. However, this parameter is required for enterprise-edition instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Maximum value: 50.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '10', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the gateway device belongs.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The name of the gateway device.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **ProductKey** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'light', 'title' => ''], ], [ 'name' => 'PageNo', 'in' => 'query', 'schema' => ['description' => 'The number of the page to return.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the gateway device. The ID is the unique identifier that is issued by IoT Platform to the gateway device.'."\n" ."\n" .'> If you specify this parameter, you do not need to specify the **ProductKey** or **DeviceName** parameter. The **IotId** parameter specifies a unique identifier for the device, and corresponds to a combination of the **ProductKey** and **DeviceName** parameters. If you specify the **IotId** parameter and a combination of the **ProductKey** and **DeviceName** parameters at the same time, the **IotId** parameter takes precedence.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call succeeds.'."\n" ."\n" .'* **true**: The call succeeds.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data returned if the call succeeds. For more information, see the following parameters.'."\n", 'type' => 'object', 'properties' => [ 'CurrentPage' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageSize' => ['description' => 'The number of entries returned on each page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'PageCount' => ['description' => 'The total number of pages returned.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], 'Total' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], 'List' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'deviceInfo' => [ 'description' => 'The details of the sub-device. The details of the sub-device are included in the **deviceInfo** parameter.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ProductKey' => ['description' => 'The ProductKey of the product to which the sub-device belongs.'."\n", 'type' => 'string', 'example' => 'a1BwAGV****', 'title' => ''], 'DeviceName' => ['description' => 'The DeviceName of the sub-device.'."\n", 'type' => 'string', 'example' => 'light', 'title' => ''], 'IotId' => ['description' => 'The ID of the sub-device. The ID is the unique identifier that is issued by IoT Platform to the sub-device.'."\n", 'type' => 'string', 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 10,\\n \\"PageCount\\": 1,\\n \\"Total\\": 1,\\n \\"List\\": {\\n \\"deviceInfo\\": [\\n {\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"DeviceName\\": \\"light\\",\\n \\"IotId\\": \\"Q7uOhVRdZRRlDnTLv****00100\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n\\n 1\\n 2\\n 1\\n TGlzdFJlc291***\\n \\n \\n APItest\\n a1T27vz****\\n vWxNur6BUApsqjv****000100\\n \\n \\n 1\\n\\n93F05C63-9FD1-4CC8-B0FF-6D6C1A6632D1\\ntrue\\n","errorExample":""}]', 'title' => 'GetThingTopo', 'summary' => 'Queries the sub-devices of a specified gateway device.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can initiate a maximum of 500 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this API operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetThingTopo', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'GisQueryDeviceLocation' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'ThingList', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'Device list. ', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ProductKey' => ['description' => 'The ProductKey list of the products to which the devices belong. '."\n" .'ProductKey is a globally unique identifier issued by the IoT Platform for a newly created product. You can view information about all products under your account in the IoT Platform console or by calling [QueryProductList](~~69271~~). '."\n" .'>For each device, you must specify both **ProductKey** and **DeviceName**, and the number of devices cannot exceed 20. '."\n" .'> ', 'type' => 'string', 'required' => false, 'example' => 'g3r****Vjta', 'title' => ''], 'DeviceName' => ['description' => 'List of device names to query. '."\n" .'>For each device, you must specify both **ProductKey** and **DeviceName**, and the number of devices cannot exceed 20. '."\n" .'> ', 'type' => 'string', 'required' => false, 'example' => 'mock_device_name', 'title' => ''], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => true, 'maxItems' => 20, 'title' => '', 'example' => '', ], ], [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'Instance ID.You can view the current instance **ID** on the **Instance Overview** page in the IoT Platform console. '."\n" ."\n" .'> '."\n" .'- If an ID exists, you must specify it; otherwise, the invocation fails. '."\n" .'- If no ID exists, you do not need to specify it. '."\n" ."\n" .'> '."\n" ."\n" .'For more information about instances, see [How to Obtain an Instance ID](~~267533~~). ', 'type' => 'string', 'required' => false, 'example' => 'iot-a****13l', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'A value of 200 indicates success. Other values indicate error codes. For details about error codes, see [Error Codes](~~87387~~). ', 'type' => 'string', 'example' => '200', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails. This field is not included if the invocation succeeds. ', 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request. ', 'type' => 'string', 'example' => '4C717018-B6D4-5EB0-8495-2A4FF08D58CA', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: The invocation failed. ', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The location information of the device returned when the call succeeds. ', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ProductKey' => ['description' => 'The **ProductKey** of the product to which the device belongs.', 'type' => 'string', 'example' => 'g3r****Vjta', 'title' => ''], 'DeviceName' => ['description' => 'Device name. ', 'type' => 'string', 'example' => 'mock_device_name', 'title' => ''], 'CoordinateSystem' => ['description' => 'The coordinate system type.'."\n" ."\n" .'- **1**: WGS_84, the international latitude and longitude coordinate system.'."\n" .'- **2**: GCJ_02, a coordinate system defined by the State Bureau of Surveying and Mapping that applies initial encryption to geographic locations. ', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Longitude' => ['description' => 'The longitude of the device\'s location. ', 'type' => 'number', 'format' => 'float', 'example' => '120.0', 'title' => ''], 'Country' => ['description' => 'The country where the device is located. ', 'type' => 'string', 'example' => '中国', 'title' => ''], 'Ip' => ['description' => 'The IP address used when the device was published online. ', 'type' => 'string', 'example' => '127.0.0.1', 'title' => ''], 'City' => ['description' => 'The city where the device is located. ', 'type' => 'string', 'example' => '杭州', 'title' => ''], 'Adcode' => ['description' => 'The Amap adcode. For adcode details, refer to the city code lookup table.'."\n" ."\n" .'> The city code lookup table was updated on July 27, 2020. This table is used to query the codes corresponding to different cities. It is provided for reference only. We recommend using real-time online services such as address resolution to obtain the latest codes. Queries for administrative region codes of Taiwan Province are not supported at this time. ', 'type' => 'integer', 'format' => 'int64', 'example' => '90000', 'title' => ''], 'Latitude' => ['description' => 'The latitude of the device\'s location. ', 'type' => 'number', 'format' => 'float', 'example' => '30.0', 'title' => ''], 'Province' => ['description' => 'The province where the device is located. ', 'type' => 'string', 'example' => '浙江省', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"4C717018-B6D4-5EB0-8495-2A4FF08D58CA\\",\\n \\"Success\\": true,\\n \\"Data\\": [\\n {\\n \\"ProductKey\\": \\"g3r****Vjta\\",\\n \\"DeviceName\\": \\"mock_device_name\\",\\n \\"CoordinateSystem\\": 1,\\n \\"Longitude\\": 120,\\n \\"Country\\": \\"中国\\",\\n \\"Ip\\": \\"127.0.0.1\\",\\n \\"City\\": \\"杭州\\",\\n \\"Adcode\\": 90000,\\n \\"Latitude\\": 30,\\n \\"Province\\": \\"浙江省\\"\\n }\\n ]\\n}","type":"json"}]', 'title' => 'GisQueryDeviceLocation ', 'summary' => 'Invoke this API to query the location information of a device. ', 'description' => '## QPS Limit'."\n" ."\n" .'The maximum queries per second (QPS) for this API is 50 per Alibaba Cloud account. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. ', 'requestParamsDescription' => 'When invoking the API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters documentation](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:GisQueryDeviceLocation', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GisQueryDeviceLocation'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'GisSearchDeviceTrace' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'MapMatch', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform map-based location correction. Valid values:'."\n" .'- **0**: No. Trajectory correction is not performed.'."\n" .'- **1**: Yes. Trajectory correction is performed.', 'example' => '0', 'format' => 'int32', 'required' => true, 'type' => 'integer', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID value exists, you must pass this ID value; otherwise, the invocation will fail.'."\n" .'- If no ID value exists, you do not need to pass it.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [How to obtain an instance ID](~~267533~~).', 'example' => 'iot-a****13l', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', 'schema' => ['description' => 'The UNIX timestamp (in milliseconds) indicating the end time of the trajectory.', 'example' => '1645071254000', 'format' => 'int64', 'required' => true, 'type' => 'integer', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', 'schema' => ['description' => 'The UNIX timestamp (in milliseconds) indicating the start time of the trajectory.', 'example' => '1645071254000', 'format' => 'int64', 'required' => true, 'type' => 'integer', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the queried device belongs. '."\n" .'ProductKey is a globally unique identifier issued by the IoT Platform for a newly created product. You can view information about all products under your account in the IoT Platform console or by invoking [QueryProductList](~~69271~~).', 'example' => 'g3r****Vjta', 'required' => true, 'type' => 'string', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The device name.', 'example' => 'mock_device_name', 'required' => true, 'type' => 'string', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'properties' => [ 'Code' => ['description' => 'A value of 200 indicates success. Other values indicate error codes. For more information about error codes, see [Error Codes](~~87387~~).', 'example' => '200', 'type' => 'string', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'example' => 'request parameter error', 'type' => 'string', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'example' => '4C717018-B6D4-5EB0-8495-2A4FF08D58CA', 'type' => 'string', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: The invocation failed.', 'example' => 'true', 'type' => 'boolean', 'title' => ''], 'Data' => [ 'description' => 'The trajectory information of the device returned when the invocation succeeds.', 'properties' => [ 'DeviceName' => ['description' => 'The device name.', 'example' => 'mock_device_name', 'type' => 'string', 'title' => ''], 'ProductKey' => ['description' => 'The **ProductKey** of the product to which the device belongs.', 'example' => 'g3r****Vjta', 'type' => 'string', 'title' => ''], 'Points' => [ 'description' => 'The list of trajectory points. Up to 200 points are returned.', 'items' => [ 'properties' => [ 'LocateTime' => ['description' => 'The timestamp of the location point. This field is not included if the trajectory has been corrected.', 'example' => '1645071254000', 'format' => 'int64', 'type' => 'integer', 'title' => ''], 'Location' => ['description' => 'The coordinates of the trajectory point, in the format: (longitude, latitude).', 'example' => '120.0,30.0', 'type' => 'string', 'title' => ''], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], 'type' => 'array', 'title' => '', 'example' => '', ], ], 'type' => 'object', 'title' => '', 'example' => '', ], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.gis.InvalidRequestParam', 'errorMessage' => 'Invalid Request Param.', 'description' => ''], ['errorCode' => 'iot.gis.InvalidParamSize', 'errorMessage' => 'Invalid Param Size', 'description' => ''], ['errorCode' => 'iot.gis.lbsBasicFalse', 'errorMessage' => 'lbs service has not open yet.', 'description' => 'lbs service has not open yet.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"4C717018-B6D4-5EB0-8495-2A4FF08D58CA\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"DeviceName\\": \\"mock_device_name\\",\\n \\"ProductKey\\": \\"g3r****Vjta\\",\\n \\"Points\\": [\\n {\\n \\"LocateTime\\": 1645071254000,\\n \\"Location\\": \\"120.0,30.0\\"\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'Query Device Trajectory Details', 'summary' => 'Invoke this API to query the trajectory details of a device.', 'description' => '## Queries per second (QPS) limit'."\n" ."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 50. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:GisSearchDeviceTrace', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GisSearchDeviceTrace'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'ImportDTData' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'ProductKey', 'in' => 'formData', 'schema' => ['description' => 'The **ProductKey** of the product to which the device belongs.', 'type' => 'string', 'required' => true, 'example' => 'dgb9****', 'title' => ''], ], [ 'name' => 'DTInstanceId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify it. Otherwise, the invocation fails.'."\n" .'- If the **Instance Overview** page or the ID does not exist, you do not need to specify this parameter.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-****001', 'title' => ''], ], [ 'name' => 'Items', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of device information used to trigger data mapping.', 'type' => 'array', 'items' => [ 'description' => 'The device information used to trigger data mapping.', 'type' => 'object', 'properties' => [ 'Params' => ['description' => 'The device data source, which is a JSON string in the `Key:Value` format.'."\n" ."\n" .'You can pass up to 300 key-value pairs in a single API call.', 'type' => 'string', 'required' => true, 'example' => '{"key1":12,"key2":56}', 'title' => ''], 'DeviceName' => ['description' => 'The device name. You can specify up to five device names in a single API call.', 'type' => 'string', 'required' => true, 'example' => 'Device1', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => true, 'maxItems' => 200, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Iot.digitaltwin.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error. Try again later.'], ['errorCode' => 'Iot.digitaltwin.instanceNotFound', 'errorMessage' => 'The instance does not exist.', 'description' => ' The instance does not exist.'], ['errorCode' => 'Iot.digitaltwin.instanceNodeNotExist', 'errorMessage' => 'The nodeId is not exist.', 'description' => 'The specified node does not exist.'], ['errorCode' => 'Iot.product.ProductNotFound', 'errorMessage' => 'product not found.', 'description' => ''], ['errorCode' => 'Iot.digitaltwin.productAuthticFailed', 'errorMessage' => 'Product authentic failed.', 'description' => 'Failed to authenticate the product.'], ['errorCode' => 'Iot.device.DeviceNotFound', 'errorMessage' => 'device not found.', 'description' => 'The device cannot be found.'], ['errorCode' => 'Iot.digitaltwin.notSupportApiDataSource', 'errorMessage' => 'APIs cannot be used as data sources.', 'description' => 'This edition does not support API data sources.'], ['errorCode' => 'Iot.digitaltwin.tooManyRequest', 'errorMessage' => 'Too many requests.', 'description' => 'The error message returned because your request was denied due to throttling.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'ImportDTData', 'summary' => 'Invoke this API to trigger the data mapping configuration of a digital twin and map data to twin nodes.', 'description' => '## How-To'."\n" .'You have already configured an API data source mapping in the twin space. For more information, see [Configure a data source](~~455005~~).'."\n" ."\n\n" .'## queries per second (QPS) limit'."\n" ."\n" .'Each Alibaba Cloud account can send up to 200 requests per second (QPS) to call this API.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba cloud account.', 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:ImportDTData', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '2000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ImportDTData'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'ImportDevice' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'> If your instance has an ID, you must specify this parameter. Otherwise, the request fails. If no Overview page exists or no instance ID is displayed, you do not need to specify this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~) of IoT instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot-1n8t****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the gateway product to which the device belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The DeviceName of the device.'."\n" ."\n" .'The DeviceName must be 4 to 32 characters in length, and can contain letters, digits, hyphens (-), underscores (\\_), at signs (@), periods (.), and colons (:).'."\n" ."\n" .'The DeviceName must be unique in the product.'."\n", 'type' => 'string', 'required' => true, 'example' => 'light', 'title' => ''], ], [ 'name' => 'Nickname', 'in' => 'query', 'schema' => ['description' => 'The alias of the device.'."\n" ."\n" .'The alias must be 1 to 64 characters in length, and can contain letters, digits, and underscores (\\_).'."\n" ."\n" .'> If you do not specify this parameter, IoT Platform does not generate an alias for the device.'."\n", 'type' => 'string', 'required' => false, 'example' => '园区灯', 'title' => ''], ], [ 'name' => 'Sn', 'in' => 'query', 'schema' => ['description' => 'The serial number (SN) of the device.'."\n" ."\n" .'The SN must be 1 to 64 characters in length, and can contain letters, digits, and underscores (\\_).'."\n" ."\n" .'> If you do not specify this parameter, IoT Platform does not generate an SN for the device.'."\n", 'type' => 'string', 'required' => false, 'example' => 'QC4******001', 'title' => ''], ], [ 'name' => 'DeviceSecret', 'in' => 'query', 'schema' => ['description' => 'The DeviceSecret of the device.'."\n" ."\n" .'The DeviceSecret must be 1 to 32 characters in length, and can contain letters, digits, hyphens (-), underscores (\\_), at signs (@), periods (.), and colons (:).'."\n", 'type' => 'string', 'required' => true, 'example' => 'b4d43f7******10ba5e5', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the request fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the request was successful.'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The device information returned if the request is successful.'."\n", 'type' => 'object', 'properties' => [ 'ProductKey' => ['description' => 'The **ProductKey** of the product to which the device belongs.'."\n", 'type' => 'string', 'example' => 'a1BwAGV****', 'title' => ''], 'Sn' => ['description' => 'The SN of the device.'."\n" ."\n" .'> If you did not specify an SN for the device, the response parameter is empty.'."\n", 'type' => 'string', 'example' => 'QC4******001', 'title' => ''], 'DeviceName' => ['description' => 'The DeviceName of the device.'."\n" ."\n" .'> Keep the information confidential.'."\n", 'type' => 'string', 'example' => 'light', 'title' => ''], 'DeviceSecret' => ['description' => 'The DeviceSecret of the device.'."\n" ."\n" .'> Keep the information confidential.'."\n", 'type' => 'string', 'example' => 'b4d43f7******10ba5e5', 'title' => ''], 'Nickname' => ['description' => 'The alias of the device.'."\n" ."\n" .'> If you did not specify an alias for the device, the response parameter is empty.'."\n", 'type' => 'string', 'example' => '园区灯', 'title' => ''], 'IotId' => ['description' => 'The ID of the device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n" ."\n" .'> Keep the information confidential.'."\n", 'type' => 'string', 'example' => '1O4YPNtRqB2anumz2Canp4GB7*****', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 200 => [ ['errorCode' => 'iot.device.CreateDeviceFailed', 'errorMessage' => 'An error occurred while creating the device.', 'description' => ''], ['errorCode' => 'iot.device.AlreadyExistedDeviceName', 'errorMessage' => 'The DeviceName already exists.', 'description' => ''], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"Sn\\": \\"QC4******001\\",\\n \\"DeviceName\\": \\"light\\",\\n \\"DeviceSecret\\": \\"b4d43f7******10ba5e5\\",\\n \\"Nickname\\": \\"园区灯\\",\\n \\"IotId\\": \\"1O4YPNtRqB2anumz2Canp4GB7*****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', 'title' => 'ImportDevice', 'summary' => 'Adds a device to a Message Queuing Telemetry Transport (MQTT) gateway product.', 'description' => '## Usage notes'."\n" ."\n" .'Before you call this operation, make sure that an MQTT gateway and the related product are created and the **ProductKey** of the product is obtained. For more information, see [Create an MQTT gateway](~~433804~~).'."\n" ."\n" .'## QPS limits'."\n" ."\n" .'You can call this API operation up to 50 times per second per account.'."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:ImportDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'ImportThingModelTsl' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group.'."\n" ."\n" .'> You cannot specify this parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-acfm4l5tcwd****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product.'."\n" ."\n" .'You can view the ProductKey on the Product Details page of the IoT Platform console. You can also obtain the ProductKey by calling the [QueryProductList](~~69271~~) operation.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'TslStr', 'in' => 'query', 'schema' => ['description' => 'The TSL model to be edited. The value is a JSON string. The TSL model defines the properties, services, and events of the product.'."\n" ."\n" .'The value of the **TslStr** parameter must conform to the standard TSL data format. For more information, see [TSL data format](~~73727~~).'."\n" ."\n" .'> To import a TSL model, you must specify the **TslStr** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => '{"schema":"https://iotx-tsl.oss-ap-southeast-1.aliyuncs.com/schema.json","profile":{"productKey":"a14TeW****"},"properties":[]}', 'title' => ''], ], [ 'name' => 'TslUrl', 'in' => 'query', 'schema' => ['description' => 'The URI that is used to store the TSL data in Object Storage Service (OSS).'."\n" ."\n" .'> This parameter does not take effect. To import a TSL model, you must specify the **TslStr** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'https://iotx-pop-dsl.oss-cn-shanghai.aliyuncs.com/thing/a14TeWI****/model.json?Expires=1581947119...', 'title' => ''], ], [ 'name' => 'FunctionBlockId', 'in' => 'query', 'schema' => ['description' => 'The identifier of the custom TSL module. Each identifier is unique in a product. The identifier must be 1 to 30 characters in length, and can contain letters, digits, and underscores (\\_).'."\n" ."\n" .'This parameter must be used in combination with the **FunctionBlockName** parameter. If you do not specify this parameter, the system imports the default module.'."\n", 'type' => 'string', 'required' => false, 'example' => 'BatteryModule', 'title' => ''], ], [ 'name' => 'FunctionBlockName', 'in' => 'query', 'schema' => ['description' => 'The name of the custom module. The name must be 4 to 30 characters in length, and can contain letters, digits, and underscores (\\_).'."\n" ."\n" .'This parameter must be used in combination with the **FunctionBlockId** parameter. If you do not specify this parameter, the system imports the default module.'."\n", 'type' => 'string', 'required' => false, 'example' => '电池模块', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\n9E76053E-26ED-4AB4-AE58-8AFC3F1E7E8E\\ntrue\\n","errorExample":""}]', 'title' => 'ImportThingModelTsl', 'summary' => 'Imports a Thing Specification Language (TSL) model to a specified product.', 'description' => '## Limits'."\n" ."\n" .'* If a product is published, you must call the [CancelReleaseProduct](~~213875~~) operation to unpublish the product before you call this operation.'."\n" ."\n" .'* Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:ImportThingModelTsl', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'InvokeDataAPIService' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'Param', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'List of parameters. ', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ParamName' => ['description' => 'The input parameter name for invoking the API. It must exactly match the **Name** defined in **RequestParam** when the API was created by calling the **CreateDataAPIService** API.', 'type' => 'string', 'required' => false, 'example' => 'status', 'title' => ''], 'ParamType' => ['description' => 'Data type. Currently, only VARCHAR, INTEGER, BOOLEAN, BIGINT, TIMESTAMP, DECIMAL, and ARRAY types are supported. '."\n" ."\n" .'> When **ParamType** is set to ARRAY, the **ListParamType** and **ListParamValue** parameters take effect. For all other **ParamType** values, the **ParamValue** parameter takes effect.', 'type' => 'string', 'required' => false, 'example' => 'VARCHAR ', 'title' => ''], 'ListParamType' => ['description' => 'The data type of the parameter value for an ARRAY-type parameter. See [JDBCType](https://docs.oracle.com/javase/8/docs/api/java/sql/JDBCType.html). '."\n" .'Currently, only VARCHAR, INTEGER, BIGINT, BOOLEAN, DECIMAL, and TIMESTAMP are supported.', 'type' => 'string', 'required' => false, 'example' => 'VARCHAR', 'title' => ''], 'ParamValue' => ['description' => 'The input parameter value for invoking the API. '."\n" ."\n" .'- All values are stored as strings. The IoT Platform converts them into JDBC type objects based on the **ParamType** defined when the API was created. '."\n" ."\n" .'- If the API request parameter **Type** is defined as ARRAY when creating the API, do not pass this parameter. Instead, pass **ListParamType** and **ListParamValue**.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], 'ListParamValue' => [ 'description' => 'List of parameter values of the ARRAY type. The array can contain only one group of data with the same type. For example, if numeric data is included, all elements in the array must be numeric. '."\n" ."\n" .'> All values are stored as strings. The platform transforms them into Java Database Connectivity (JDBC) type objects based on the corresponding value of **ListParamType**.', 'type' => 'array', 'items' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], 'required' => false, 'example' => '["1","2","3"]', 'maxItems' => 100, 'title' => '', ], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 100, 'title' => '', 'example' => '', ], ], [ 'name' => 'ApiSrn', 'in' => 'formData', 'schema' => ['description' => 'API resource identifier, which is the global unique identity of the API. This value is returned as **ApiSrn** after you successfully create an API by invoking the **CreateDataAPIService** API. '."\n" ."\n" .'Format: `acs:iot:*:${aliyunuserID}:serveapi/${ApiPath}` '."\n" ."\n" .'Example: `acs:iot:*:127103983461****:serveapi/device/getDeviceCountByStatus2` '."\n" ."\n" .'The information in the preceding example is described as follows: '."\n" ."\n" .'- `127103983461****` is the Alibaba Cloud account ID. '."\n" .'- `/device/getDeviceCountByStatus` is the value of the request parameter **ApiPath**, which represents the custom part of the API invocation path. ', 'type' => 'string', 'required' => true, 'example' => 'acs:iot:*:127103983461****:serveapi/device/getDeviceCountByStatus2', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'Instance ID. Do not pass this parameter for public instances. For Enterprise instances, you must specify this parameter. ', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'Error code returned when the invocation fails. For more information, see [error codes](~~135176~~). ', 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'Error message returned when the invocation fails. ', 'type' => 'string', 'example' => '请求参数错误', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request. ', 'type' => 'string', 'example' => 'E68FE5DC-4D7B-4987-B785-DF8C6F191F5D', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: The invocation failed. ', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The registered device information returned when the API call succeeds. ', 'type' => 'object', 'properties' => [ 'PageNo' => ['description' => 'The page number of the displayed query results. Page numbers start from 0, and the default value is 0. '."\n" .'If you want to customize the result page to display, we recommend that you add a custom parameter such as **pageNo** to the request parameters. ', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'PageSize' => ['description' => 'The number of records displayed per page in the query results. '."\n" .'If you want to customize the number of records per page, we recommend that you add a custom parameter such as **pageSize** to the request parameters. ', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'ApiSrn' => ['description' => 'The API resource identifier, which is the global unique identifier of the API. '."\n" ."\n" .'Sample: `acs:iot:*:127103983461****:serveapi/device/getDeviceCountByStatus2` '."\n" ."\n" .'The sample above contains the following information: '."\n" ."\n" .'- `127103983461****` is the Alibaba Cloud account ID. '."\n" .'- `/device/getDeviceCountByStatus` is the custom part of the API endpoint. ', 'type' => 'string', 'example' => 'acs:iot:*:127103983461****:serveapi/device/getDeviceCountByStatus2', 'title' => ''], 'TotalSize' => ['description' => 'The total number of records.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'FieldNameList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'FieldNameList' => [ 'description' => 'List of result fields.', 'type' => 'array', 'items' => ['description' => 'List of result fields. Each element in the list is the parameter name defined by the **Name** field in **ResponseParam** when you invoke the **CreateDataAPIService** API to create an API.', 'type' => 'string', 'example' => '{"FieldNameList": ["deviceCount"]}', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'ResultList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'ResultList' => [ 'description' => '', 'type' => 'array', 'items' => ['description' => '', 'type' => 'object', 'example' => '[{"deviceCount": 47}]', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"请求参数错误\\",\\n \\"RequestId\\": \\"E68FE5DC-4D7B-4987-B785-DF8C6F191F5D\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageNo\\": 0,\\n \\"PageSize\\": 1,\\n \\"ApiSrn\\": \\"acs:iot:*:127103983461****:serveapi/device/getDeviceCountByStatus2\\",\\n \\"TotalSize\\": 2,\\n \\"FieldNameList\\": {\\n \\"FieldNameList\\": [\\n \\"{\\\\\\"FieldNameList\\\\\\": [\\\\\\"deviceCount\\\\\\"]}\\"\\n ]\\n },\\n \\"ResultList\\": {\\n \\"ResultList\\": [\\n [\\n {\\n \\"deviceCount\\": 47\\n }\\n ]\\n ]\\n }\\n }\\n}","type":"json"}]', 'title' => 'InvokeDataAPIService ', 'summary' => 'Invoke this API to call the data algorithm service API and obtain SQL query results. ', 'description' => '## Condition '."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account when calling this API is 1. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. ', 'requestParamsDescription' => 'When calling this API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:InvokeDataAPIService', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'InvokeDataAPIService'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'InvokeThingService' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the elastic container instance. On the **Overview** page in the IoT Platform console, you can view the ID of the instance.****'."\n" ."\n" .'>* If your instance has an ID, you must specify the ID for the parameter. Otherwise, the call fails.********'."\n" .'>* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n" ."\n" .'>If you configure this parameter, you must specify a value for the **DeviceName** parameter.', 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The DeviceName of the device to which the required service belongs.'."\n" ."\n" .'> If you configure this parameter, you must specify a value for the **ProductKey** parameter.', 'type' => 'string', 'required' => false, 'example' => 'light', 'title' => ''], ], [ 'name' => 'Identifier', 'in' => 'query', 'schema' => ['description' => 'The identifier of the service.'."\n" ."\n" .'You can use one of the following methods to view the **identifier** of the service:'."\n" ."\n" .'* Log on to the [IoT Platform console](https://iot.console.aliyun.com/). On the **Define Feature** tab of the product to which the device belongs, view the identifier.'."\n" .'* Call the [QueryThingModel](~~150321~~) operation and view the identifier in the TSL information that is returned.'."\n" ."\n" .'> If a service named testService belongs to a custom module named testFb, you can set this parameter to ******testFb:testService******. The custom module is not the default module.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Set', 'title' => ''], ], [ 'name' => 'Args', 'in' => 'query', 'schema' => ['description' => 'The input parameter of the service. The value is a JSON string. Example: **Args={"param1": 1}**.'."\n" ."\n" .'If this parameter is left empty, set the value to **Args={}**.'."\n" ."\n" .'> If the TSL data is of the float or double type, the parameter values that correspond to the TSL data contain at least one decimal place. Examples: 10.0 and 11.1.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '{"param1":1}', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n" ."\n" .'>The IotId parameter specifies a globally unique identifier (GUID) for the device. The value of the **IotId** parameter corresponds to a combination of the values of the **ProductKey** and **DeviceName** parameters. If you specify a value for this parameter, you do not need to configure the **ProductKey** or **DeviceName** parameter. If you specify values for the **IotId**,**ProductKey**, and **DeviceName** parameters, the value of the **IotId** parameter takes precedence.', 'type' => 'string', 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], [ 'name' => 'Qos', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1', 'minimum' => '0', 'default' => '0', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'* **true**: The call was successful. However, this value does not indicate that the service is implemented. To obtain the implementation result, view the logs of the device.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data returned if the call is successful.'."\n", 'type' => 'object', 'properties' => [ 'Result' => ['description' => 'The result of the synchronous call.'."\n" ."\n" .'If you asynchronously call the service, this parameter is not returned.'."\n", 'type' => 'string', 'example' => '{"param1":1}', 'title' => ''], 'MessageId' => ['description' => 'The ID of the message. IoT Platform sends the message to the device to call the service.'."\n", 'type' => 'string', 'example' => 'abcabcabc1234****', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Result\\": \\"{\\\\\\"param1\\\\\\":1}\\",\\n \\"MessageId\\": \\"abcabcabc1234****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n\\n {\\"code\\":200,\\"data\\":{},\\"id\\":\\"100686\\",\\"message\\":\\"success\\",\\"version\\":\\"1.0\\"}\\n abcabc123\\n\\nA44C818E-FA7F-4765-B1E7-01D14AE01C6A\\ntrue\\n","errorExample":""}]', 'title' => 'InvokeThingService', 'summary' => 'Calls a service of a device.', 'description' => 'When you define a service in a Thing Specification Language (TSL) model, the mode in which the service is called is specified. When you call a service by using this operation, IoT Platform uses a call mode based on the value of the **Identifier** parameter.'."\n" ."\n" .'* Synchronous mode: IoT Platform sends a revert-remote procedure call (RRPC) request to a device. Then, the device synchronously returns an RRPC response. For more information about how to use an RRPC, see [What is RRPC?](~~90567~~)'."\n" .'* Asynchronous mode: IoT Platform sends an RRPC request to a device. Then, the device asynchronously returns an RRPC response. For more information about topics, see [Device properties, events, and services](~~89301~~).'."\n" ."\n" .'> If you set the Checksum Type parameter to **Verification-free** when you create a product, the asynchronous mode is used.'."\n" ."\n" .'When the device receives the service call, the device returns a response to the service caller. When you configure the device, you must specify the response logic and response parameters. The data formats of response parameters must comply with the Alink protocol. Example:'."\n" ."\n" .'```'."\n" ."\n" .'{'."\n" .' "id": "58***89",'."\n" .' "code": 200,'."\n" .' "data": {},'."\n" .' "message": "success",'."\n" .' "localizedMsg": "localizedMsg"'."\n" .'}'."\n" .'```'."\n" ."\n" .'> * The **id** parameter specifies the unique identifier of the request. The ID is generated by IoT Platform. The device can obtain the ID from the request parameters and then return the ID.'."\n" .'>* The **code** parameter specifies the result of the service call. The value of the parameter is an integer.'."\n" .'>* The **data** parameter specifies the result of the service call. This parameter is returned to the service caller. You can configure the parameters that you want to include in the returned result. The data must be in the JSON format.'."\n" .'>* The **message** and **localizedMsg** parameters are optional.'."\n" .'>* Link SDK for C of IoT Platform provides an example on how to use a TSL model. For more information, see [Call device services](~~258239~~).'."\n" ."\n\n" .'## Limits'."\n" ."\n" .'If you synchronously call a service, the timeout period is 8 seconds. If a server does not receive a response within 8 seconds, a timeout error occurs. No limit is imposed on the timeout period of asynchronous calls. '."\n" ."\n\n" .'## QPS limits'."\n" ."\n" .'Each Alibaba Cloud account can run up to 500 queries per second (QPS). '."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must also configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:InvokeThingService', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'InvokeThingsService' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the ID of the instance on the **Overview** page in the IoT Platform console.****'."\n" ."\n" .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.****'."\n" .'>* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the device belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'Qos', 'in' => 'query', 'schema' => ['type' => 'integer', 'description' => '', 'format' => 'int32', 'required' => false, 'maximum' => '1', 'minimum' => '0', 'default' => '0', 'title' => '', 'example' => ''], ], [ 'name' => 'Identifier', 'in' => 'query', 'schema' => ['description' => 'The identifier of the service.'."\n" ."\n" .'You can use one of the following methods to view the **identifier** of the service.'."\n" ."\n" .'* Log on to the IoT Platform console. On the **Define Feature** tab of the product to which the device belongs, you can view the identifier.'."\n" .'* Call the [QueryThingModel](~~150321~~) operation and view the identifier in the TSL information that is returned.'."\n" ."\n" .'> If a service named testService belongs to a custom module named testFb, you can set this parameter to ******testFb:testService******. The custom module is not the default module.'."\n", 'type' => 'string', 'required' => true, 'example' => 'Set', 'title' => ''], ], [ 'name' => 'Args', 'in' => 'query', 'schema' => ['description' => 'The input parameter of the service. The value is a JSON string. Example: **Args={"param1": 1}**.'."\n" ."\n" .'If this parameter is left empty, set the value to **Args={}**.'."\n" ."\n" .'>If the TSL data is of the float or double type, the parameter values that correspond to the TSL data contain at least one decimal place. Examples: 10.0 and 11.1.', 'type' => 'string', 'required' => true, 'example' => '{"param1":1}', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'A list of names of the devices for which you want to invoke a service. You can specify up to 100 device names.', 'type' => 'array', 'items' => ['type' => 'string', 'description' => 'The name of the device whose service you want to call. You can specify up to 100 device names.'."\n", 'title' => '', 'example' => ''], 'required' => true, 'example' => 'device1', 'maxItems' => 500, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful. However, this value does not indicate that the service is implemented. To obtain the implementation result, view the logs of the device.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Batch Invoke Device Services', 'summary' => 'Invoke this API to batch invoke device services.', 'description' => '## How-To'."\n" .'This API currently supports asynchronous invocation only.'."\n" .'After the service is invoked on the device side, the device returns the invocation result to the API caller. You must implement the response logic and response result on the device side. The data format of the result returned by the device must comply with the standard Alink protocol. The Alink JSON format is as follows:'."\n" .'```'."\n" .'{'."\n" .' "id": "58***89",'."\n" .' "code": 200,'."\n" .' "data": {},'."\n" .' "message": "success",'."\n" .' "localizedMsg": "localizedMsg"'."\n" .'}'."\n" .'```'."\n" .'> - **id**: A unique ID generated by the IoT Platform. The device retrieves it from the service invocation request and returns it as-is.'."\n" .'- **code**: An integer value returned to the API caller to indicate whether the service invocation succeeded.'."\n" .'- **data**: The result data from invoking the device service, returned to the API caller. This data must be in JSON format, and its content is defined by the user.'."\n" .'- **message** and **localizedMsg**: Returned based on business requirements.'."\n" .'For example, the C Link SDK for device connection provided by the IoT Platform includes Thing Specification Language model usage examples. For more information, see [Invoke Services](~~258239~~).'."\n" ."\n" .'## QPS Limit'."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account when calling this API is 10.'."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When calling the API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:InvokeThingsService', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'InvokeThingsService'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'ListAnalyticsData' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the instance where the API is located.'."\n" ."\n" .'For more information, see [How to obtain an instance ID](~~267533~~).', 'type' => 'string', 'required' => true, 'example' => 'iot-cn-npk1u******', 'title' => ''], ], [ 'name' => 'ApiPath', 'in' => 'query', 'schema' => ['description' => 'The API path.'."\n" ."\n" .'You can view the **API Path** value on the product page of the **Data API**. For specific operations, see [View and use](~~206247~~).', 'type' => 'string', 'required' => true, 'example' => '/iot-cn-npk1v******/system/query/hist_dev_cnt_stat', 'title' => ''], ], [ 'name' => 'PageNum', 'in' => 'query', 'schema' => ['description' => 'Specifies which page of the return results to display. Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000', 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of records displayed per page in the return results.'."\n" ."\n" .'The maximum value is 100, the minimum value is 1, and the default value is 100. '."\n" .'> This parameter is required when paging is enabled.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '20000', 'minimum' => '1', 'example' => '100', 'default' => '100', 'title' => ''], ], [ 'name' => 'IsoId', 'in' => 'query', 'schema' => ['description' => 'The logically isolated ID. Ignore this parameter.', 'type' => 'string', 'required' => false, 'example' => 'oxs_iso_id', 'title' => ''], ], [ 'name' => 'Condition', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of query conditions.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Operate' => ['description' => 'The comparison operator.'."\n" ."\n" .'Only `bt`, `eq`, `neq`, `rlike`, `in`, or `nin` and their corresponding operators `BETWEEN`, `=`, `!=`, `LIKE`, `IN`, and `NIN` are supported.'."\n" ."\n" .'You can view the corresponding operators of request parameters on the API details page of the **Data API**. For more information, see [View and Use](~~206247~~).'."\n" ."\n" .'- `BETWEEN`: The request parameter is assigned a value within a specific range.'."\n" .'- `=`: The request parameter is assigned a specific value.'."\n" .'- `!=`: The request parameter is not assigned a specific value.'."\n" .'- `LIKE`: The request parameter starts with a specific value.'."\n" .'- `IN`: The request parameter belongs to a specific set.'."\n" .'- `NIN`: The request parameter does not belong to a specific set.'."\n" ."\n" .'For example, assume a dataset contains six records with the `time` values `abcd`, `abce`, `abcf`, `abcg`, `aabc`, and `abbc`. When you invoke this API with `Condition.N.FieldName="time"`:'."\n" ."\n" .'- If `Condition.N.Operate="LIKE"` and `Condition.N.Value="abc"`, all records where `time=abcd`, `time=abce`, `time=abcf`, and `time=abcg` are returned.'."\n" .'- If `Condition.N.Operate="IN"` and `Condition.N.Value="[abcd,abce,abcf]"`, all records where `time=abcd`, `time=abce`, and `time=abcf` are returned.'."\n" ."\n" .'> If the value of this parameter is `BETWEEN`, you must specify **Condition.N.BetweenStart** and **Condition.N.BetweenEnd**. If the value is not `BETWEEN`, you must specify **Condition.N.Value**.', 'type' => 'string', 'required' => true, 'example' => '=', 'title' => ''], 'Value' => ['description' => 'The comparison value, which is the assigned value of a service API request parameter.'."\n" ."\n" .'You can view the assigned values of request parameters on the API details page of the **Data API**. For more information, see [View and Use](~~206247~~).'."\n" ."\n" .'> If the value of **Condition.N.Operate** is not `BETWEEN` or `bt`, you must specify this parameter, and you must not specify **Condition.N.BetweenStart** or **Condition.N.BetweenEnd**.', 'type' => 'string', 'required' => false, 'example' => '4', 'title' => ''], 'FieldName' => ['description' => 'The name of the request parameter configured for the service API.'."\n" ."\n" .'You can view the **Request Parameters** on the API details page of the **Data API**. For more information, see [View and Use](~~206247~~).', 'type' => 'string', 'required' => true, 'example' => 'testCode', 'title' => ''], 'BetweenEnd' => ['description' => 'The end value when the service API request parameter represents a range.'."\n" ."\n" .'You can view the value range of request parameters on the API details page of the **Data API**. For more information, see [View and Use](~~206247~~).'."\n" ."\n" .'> If the value of **Condition.N.Operate** is `BETWEEN` or `bt`, you must specify this parameter, and you must not specify **Condition.N.Value**.', 'type' => 'string', 'required' => false, 'example' => '5', 'title' => ''], 'BetweenStart' => ['description' => 'The start value when the service API request parameter represents a range.'."\n" ."\n" .'You can view the value range of request parameters on the API details page of the **Data API**. For more information, see [View and Use](~~206247~~).'."\n" ."\n" .'> If the value of **Condition.N.Operate** is `BETWEEN` or `bt`, you must specify this parameter, and you must not specify **Condition.N.Value**.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 100, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the API: '."\n" .'- **Success**: Indicates success. '."\n" .'- Others: Indicate errors. For more information, see [error codes](~~135176~~).', 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the invocation fails.', 'type' => 'string', 'example' => 'insuficient auth:无访问权限', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => '7EC5B624-AF1B-4C4D-BA82-A02BA1******', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded: '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], 'Data' => [ 'description' => 'The returned data information if the invocation succeeds.', 'type' => 'object', 'properties' => [ 'ResultJson' => ['description' => 'Details of the data that meets the conditions.', 'type' => 'string', 'example' => '[{\\"testCode\\":\\"TBB186\\",\\"testLevel\\":5,\\"testWorkYears\\":3,\\"testName\\":\\"王五\\"},{\\"testCode\\":\\"TBB1314\\",\\"testLevel\\":2,\\"testWorkYears\\":4,\\"testName\\":\\"李四\\"},{\\"testCode\\":\\"TBB8888\\",\\"testLevel\\":2,\\"testWorkYears\\":5,\\"testName\\":\\"熊大\\"}]"', 'title' => ''], 'PageNum' => ['description' => 'The page number for paging.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageSize' => ['description' => 'The maximum number of results displayed per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], 'Count' => ['description' => 'The total number of records that match the query conditions.', 'type' => 'integer', 'format' => 'int64', 'example' => '3', 'title' => ''], 'HasNext' => ['description' => 'Indicates whether there is a next page of data that meets the conditions: '."\n" .'- **true**: Yes. '."\n" .'- **false**: No.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'LossOfUserInformation', 'errorMessage' => 'lost of user info:%s', 'description' => ''], ['errorCode' => 'InvalidParameter', 'errorMessage' => 'invalid parameter:%s', 'description' => ''], ['errorCode' => 'InsufficientAuthority', 'errorMessage' => 'insuficient auth:%s', 'description' => ''], ['errorCode' => 'RequestFailed', 'errorMessage' => 'source data does not exist', 'description' => ''], ['errorCode' => 'iot.dap.insight.dataApiNotDeploy', 'errorMessage' => 'The current API operation is not deployed.', 'description' => 'data api not deploy'], ['errorCode' => 'iot.dap.insight.apiQueryParamError', 'errorMessage' => 'A query parameter error occurred.', 'description' => 'api query param error'], ['errorCode' => 'iot.dap.insight.pipelineProcessError', 'errorMessage' => 'pipeline processing error', 'description' => 'pipeline processing error'], ['errorCode' => 'iot.dap.insight.noAuthorization', 'errorMessage' => 'no authorization.', 'description' => 'no authorization.'], ['errorCode' => 'iot.dap.insight.dopQueryApiError', 'errorMessage' => 'dop query api error', 'description' => 'dop query api error'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"insuficient auth:无访问权限\\",\\n \\"RequestId\\": \\"7EC5B624-AF1B-4C4D-BA82-A02BA1******\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"ResultJson\\": \\"[{\\\\\\\\\\\\\\"testCode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"TBB186\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"testLevel\\\\\\\\\\\\\\":5,\\\\\\\\\\\\\\"testWorkYears\\\\\\\\\\\\\\":3,\\\\\\\\\\\\\\"testName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"王五\\\\\\\\\\\\\\"},{\\\\\\\\\\\\\\"testCode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"TBB1314\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"testLevel\\\\\\\\\\\\\\":2,\\\\\\\\\\\\\\"testWorkYears\\\\\\\\\\\\\\":4,\\\\\\\\\\\\\\"testName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"李四\\\\\\\\\\\\\\"},{\\\\\\\\\\\\\\"testCode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"TBB8888\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"testLevel\\\\\\\\\\\\\\":2,\\\\\\\\\\\\\\"testWorkYears\\\\\\\\\\\\\\":5,\\\\\\\\\\\\\\"testName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"熊大\\\\\\\\\\\\\\"}]\\\\\\"\\",\\n \\"PageNum\\": 1,\\n \\"PageSize\\": 100,\\n \\"Count\\": 3,\\n \\"HasNext\\": false\\n }\\n}","type":"json"}]', 'title' => 'ListAnalyticsData', 'summary' => 'Invoke this API to execute the query job corresponding to a DataService Studio API and retrieve specified data from the data source.', 'description' => '## Limits'."\n" .'Each Alibaba Cloud account can send a maximum of 5 queries per second (QPS) when invoking this API. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking the API, in addition to the API-specific Request Parameters described in this topic, you must also pass in Common Request Parameters. For more information about common parameters, see [Common Parameters document](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListAnalyticsData', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListAnalyticsData'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'ListDataSourceItem' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'> If your instance has an ID, you must specify this parameter. Otherwise, the request fails. If no Overview page exists or no instance ID is displayed, you do not need to specify this parameter.'."\n" ."\n" .'For more information, see the [Overview](~~356505~~) topic of IoT instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot-0pp1n8t***', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of records displayed per page in the return result. Valid values: 1 to 100. ', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '100', 'minimum' => '1', 'example' => '10', 'title' => ''], ], [ 'name' => 'DataSourceId', 'in' => 'query', 'schema' => ['description' => 'The data source ID.'."\n" ."\n" .'You can call the [ListParserDataSource](~~432676~~) operation to obtain the IDs of all data sources of the instance.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '9223372036854775807', 'minimum' => '0', 'example' => '1001', 'title' => ''], ], [ 'name' => 'Page', 'in' => 'query', 'schema' => ['description' => 'The page number to display in the return result. Valid values: 1 to 100,000. ', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '100000', 'minimum' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'SearchName', 'in' => 'query', 'schema' => ['description' => 'A string segment from a topic value. The system retrieves topics that match this string. ', 'type' => 'string', 'required' => false, 'example' => 'thing', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the request fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Code' => ['description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'Total' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], 'Page' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'DataSourceItems' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'dataSourceItem' => [ 'description' => 'The information about the topics that are returned.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ProductKey' => ['description' => 'The **ProductKey** of the product to which the message topic belongs.'."\n" ."\n" .'> This parameter is returned only when the message topic belongs to an open-source MQTT hosted product and its devices, or an MQTT cloud gateway product and its devices.', 'type' => 'string', 'example' => 'aw3****', 'title' => ''], 'DataSourceItemId' => ['description' => 'The ID of the topic of the data source.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '129322', 'title' => ''], 'DeviceName' => ['description' => 'The device name of the device to which the message topic belongs.'."\n" ."\n" .'> This parameter is returned only when the message topic belongs to an open-source MQTT hosted product and its devices, or an MQTT cloud gateway product and its devices.', 'type' => 'string', 'example' => 'lightDevice', 'title' => ''], 'ScopeType' => ['description' => 'The scope of the message topic subscription. Valid values:'."\n" ."\n" .'- **PRODUCT**: Product dimension, indicating that the subscription applies to all devices under the product.'."\n" .'- **DEVICE**: Device dimension, indicating that the subscription applies to a specific device under the product.'."\n" ."\n" .'> This parameter is returned only when the message topic belongs to an open-source MQTT hosted product and its devices, or an MQTT cloud gateway product and its devices.', 'type' => 'string', 'example' => 'PRODUCT', 'title' => ''], 'Topic' => ['description' => 'The name of the topic of the data source.'."\n", 'type' => 'string', 'example' => '/gyh***z/+/thing/event/property/post', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ['errorCode' => 'iot.common.InvalidPageParams', 'errorMessage' => 'The specified pagination size or pagination parameter is invalid.', 'description' => 'The page size or page number is invalid.'], ['errorCode' => 'Iot.Device.NotExistedDevice', 'errorMessage' => 'The device does not exist.', 'description' => ''], ['errorCode' => 'iot.rule.DataSourceNotExists', 'errorMessage' => 'Datasource not existed', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageSize\\": 10,\\n \\"Total\\": 100,\\n \\"Page\\": 1,\\n \\"DataSourceItems\\": {\\n \\"dataSourceItem\\": [\\n {\\n \\"ProductKey\\": \\"aw3****\\",\\n \\"DataSourceItemId\\": 129322,\\n \\"DeviceName\\": \\"lightDevice\\",\\n \\"ScopeType\\": \\"PRODUCT\\",\\n \\"Topic\\": \\"/gyh***z/+/thing/event/property/post\\"\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'ListDataSourceItem ', 'summary' => 'Invoke this API to perform a paged query on the list of topics under a specified data source in the rules engine.', 'description' => '## QPS limit '."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 10.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking the API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters documentation](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListDataSourceItem', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDataSourceItem'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'ListDestination' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the current instance ID on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify this ID; otherwise, the call fails.'."\n" .'- If the **Instance Overview** page or the ID does not exist, you do not need to specify this parameter.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot-2w****', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of records to display per page in the returned results. The maximum value is 100.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '100', 'minimum' => '1', 'example' => '10', 'title' => ''], ], [ 'name' => 'SearchName', 'in' => 'query', 'schema' => ['description' => 'A string contained in a data destination name. Data destination names that match this string will be retrieved.', 'type' => 'string', 'required' => false, 'example' => 'DataPurpose', 'title' => ''], ], [ 'name' => 'Page', 'in' => 'query', 'schema' => ['description' => 'The page number of the returned results to display. Valid values: 1 to 100.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '9999999', 'minimum' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'Types', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The actions of forwarding data to data destinations. Data is processed by using a parser script before the data is forwarded. Valid values:'."\n" ."\n" .'* **REPUBLISH**: forwards topic data to an IoT Platform communication topic.'."\n" .'* **AMQP**: forwards topic data to an Advanced Message Queuing Protocol (AMQP) consumer group.'."\n" .'* **DATAHUB**: forwards topic data to Alibaba Cloud DataHub for stream data processing.'."\n" .'* **ONS**: forwards topic data to Message Queue for Apache RocketMQ for message distribution.'."\n" .'* **MNS**: forwards topic data to Message Service (MNS) for message transmission.'."\n" .'* **FC**: forwards topic data to Function Compute for event computing.'."\n" .'* **OTS**: forwards topic data to Tablestore for NoSQL data storage.'."\n", 'type' => 'array', 'items' => ['description' => 'Data destination operation type. Valid values:'."\n" ."\n" .'- **REPUBLISH**: Forward the topic data processed by the resolver script to another communication topic in the IoT Platform.'."\n" .'- **AMQP**: Forward the topic data processed by the resolver script to an AMQP consumer group.'."\n" .'- **DATAHUB**: Forward the topic data processed by the resolver script to Alibaba Cloud DataHub for stream data processing.'."\n" .'- **ONS**: Forward the topic data processed by the resolver script to Alibaba Cloud Message Queue for Apache RocketMQ for message distribution.'."\n" .'- **MNS**: Send the topic data processed by the resolver script to Alibaba Cloud Message Service for message transmission.'."\n" .'- **FC**: Send the topic data processed by the resolver script to Alibaba Cloud Function Compute for event-based computation.'."\n" .'- **OTS**: Send the topic data processed by the resolver script to Alibaba Cloud Tablestore (Tablestore) for NoSQL data storage.'."\n", 'type' => 'string', 'required' => false, 'example' => 'OTS', 'title' => ''], 'required' => false, 'example' => '["REPUBLISH", "OTS"]', 'maxItems' => 10, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the request fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Code' => ['description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'Total' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], 'Page' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Destinations' => [ 'itemNode' => true, 'description' => '', 'type' => 'object', 'properties' => [ 'destinations' => [ 'description' => 'The list of data destinations returned. ', 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the data destination. Return values: '."\n" ."\n" .'- **INIT**: Initial configuration in progress. '."\n" .'- **NORMAL**: Configuration complete and active. '."\n" .'- **INVALID**: Configuration is abnormal and unavailable. '."\n" .'- **SHORTCUT**: Data forwarding service has encountered an abnormality, causing a circuit break. ', 'type' => 'string', 'example' => 'NORMAL', 'title' => ''], 'Type' => ['description' => 'The operation type of the data destination. ', 'type' => 'string', 'example' => 'REPUBLISH', 'title' => ''], 'Description' => ['description' => 'The description of the data destination. ', 'type' => 'string', 'example' => '数据流转至数据库。', 'title' => ''], 'DestinationId' => ['description' => 'The ID of the data destination.', 'type' => 'integer', 'format' => 'int64', 'example' => '1003', 'title' => ''], 'Configuration' => ['description' => 'The configuration information of the data destination. ', 'type' => 'string', 'example' => '{"topic":"/a1POX0c****/device1/user/get","topicType":1}', 'title' => ''], 'Name' => ['description' => 'The name of the data destination.', 'type' => 'string', 'example' => 'DataPurpose', 'title' => ''], 'UtcCreated' => ['description' => 'The UTC time when the data destination was created. The format is `yyyy-MM-dd\'T\'HH:mm:ss.SSS\'Z\'`.', 'type' => 'string', 'example' => '2022-03-27T12:45:43.000Z', 'title' => ''], 'IsFailover' => ['description' => 'Indicates whether this data destination configuration is for forwarding fault operation data, that is, data that failed to be forwarded to other cloud products and also failed after retries.'."\n" ."\n" .'- **true**: It is fault operation data forwarding.'."\n" .'- **false**: It is normal data forwarding, not fault operation data forwarding.'."\n" ."\n" .'Default value is **false**.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ['errorCode' => 'iot.system.IllegalRequest', 'errorMessage' => 'The request parameter is invalid.', 'description' => 'The request parameter is invalid.'], ['errorCode' => 'iot.rule.destinationNotExists', 'errorMessage' => 'destination not found', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageSize\\": 10,\\n \\"Total\\": 100,\\n \\"Page\\": 1,\\n \\"Destinations\\": {\\n \\"destinations\\": [\\n {\\n \\"Status\\": \\"NORMAL\\",\\n \\"Type\\": \\"REPUBLISH\\",\\n \\"Description\\": \\"数据流转至数据库。\\",\\n \\"DestinationId\\": 1003,\\n \\"Configuration\\": \\"{\\\\\\"topic\\\\\\":\\\\\\"/a1POX0c****/device1/user/get\\\\\\",\\\\\\"topicType\\\\\\":1}\\",\\n \\"Name\\": \\"DataPurpose\\",\\n \\"UtcCreated\\": \\"2022-03-27T12:45:43.000Z\\",\\n \\"IsFailover\\": false\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'ListDestination', 'summary' => 'Invoke this API to query the list of created data destinations. ', 'description' => '## QPS Limit'."\n" ."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account when calling this API is 10. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. ', 'requestParamsDescription' => 'When invoking the API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters Documentation](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListDestination', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDestination'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'ListDeviceDistributeJob' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'TargetUid', 'in' => 'query', 'schema' => ['description' => 'The ID of the Alibaba Cloud account to which the devices are distributed.'."\n", 'type' => 'string', 'required' => false, 'example' => '198***', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', 'schema' => ['description' => 'The number of the page to return. Default value: 1.'."\n" ."\n" .'The **NextToken** or **CurrentPage** parameter specifies a condition for displaying the results. You can specify one of the two parameters. If you specify both parameters at the same time, the **NextToken parameter** is used.'."\n" ."\n" .'For information about the **NextToken** parameter, see the description of the **NextToken** parameter.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Valid values: 1 to 200.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '10', 'title' => ''], ], [ 'name' => 'Status', 'in' => 'query', 'schema' => ['description' => 'The status of the device distribution task.'."\n" ."\n" .'* **0**: The task is being initialized.'."\n" .'* **1**: The task is running.'."\n" .'* **2**: The task is completed. The status indicates that the distribution task is complete but does not indicate that all products and devices are distributed. To obtain distribution results, call the [QueryDeviceDistributeDetail](~~199533~~) operation.'."\n" .'* **3**: The task is unexpectedly interrupted.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'JobId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the distribution task. The ID is globally unique.'."\n", 'type' => 'string', 'required' => false, 'example' => 'UbmsMHmkqv0PiAG****010001', 'title' => ''], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'The token that is used to retrieve subsequent pages of the query results. The first time you perform a query operation, you do not need to specify this parameter.'."\n" ."\n" .'The **NextToken** or **CurrentPage** parameter specifies a condition for displaying the results. You can specify one of the two parameters. If you specify both parameters at the same time, the **NextToken** parameter is used.'."\n" ."\n\n" ."\n" .'**Important**'."\n" ."\n" .'The offset in the number of results is obtained by using the following formula: **PageSize** × (**CurrentPage** - 1).'."\n" ."\n" .'If the offset is greater than 10,000, you must use the token that is returned in the previous query as the value of the **NextToken** parameter to obtain the value of the **Data** parameter. Otherwise, the current request is terminated and the value of the **Data** parameter cannot be returned.', 'type' => 'string', 'required' => false, 'example' => 'TGlzdFJlc291***', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the device belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1T27vz****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code that is returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message that is returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The distribution tasks that are returned if the call is successful. For more information, see the **JobInfo** parameter.'."\n", 'type' => 'object', 'properties' => [ 'Total' => ['description' => 'The total number of device distribution tasks.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'NextToken' => ['description' => 'The token that is used to retrieve the subsequent pages of the query results. The value of this parameter can be used in the next query to obtain the subsequent pages of results. '."\n" ."\n" .'If the return value is empty, no subsequent page exists.', 'type' => 'string', 'example' => 'TGlzdFJlc291***', 'title' => ''], 'JobInfo' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'items' => [ 'description' => 'The information about the task.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Strategy' => ['description' => 'The distribution policy.'."\n" ."\n" .'* **0**: distributes devices to specified instances in a specified region. This is the default value.'."\n" .'* **1**: configures instance IDs in multiple regions and distributes devices to the nearest regions based on the IP addresses of the devices.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'Status' => ['description' => 'The status of the task.'."\n" ."\n" .'* **0**: The task is being initialized.'."\n" .'* **1**: The task is running.'."\n" .'* **2**: The task is completed. The status indicates that the distribution task is complete but does not indicate that all products and devices are distributed. To obtain distribution results, call the [QueryDeviceDistributeDetail](~~199533~~) operation.'."\n" .'* **3**: The task is unexpectedly interrupted.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'ProductKey' => ['description' => 'The **ProductKey** of the product to which the device belongs.'."\n", 'type' => 'string', 'example' => 'a1BwAGV****', 'title' => ''], 'TargetUid' => ['description' => 'The ID of the destination Alibaba Cloud account.', 'type' => 'string', 'example' => '198***', 'title' => ''], 'JobId' => ['description' => 'The ID of the task.'."\n", 'type' => 'string', 'example' => 'UbmsMHmkqv0PiAG****010001', 'title' => ''], 'GmtCreate' => ['description' => 'The time when the task was created.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1581595942000', 'title' => ''], 'SourceInstanceName' => ['description' => 'The name of the source instance.'."\n", 'type' => 'string', 'example' => '实例调试1', 'title' => ''], 'SourceUid' => ['description' => 'The ID of the source Alibaba Cloud account.'."\n", 'type' => 'string', 'example' => '198***', 'title' => ''], 'Total' => ['description' => 'The total number of devices in the distribution task.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], 'SourceRegion' => ['description' => 'The region where the source instance resides.'."\n", 'type' => 'string', 'example' => 'cn-shanghai', 'title' => ''], 'SourceInstanceId' => ['description' => 'The ID of the source instance.'."\n", 'type' => 'string', 'example' => 'iot-cn-6ja***', 'title' => ''], 'TargetInstanceConfigs' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'targetInstanceConfigs' => [ 'description' => 'The IDs of the destination instances.'."\n" ."\n" .'* If the value of the **Strategy** parameter is **1**, multiple instance IDs exist.'."\n" .'* If the value of the **Strategy** parameter is **0**, only one instance ID exists.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'TargetInstanceName' => ['description' => 'The name of the destination instance.'."\n", 'type' => 'string', 'example' => '实例调试2', 'title' => ''], 'TargetRegion' => ['description' => 'The region where the destination instance resides.'."\n", 'type' => 'string', 'example' => 'cn-shanghai', 'title' => ''], 'TargetInstanceId' => ['description' => 'The ID of the destination instance.'."\n", 'type' => 'string', 'example' => 'iot-cn-6ja***', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Total\\": 10,\\n \\"NextToken\\": \\"TGlzdFJlc291***\\",\\n \\"JobInfo\\": {\\n \\"items\\": [\\n {\\n \\"Strategy\\": 0,\\n \\"Status\\": 1,\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"TargetUid\\": \\"198***\\",\\n \\"JobId\\": \\"UbmsMHmkqv0PiAG****010001\\",\\n \\"GmtCreate\\": 1581595942000,\\n \\"SourceInstanceName\\": \\"实例调试1\\",\\n \\"SourceUid\\": \\"198***\\",\\n \\"Total\\": 5,\\n \\"SourceRegion\\": \\"cn-shanghai\\",\\n \\"SourceInstanceId\\": \\"iot-cn-6ja***\\",\\n \\"TargetInstanceConfigs\\": {\\n \\"targetInstanceConfigs\\": [\\n {\\n \\"TargetInstanceName\\": \\"实例调试2\\",\\n \\"TargetRegion\\": \\"cn-shanghai\\",\\n \\"TargetInstanceId\\": \\"iot-cn-6ja***\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', 'title' => 'ListDeviceDistributeJob', 'summary' => 'Queries device distribution tasks.', 'description' => 'If you use an Enterprise Edition instance, you must specify the **IotInstanceId** parameter when you call this operation. Otherwise, the call fails.'."\n" ."\n" .'## QPS limits'."\n" ."\n" .'You can call this API operation up to five times per second per account. '."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListDeviceDistributeJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'ListDistributedDevice' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Maximum value: 200.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '200', 'minimum' => '1', 'example' => '5', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the device belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The DeviceName of the device.'."\n", 'type' => 'string', 'required' => false, 'example' => 'mydevice', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', 'schema' => ['description' => 'The number of the page to return. Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'minimum' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'TargetUid', 'in' => 'query', 'schema' => ['description' => 'The ID of the Alibaba Cloud account. You can log on to the IoT Platform console, click the profile picture, and then view **Account ID** on the **Security Settings** page.'."\n", 'type' => 'string', 'required' => false, 'example' => '198***', 'title' => ''], ], [ 'name' => 'SourceInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the source instance to which the device belongs.'."\n" ."\n" .'* The IDs of public instances in different regions:'."\n" ."\n" .' * China (Shanghai): iotx-oxssharez200.'."\n" .' * Japan (Tokyo): iotx-oxssharez300.'."\n" .' * Singapore (Singapore): iotx-oxssharez400.'."\n" .' * US (Silicon Valley): iotx-oxssharez500.'."\n" .' * US (Virginia): iotx-oxssharez600.'."\n" .' * Germany (Frankfurt): iotx-oxssharez700.'."\n" ."\n" .'* The IDs of Enterprise Edition instances:'."\n" ."\n" .' 1\\. Log on to the IoT Platform console. Select a region from the drop-down list in the upper-left corner of the top navigation bar.'."\n" ."\n" .' 2\\. On the **Overview** page, click the instance name. On the **Instance Details** page, view the instance ID in the **Basic Information** section.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot-060***', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The products returned if the call is successful. For more information, see **Info**.'."\n", 'type' => 'object', 'properties' => [ 'Total' => ['description' => 'The total number of returned devices.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'Info' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'items' => [ 'description' => 'The information about the device.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'DeviceName' => ['description' => 'The DeviceName of the device.'."\n", 'type' => 'string', 'example' => 'mydevice', 'title' => ''], 'TargetAliyunId' => ['description' => 'The Alibaba Cloud account to which the device is distributed.'."\n", 'type' => 'string', 'example' => 'io****@example.com', 'title' => ''], 'SourceUid' => ['description' => 'The ID of the Alibaba Cloud account that distributes the device.'."\n" ."\n" .'You can only distribute devices across regions and instances by using the same Alibaba cloud account. The value of this parameter is the same as the value of the **TargetUid** parameter.'."\n", 'type' => 'string', 'example' => '198***', 'title' => ''], 'GmtModified' => ['description' => 'The time when the distribution task was modified.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1581595942222', 'title' => ''], 'TargetInstanceId' => ['description' => 'The ID of the destination instance.'."\n", 'type' => 'string', 'example' => 'iot-cn-09k***', 'title' => ''], 'TargetUid' => ['description' => 'The Alibaba Cloud account to which the device is distributed.'."\n" ."\n" .'You can only distribute devices across regions and instances by using the same Alibaba cloud account. The value of this parameter is the same as the value of the **TargetUid** parameter.'."\n", 'type' => 'string', 'example' => '198***', 'title' => ''], 'ProductKey' => ['description' => 'The **ProductKey** of the product to which the device belongs.'."\n", 'type' => 'string', 'example' => 'a1BwAGV***', 'title' => ''], 'TargetRegion' => ['description' => 'The destination region to which the device is distributed.'."\n", 'type' => 'string', 'example' => 'cn-shenzhen', 'title' => ''], 'GmtCreate' => ['description' => 'The time when the distribution task was created.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1581595942000', 'title' => ''], 'TargetInstanceName' => ['description' => 'The name of the destination instance.'."\n", 'type' => 'string', 'example' => 'newinstance', 'title' => ''], 'SourceInstanceName' => ['description' => 'The name of the source instance.'."\n", 'type' => 'string', 'example' => 'myproInstance', 'title' => ''], 'SourceRegion' => ['description' => 'The source region in which the device resides.'."\n", 'type' => 'string', 'example' => 'cn-shanghai', 'title' => ''], 'SourceInstanceId' => ['description' => 'The ID of the source instance.'."\n", 'type' => 'string', 'example' => 'iot-cn-6ja***', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Total\\": 10,\\n \\"Info\\": {\\n \\"items\\": [\\n {\\n \\"DeviceName\\": \\"mydevice\\",\\n \\"TargetAliyunId\\": \\"io****@example.com\\",\\n \\"SourceUid\\": \\"198***\\",\\n \\"GmtModified\\": 1581595942222,\\n \\"TargetInstanceId\\": \\"iot-cn-09k***\\",\\n \\"TargetUid\\": \\"198***\\",\\n \\"ProductKey\\": \\"a1BwAGV***\\",\\n \\"TargetRegion\\": \\"cn-shenzhen\\",\\n \\"GmtCreate\\": 1581595942000,\\n \\"TargetInstanceName\\": \\"newinstance\\",\\n \\"SourceInstanceName\\": \\"myproInstance\\",\\n \\"SourceRegion\\": \\"cn-shanghai\\",\\n \\"SourceInstanceId\\": \\"iot-cn-6ja***\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"\\nE55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\n\\n 10\\n \\n \\n cn-shenzhen\\n myproInstance\\n io****@example.com\\n 198***\\n 1581595942222\\n iot-cn-09k***\\n 198***\\n cn-shanghai\\n iot-cn-6ja***\\n 1581595942000\\n newinstance\\n a1BwAGV***\\n mydevice\\n \\n \\n\\ntrue\\n","errorExample":""}]', 'title' => 'ListDistributedDevice', 'summary' => 'Queries distributed devices.', 'description' => '* This operation can be called only by using the following **endpoint**: `iot.cn-shanghai.aliyuncs.com`.'."\n" ."\n" .'* Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n" ."\n" .'* Multiple Alibaba Cloud accounts can run a maximum of 200 QPS at the same time.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListDistributedDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'ListDistributedProduct' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Maximum value: 200.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '200', 'minimum' => '1', 'example' => '5', 'title' => ''], ], [ 'name' => 'SourceInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the source instance to which the product belongs.'."\n" ."\n" .'* The IDs of public instances in different regions:'."\n" ."\n" .' * China (Shanghai): iotx-oxssharez200.'."\n" .' * Japan (Tokyo): iotx-oxssharez300.'."\n" .' * Singapore (Singapore): iotx-oxssharez400.'."\n" .' * US (Silicon Valley): iotx-oxssharez500.'."\n" .' * US (Virginia): iotx-oxssharez600.'."\n" .' * Germany (Frankfurt): iotx-oxssharez700.'."\n" ."\n" .'* To view the ID of an Enterprise Edition instance, perform the following steps:'."\n" ."\n" .' 1\\. Log on to the [IoT Platform console](https://iot.console.aliyun.com/). In the top navigation bar, select the region where the instance resides from the drop-down list.'."\n" ."\n" .' 2\\. On the **Overview** page, view the **ID** of the instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot-060***', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'TargetInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the destination instance to which the product is distributed. For more information about instance IDs, see the description of the **SourceInstanceId** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot-cn-6ja***', 'title' => ''], ], [ 'name' => 'TargetUid', 'in' => 'query', 'schema' => ['description' => 'The ID of the Alibaba Cloud account to which the product belongs. You can log on to the IoT Platform console, click the profile picture, and then view the **account ID** on the **Security Settings** page.'."\n", 'type' => 'string', 'required' => false, 'example' => '198***', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', 'schema' => ['description' => 'The number of the page to return. Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'minimum' => '1', 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The products returned if the call is successful. For more information, see the "**Info**" section of this topic.'."\n", 'type' => 'object', 'properties' => [ 'Total' => ['description' => 'The total number of returned products.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'Info' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'items' => [ 'description' => 'The information about the product.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'TargetRegion' => ['description' => 'The destination region to which the product is distributed.'."\n", 'type' => 'string', 'example' => 'cn-shenzhen', 'title' => ''], 'ProductKey' => ['description' => 'The **ProductKey** of the product.'."\n", 'type' => 'string', 'example' => 'a1BwAGV****', 'title' => ''], 'TargetUid' => ['description' => 'The ID of the Alibaba Cloud account to which the product is distributed.'."\n" ."\n" .'You can distribute devices across regions and instances only within the same Alibaba cloud account. The value of this parameter is the same as the value of the **TargetUid** parameter.'."\n", 'type' => 'string', 'example' => '198***', 'title' => ''], 'TargetInstanceName' => ['description' => 'The name of the destination instance to which the product is distributed.'."\n", 'type' => 'string', 'example' => 'newinstance', 'title' => ''], 'TargetAliyunId' => ['description' => 'The name of the Alibaba Cloud account to which the product is distributed.'."\n", 'type' => 'string', 'example' => 'io****@example.com', 'title' => ''], 'GmtCreate' => ['description' => 'The time when the distribution task was created.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1581595942', 'title' => ''], 'SourceInstanceName' => ['description' => 'The name of the source instance to which the product belongs.'."\n", 'type' => 'string', 'example' => 'myproInstance', 'title' => ''], 'SourceUid' => ['description' => 'The ID of the Alibaba Cloud account that is used to distribute the product. You can distribute products across regions and instances only within the same Alibaba cloud account. The value of this parameter is the same as the value of the **TargetUid** parameter.'."\n", 'type' => 'string', 'example' => '198***', 'title' => ''], 'TargetInstanceId' => ['description' => 'The ID of the destination instance to which the product is distributed.'."\n", 'type' => 'string', 'example' => 'iot-cn-09k***', 'title' => ''], 'SourceRegion' => ['description' => 'The source region to which the product belongs.'."\n", 'type' => 'string', 'example' => 'cn-shanghai', 'title' => ''], 'SourceInstanceId' => ['description' => 'The ID of the source instance to which the product belongs.'."\n", 'type' => 'string', 'example' => 'iot-cn-6ja***', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Total\\": 10,\\n \\"Info\\": {\\n \\"items\\": [\\n {\\n \\"TargetRegion\\": \\"cn-shenzhen\\",\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"TargetUid\\": \\"198***\\",\\n \\"TargetInstanceName\\": \\"newinstance\\",\\n \\"TargetAliyunId\\": \\"io****@example.com\\",\\n \\"GmtCreate\\": 1581595942,\\n \\"SourceInstanceName\\": \\"myproInstance\\",\\n \\"SourceUid\\": \\"198***\\",\\n \\"TargetInstanceId\\": \\"iot-cn-09k***\\",\\n \\"SourceRegion\\": \\"cn-shanghai\\",\\n \\"SourceInstanceId\\": \\"iot-cn-6ja***\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"\\nE55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\n\\n 10\\n \\n \\n cn-shenzhen\\n myproInstance\\n io****@example.com\\n 1581595942\\n 198***\\n newinstance\\n iot-cn-09k***\\n 198***\\n cn-shanghai\\n iot-cn-6ja***\\n a1BwAGV****\\n \\n \\n\\ntrue\\n","errorExample":""}]', 'title' => 'ListDistributedProduct', 'summary' => 'Queries distributed products.', 'description' => 'You can call this operation only by using the following **endpoint**: `iot.cn-shanghai.aliyuncs.com`.'."\n" ."\n" .'## QPS limits'."\n" ."\n" .'You can call this API operation up to five times per second per account. '."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListDistributedProduct', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'ListJob' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'Instance ID.'."\n" ."\n" .'You can view the current instance ID on the **Instance Overview** page in the IoT Platform console. If an ID exists, you must specify it. Otherwise, the invocation fails.'."\n" ."\n" .'> If your public instance does not have an ID, see [How to Obtain an Instance ID](~~267533~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'Status', 'in' => 'query', 'schema' => ['description' => 'Task Status. Valid values:'."\n" ."\n" .'- **INITIALIZING**: Initialization.'."\n" .'- **WAITING**: Waiting for schedule.'."\n" .'- **IN_PROGRESS**: Executing.'."\n" .'- **COMPLETED**: Completed.'."\n" .'- **CANCELLING**: Canceling.'."\n" .'- **CANCELLED**: Canceled.'."\n" .'- **REMOVING**: Deleting.'."\n" .'- **TIMED_OUT**: Timed out.', 'type' => 'string', 'required' => false, 'example' => 'IN_PROGRESS', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of jobs displayed per page. Maximum value: 50.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '20', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', 'schema' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => 'BF449394-1C7D-4144-B7C4-9C3FA29F8B64', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [error codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'PageSize' => ['description' => 'The number of jobs on the current page.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], 'Total' => ['description' => 'The total number of returned jobs.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], 'Page' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'data' => [ 'description' => 'When the call succeeds, the detailed job information is returned. For more information, see the following Parameter Guide.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Type' => ['description' => 'Task Type.', 'type' => 'string', 'example' => 'CUSTOM_JOB', 'title' => ''], 'Status' => ['description' => 'Task Status.', 'type' => 'string', 'example' => 'COMPLETED', 'title' => ''], 'JobName' => ['description' => 'Task Name.', 'type' => 'string', 'example' => 'MyTestJobOEfwJN', 'title' => ''], 'Description' => ['description' => 'The description of the job.', 'type' => 'string', 'example' => 'TestDescription', 'title' => ''], 'UtcModified' => ['description' => 'Updated At of the job information.', 'type' => 'string', 'example' => '2019-05-21T17:15:46.000Z', 'title' => ''], 'JobId' => ['description' => 'Job ID. The globally unique identifier of the job.', 'type' => 'string', 'example' => 'Z20nyanW5****010001', 'title' => ''], 'UtcCreate' => ['description' => 'Creation Time of the job.', 'type' => 'string', 'example' => '2019-05-21T11:45:37.000Z', 'title' => ''], 'ScheduledTime' => ['description' => 'The scheduled time of the job, in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1557062301656', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BF449394-1C7D-4144-B7C4-9C3FA29F8B64\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageSize\\": 5,\\n \\"Total\\": 20,\\n \\"Page\\": 1,\\n \\"Data\\": {\\n \\"data\\": [\\n {\\n \\"Type\\": \\"CUSTOM_JOB\\",\\n \\"Status\\": \\"COMPLETED\\",\\n \\"JobName\\": \\"MyTestJobOEfwJN\\",\\n \\"Description\\": \\"TestDescription\\",\\n \\"UtcModified\\": \\"2019-05-21T17:15:46.000Z\\",\\n \\"JobId\\": \\"Z20nyanW5****010001\\",\\n \\"UtcCreate\\": \\"2019-05-21T11:45:37.000Z\\",\\n \\"ScheduledTime\\": 1557062301656\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'List Jobs', 'summary' => 'Invoke this API to query the job list under an Alibaba Cloud account.', 'description' => '## How-To'."\n" ."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account when calling this API is 5.'."\n" ."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking the API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters documentation](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListJob'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'ListOTAFirmware' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the OTA update package belongs.'."\n" ."\n" .'If you specify this parameter, IoT Platform returns the OTA update packages of the specified product. If you do not specify this parameter, IoT Platform returns the OTA update packages of the current Alibaba Cloud account.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a19mzPZ****', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Maximum value: 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '10', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', 'schema' => ['description' => 'The number of the page to return. Pages start from page 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1', 'title' => ''], ], [ 'name' => 'DestVersion', 'in' => 'query', 'schema' => ['description' => 'The version number of the OTA update package. If you specify this parameter, only the OTA update package of the specified version number is returned.'."\n", 'type' => 'string', 'required' => false, 'example' => '4.0.0', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'CurrentPage' => ['description' => 'The number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'A01829CE-75A1-4920-B775-921146A1AB79', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'PageCount' => ['description' => 'The total number of pages.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Total' => ['description' => 'The total number of OTA update packages.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'FirmwareInfo' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'SimpleFirmwareInfo' => [ 'description' => 'The OTA update packages returned if the call is successful. For more information, see SimpleFirmwareInfo.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ModuleName' => ['description' => 'The name of the module.'."\n", 'type' => 'string', 'example' => 'module1234', 'title' => ''], 'Type' => ['description' => 'The type of the OTA update package. Valid values:'."\n" ."\n" .'* **0**: complete firmware'."\n" .'* **1**: differential firmware'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'Status' => ['description' => 'The status of the OTA update package. Valid values:'."\n" ."\n" .'* **0**: unverified'."\n" .'* **1**: verified'."\n" .'* **2**: verifying'."\n" .'* **3**: failed to be verified'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'ProductName' => ['description' => 'The name of the product to which the OTA update package belongs.'."\n", 'type' => 'string', 'example' => 'MyProduct', 'title' => ''], 'UtcCreate' => ['description' => 'The time when the update package was created. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2019-12-28T02:42:22.000Z', 'title' => ''], 'FirmwareSize' => ['description' => 'The size of the update package. Unit: bytes.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '924', 'title' => ''], 'FirmwareName' => ['description' => 'The name of the OTA update package.'."\n", 'type' => 'string', 'example' => 't3q5rkNm', 'title' => ''], 'FirmwareSign' => ['description' => 'The signature of the OTA update package.'."\n", 'type' => 'string', 'example' => '3d04ab6462633508606e5f3daac8****', 'title' => ''], 'ProductKey' => ['description' => 'The ProductKey of the product to which the OTA update package belongs.'."\n", 'type' => 'string', 'example' => 'a19mzPZ****', 'title' => ''], 'UtcModified' => ['description' => 'The time when the update task was last modified. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2019-12-28T02:42:22.000Z', 'title' => ''], 'SrcVersion' => ['description' => 'The version number of the original update package to be updated.'."\n" ."\n" .'> The return value is null if you perform a full update.'."\n", 'type' => 'string', 'example' => 'V1.0.0', 'title' => ''], 'FirmwareDesc' => ['description' => 'The description of the OTA update package.'."\n", 'type' => 'string', 'example' => 'firmwareDesc', 'title' => ''], 'SignMethod' => ['description' => 'The signature method of the OTA update package.'."\n", 'type' => 'string', 'example' => 'MD5', 'title' => ''], 'DestVersion' => ['description' => 'The version number of the OTA update package.'."\n", 'type' => 'string', 'example' => '4.0.0', 'title' => ''], 'FirmwareId' => ['description' => 'The unique ID of the OTA update package.'."\n", 'type' => 'string', 'example' => 'UfuxnwygsuSkVE0VCN****0100', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"CurrentPage\\": 1,\\n \\"RequestId\\": \\"A01829CE-75A1-4920-B775-921146A1AB79\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageSize\\": 10,\\n \\"PageCount\\": 1,\\n \\"Total\\": 1,\\n \\"FirmwareInfo\\": {\\n \\"SimpleFirmwareInfo\\": [\\n {\\n \\"ModuleName\\": \\"module1234\\",\\n \\"Type\\": 0,\\n \\"Status\\": 0,\\n \\"ProductName\\": \\"MyProduct\\",\\n \\"UtcCreate\\": \\"2019-12-28T02:42:22.000Z\\",\\n \\"FirmwareSize\\": 924,\\n \\"FirmwareName\\": \\"t3q5rkNm\\",\\n \\"FirmwareSign\\": \\"3d04ab6462633508606e5f3daac8****\\",\\n \\"ProductKey\\": \\"a19mzPZ****\\",\\n \\"UtcModified\\": \\"2019-12-28T02:42:22.000Z\\",\\n \\"SrcVersion\\": \\"V1.0.0\\",\\n \\"FirmwareDesc\\": \\"firmwareDesc\\",\\n \\"SignMethod\\": \\"MD5\\",\\n \\"DestVersion\\": \\"4.0.0\\",\\n \\"FirmwareId\\": \\"UfuxnwygsuSkVE0VCN****0100\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n1\\n10\\nA01829CE-75A1-4920-B775-921146A1AB79\\n\\n \\n 1.0.0\\n 3d04ab6462633508606e5f3daac8****\\n a19mzPZ****\\n 0\\n 2019-12-28T02:42:22.000Z\\n MD5\\n 2019-12-28T02:42:22.000Z\\n 924\\n 0\\n UfuxnwygsuSkVE0VCN****0100\\n firmwareDesc\\n 4.0.0\\n MyProduct\\n t3q5rkNm\\n module1234\\n \\n\\n1\\ntrue\\n1\\n","errorExample":""}]', 'title' => 'ListOTAFirmware', 'summary' => 'Queries over-the-air (OTA) update packages.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListOTAFirmware', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'ListOTAJobByDevice' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'FirmwareId', 'in' => 'query', 'schema' => ['description' => 'The ID of the update package. The ID is the unique identifier for the update package.'."\n" ."\n" .'An update package ID is returned when you call the [CreateOTAFirmware](~~147311~~) operation to create the update package. You can call the [ListOTAFirmware](~~147450~~) operation and view the update package ID in the response.'."\n", 'type' => 'string', 'required' => true, 'example' => 'FJFx8JzpnhpIsKftRjjm03****', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Maximum value: 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '10', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a19mzPZ****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The DeviceName of the device.'."\n", 'type' => 'string', 'required' => true, 'example' => 'light1', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', 'schema' => ['description' => 'The number of the page to return. Pages start from page 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'CurrentPage' => ['description' => 'The number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'A01829CE-75A1-4920-B775-921146A1AB79', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => 'FirmwareId is mandatory for this action', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'MissingFirmwareId', 'title' => ''], 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'PageCount' => ['description' => 'The total number of pages.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Total' => ['description' => 'The total number of update packages returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'SimpleOTAJobInfo' => [ 'description' => 'The update batch information returned if the call is successful. For more information, see the following **SimpleOTAJobInfo** parameter.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ProductKey' => ['description' => 'The ProductKey of the product to which the update package belongs.'."\n", 'type' => 'string', 'example' => 'a19mzPZ****', 'title' => ''], 'JobStatus' => ['description' => 'The status of the update batch. Valid values:'."\n" ."\n" .'* **IN_PROGRESS**: The update batch is running.'."\n" .'* **COMPLETE**: The update batch is completed.'."\n" .'* **CANCELED**: The update batch is canceled.'."\n", 'type' => 'string', 'example' => 'COMPLETED', 'title' => ''], 'UtcStartTime' => ['description' => 'The start time of the update batch. The time is in the UTC format.'."\n", 'type' => 'string', 'example' => '2019-12-29T02:43:10.000Z', 'title' => ''], 'UtcModified' => ['description' => 'The time when the task was last modified. The time is in UTC.'."\n", 'type' => 'string', 'example' => '2019-12-29T02:43:10.000Z', 'title' => ''], 'JobId' => ['description' => 'The ID of the update batch.'."\n", 'type' => 'string', 'example' => 'HvKuBpuk3rdk6E92CP****', 'title' => ''], 'UtcCreate' => ['description' => 'The time when the update batch was created. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2019-12-28T02:43:10.000Z', 'title' => ''], 'SelectionType' => ['description' => 'The update policy of the update batch. Valid values:'."\n" ."\n" .'* DYNAMIC: dynamic update. This value is returned if you call the [CreateOTADynamicUpgradeJob](~~147887~~) API operation to create an update batch.'."\n" .'* STATIC: static update. This value is returned if you call the [CreateOTAStaticUpgradeJob](~~147496~~) API operation to create an update batch.'."\n", 'type' => 'string', 'example' => 'STATIC', 'title' => ''], 'JobType' => ['description' => 'The type of the task. Valid values:'."\n" ."\n" .'* **VERFIY_FIRMWARE**: update package verification.'."\n" .'* **UPGRADE_FIRMWARE**: batch update.'."\n", 'type' => 'string', 'example' => 'UPGRADE_FIRMWARE', 'title' => ''], 'TargetSelection' => ['description' => 'The scope of the update. Valid values: '."\n" ."\n" .'- **ALL**: updates all devices.'."\n" .'- **SPECIFIC**: updates specified devices.'."\n" .'- **GRAY**: performs a phased update.'."\n" ."\n" .'> The value ALL is returned if you call the [CreateOTADynamicUpgradeJob](/help/en/iot-platform/latest/av6dui) API operation to create an update batch.', 'type' => 'string', 'example' => 'ALL', 'title' => ''], 'UtcEndTime' => ['description' => 'The end time of the update batch. The time is displayed in UTC.'."\n" ."\n" .'> This parameter is returned only after the update batch is completed.'."\n", 'type' => 'string', 'example' => '2019-12-29T02:43:10.000Z', 'title' => ''], 'FirmwareId' => ['description' => 'The ID of the update package.'."\n", 'type' => 'string', 'example' => 'FJFx8JzpnhpIsKftRjjm03****', 'title' => ''], 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'OtaTagDTO' => [ 'description' => 'The tags of the update batch.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The key of each tag.'."\n", 'type' => 'string', 'example' => 'key1', 'title' => ''], 'Value' => ['description' => 'The value of the tag.'."\n", 'type' => 'string', 'example' => 'value1', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"CurrentPage\\": 1,\\n \\"RequestId\\": \\"A01829CE-75A1-4920-B775-921146A1AB79\\",\\n \\"ErrorMessage\\": \\"FirmwareId is mandatory for this action\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"MissingFirmwareId\\",\\n \\"PageSize\\": 10,\\n \\"PageCount\\": 1,\\n \\"Total\\": 1,\\n \\"Data\\": {\\n \\"SimpleOTAJobInfo\\": [\\n {\\n \\"ProductKey\\": \\"a19mzPZ****\\",\\n \\"JobStatus\\": \\"COMPLETED\\",\\n \\"UtcStartTime\\": \\"2019-12-29T02:43:10.000Z\\",\\n \\"UtcModified\\": \\"2019-12-29T02:43:10.000Z\\",\\n \\"JobId\\": \\"HvKuBpuk3rdk6E92CP****\\",\\n \\"UtcCreate\\": \\"2019-12-28T02:43:10.000Z\\",\\n \\"SelectionType\\": \\"STATIC\\",\\n \\"JobType\\": \\"UPGRADE_FIRMWARE\\",\\n \\"TargetSelection\\": \\"ALL\\",\\n \\"UtcEndTime\\": \\"2019-12-29T02:43:10.000Z\\",\\n \\"FirmwareId\\": \\"FJFx8JzpnhpIsKftRjjm03****\\",\\n \\"Tags\\": {\\n \\"OtaTagDTO\\": [\\n {\\n \\"Key\\": \\"key1\\",\\n \\"Value\\": \\"value1\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n\\n1\\n\\n \\n STATIC\\n SPECIFIC\\n UPGRADE_FIRMWARE\\n FJFx8JzpnhpIsKftRjjm03****\\n 2019-12-28T02:43:10.000Z\\n a19mzPZ****\\n HvKuBpuk3rdk6E92CPQN02****\\n 2019-12-28T02:43:10.000Z\\n IN_PROGRESS\\n 2019-12-28T02:43:10.000Z\\n \\n\\n10\\n5D58AC86-D5BF-4B39-834E-913E7F2C985D\\n1\\ntrue\\n1\\n","errorExample":""}]', 'title' => 'ListOTAJobByDevice', 'summary' => 'Queries all the update batches of a device by update package.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListOTAJobByDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'ListOTAJobByFirmware' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'FirmwareId', 'in' => 'query', 'schema' => ['description' => 'The ID of the update package.'."\n" ."\n" .'An update package ID is returned when you call the [CreateOTAFirmware](~~147311~~) operation to create the update package.'."\n" ."\n" .'You can call the [ListOTAFirmware](~~147450~~) operation and view the update package ID in the response.'."\n", 'type' => 'string', 'required' => true, 'example' => 'FJFx8JzpnhpIsKftRjjm03****', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Maximum value: 200.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '10', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', 'schema' => ['description' => 'The number of the page to return. Pages start from page 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'CurrentPage' => ['description' => 'The number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '5D58AC86-D5BF-4B39-834E-913E7F2C985D', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'PageCount' => ['description' => 'The total number of pages.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Total' => ['description' => 'The total number of update jobs returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'SimpleOTAJobInfo' => [ 'description' => 'The update batch information returned if the call is successful. For more information, see **SimpleOTATaskInfo**.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ProductKey' => ['description' => 'The ProductKey of the product to which the update package belongs.'."\n", 'type' => 'string', 'example' => 'a19mzPZ****', 'title' => ''], 'JobStatus' => ['description' => 'The status of the update batch.'."\n" ."\n" .'* **PLANNED**: The update batch is being planned. The batch is created, but the scheduled time has not arrived. This parameter is returned only if you perform a static update.'."\n" .'* **IN_PROGRESS**: The update batch is running.'."\n" .'* **COMPLETE**: The update batch is completed.'."\n" .'* **CANCELED**: The update batch is canceled.'."\n", 'type' => 'string', 'example' => 'IN_PROGRESS', 'title' => ''], 'UtcStartTime' => ['description' => 'The start time of the update batch. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2019-12-28T02:43:10.000Z', 'title' => ''], 'UtcModified' => ['description' => 'The time when the update batch was last modified. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2019-12-28T02:43:10.000Z', 'title' => ''], 'JobId' => ['description' => 'The ID of the update batch.'."\n", 'type' => 'string', 'example' => 'HvKuBpuk3rdk6E92CP****0200', 'title' => ''], 'UtcCreate' => ['description' => 'The time when the update batch was created. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2019-12-28T02:43:10.000Z', 'title' => ''], 'SelectionType' => ['description' => 'The update policy of the update batch. Valid values:'."\n" ."\n" .'* **DYNAMIC**: dynamic update. This value is returned if you call the [CreateOTADynamicUpgradeJob](~~147887~~) API operation to create an update batch.'."\n" .'* **STATIC**: static update. This value is returned if you call the [CreateOTAStaticUpgradeJob](~~147496~~) API operation to create an update batch.'."\n", 'type' => 'string', 'example' => 'STATIC', 'title' => ''], 'JobType' => ['description' => 'The type of the batch. Valid values:'."\n" ."\n" .'* **VERFIY_FIRMWARE**: update package verification.'."\n" .'* **UPGRADE_FIRMWARE**: batch update.'."\n", 'type' => 'string', 'example' => 'UPGRADE_FIRMWARE', 'title' => ''], 'TargetSelection' => ['description' => 'The scope of the update batch. Valid values: '."\n" ."\n" .'- **ALL**: updates all devices.'."\n" .'- **SPECIFIC**: updates specified devices.'."\n" .'- **GRAY**: performs a phased update.'."\n" ."\n" .'> The value ALL is returned if you call the [CreateOTADynamicUpgradeJob](/help/en/iot-platform/latest/av6dui) API operation to create an update batch.', 'type' => 'string', 'example' => 'SPECIFIC', 'title' => ''], 'UtcEndTime' => ['description' => 'The end time of the update batch. The time is displayed in UTC.'."\n" ."\n" .'This parameter is returned only after the update batch is completed.'."\n", 'type' => 'string', 'example' => '2019-12-29T02:43:10.000Z', 'title' => ''], 'FirmwareId' => ['description' => 'The ID of the update package.'."\n", 'type' => 'string', 'example' => 'UfuxnwygsuSkVE0VCN****0100', 'title' => ''], 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'OtaTagDTO' => [ 'description' => 'The tags of the update batch.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The key of each tag.'."\n", 'type' => 'string', 'example' => 'key1', 'title' => ''], 'Value' => ['description' => 'The value of the tag.'."\n", 'type' => 'string', 'example' => 'value1', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"CurrentPage\\": 1,\\n \\"RequestId\\": \\"5D58AC86-D5BF-4B39-834E-913E7F2C985D\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageSize\\": 10,\\n \\"PageCount\\": 1,\\n \\"Total\\": 1,\\n \\"Data\\": {\\n \\"SimpleOTAJobInfo\\": [\\n {\\n \\"ProductKey\\": \\"a19mzPZ****\\",\\n \\"JobStatus\\": \\"IN_PROGRESS\\",\\n \\"UtcStartTime\\": \\"2019-12-28T02:43:10.000Z\\",\\n \\"UtcModified\\": \\"2019-12-28T02:43:10.000Z\\",\\n \\"JobId\\": \\"HvKuBpuk3rdk6E92CP****0200\\",\\n \\"UtcCreate\\": \\"2019-12-28T02:43:10.000Z\\",\\n \\"SelectionType\\": \\"STATIC\\",\\n \\"JobType\\": \\"UPGRADE_FIRMWARE\\",\\n \\"TargetSelection\\": \\"SPECIFIC\\",\\n \\"UtcEndTime\\": \\"2019-12-29T02:43:10.000Z\\",\\n \\"FirmwareId\\": \\"UfuxnwygsuSkVE0VCN****0100\\",\\n \\"Tags\\": {\\n \\"OtaTagDTO\\": [\\n {\\n \\"Key\\": \\"key1\\",\\n \\"Value\\": \\"value1\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n 1\\r\\n \\r\\n \\r\\n STATIC\\r\\n SPECIFIC\\r\\n UPGRADE_FIRMWARE\\r\\n yLYuCqfqQNQ1JOqkDa****0100\\r\\n 2019-12-28T02:43:10.000Z\\r\\n 2019-12-29T02:43:10.000Z\\r\\n a19mzPZ****\\r\\n HvKuBpuk3rdk6E92CP****0200\\r\\n 2019-12-28T02:43:10.000Z\\r\\n IN_PROGRESS\\r\\n 2019-12-28T02:43:10.000Z\\r\\n \\r\\n \\r\\n 10\\r\\n 5D58AC86-D5BF-4B39-834E-913E7F2C985D\\r\\n 1\\r\\n true\\r\\n 1\\r\\n","errorExample":""}]', 'title' => 'ListOTAJobByFirmware', 'summary' => 'Queries the update batches of an update package.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListOTAJobByFirmware', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'ListOTAModuleByProduct' => [ 'methods' => ['get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1uctKe****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '74C2BB8D-1D6F-41F5-AE68-6B2310883F63', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The OTA modules returned if the call is successful.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ModuleName' => ['description' => 'The name of the OTA module.'."\n", 'type' => 'string', 'example' => 'barcodeScanner', 'title' => ''], 'ProductKey' => ['description' => 'The ProductKey of the product.'."\n", 'type' => 'string', 'example' => 'aluctKe****', 'title' => ''], 'GmtCreate' => ['description' => 'The time when the OTA module was created. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2020-10-13T09:46Z', 'title' => ''], 'AliasName' => ['description' => 'The alias of the OTA module.'."\n", 'type' => 'string', 'example' => '条码扫描仪', 'title' => ''], 'GmtModified' => ['description' => 'The last time when the OTA module was updated. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2020-10-19T09:46Z', 'title' => ''], 'Desc' => ['description' => 'The description of the OTA module.'."\n", 'type' => 'string', 'example' => '这个模块对应于条码扫描仪的固件', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"74C2BB8D-1D6F-41F5-AE68-6B2310883F63\\",\\n \\"Success\\": true,\\n \\"Data\\": [\\n {\\n \\"ModuleName\\": \\"barcodeScanner\\",\\n \\"ProductKey\\": \\"aluctKe****\\",\\n \\"GmtCreate\\": \\"2020-10-13T09:46Z\\",\\n \\"AliasName\\": \\"条码扫描仪\\",\\n \\"GmtModified\\": \\"2020-10-19T09:46Z\\",\\n \\"Desc\\": \\"这个模块对应于条码扫描仪的固件\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', 'title' => 'ListOTAModuleByProduct', 'summary' => 'Queries all OTA modules of a product.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListOTAModuleByProduct', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'ListOTAModuleVersionsByDevice' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. A maximum of 200 entries can be displayed on each page.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '10', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the device belongs.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'aluctKe****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The DeviceName of the device to be queried.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **ProductKey** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'newdevice', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the device. The device ID is issued by IoT Platform.'."\n" ."\n" .'> If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. The **IotId** parameter specifies a globally unique identifier (GUID) of the device, which corresponds to a combination of **ProductKey** and **DeviceName**. If you specify both **IotId** and the combination of **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', 'schema' => ['description' => 'The number of the page to return. Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'CurrentPage' => ['description' => 'The current page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '291438BA-6E10-4C4C-B761-243B9A0D324F', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'PageSize' => ['description' => 'The number of module versions returned on each page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'PageCount' => ['description' => 'The total number of pages returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Total' => ['description' => 'The total number of module versions that was submitted by the device.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'SimpleOTAModuleInfo' => [ 'description' => 'The module version information returned if the call is successful. The information was submitted by the device. For more information, see the **SimpleOTAModuleInfo** parameter in this table.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ModuleName' => ['description' => 'The name of the OTA module.'."\n", 'type' => 'string', 'example' => 'barcodeScanner', 'title' => ''], 'ProductKey' => ['description' => 'The **ProductKey** of the product to which the device belongs.'."\n", 'type' => 'string', 'example' => 'aluctKe****', 'title' => ''], 'DeviceName' => ['description' => 'The DeviceName of the device.'."\n", 'type' => 'string', 'example' => 'newDevice', 'title' => ''], 'ModuleVersion' => ['description' => 'The module version that was submitted by the device.'."\n", 'type' => 'string', 'example' => '1.0', 'title' => ''], 'IotId' => ['description' => 'The ID of the device.'."\n", 'type' => 'string', 'example' => 'QjIFT***000101', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"CurrentPage\\": 1,\\n \\"RequestId\\": \\"291438BA-6E10-4C4C-B761-243B9A0D324F\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageSize\\": 10,\\n \\"PageCount\\": 1,\\n \\"Total\\": 10,\\n \\"Data\\": {\\n \\"SimpleOTAModuleInfo\\": [\\n {\\n \\"ModuleName\\": \\"barcodeScanner\\",\\n \\"ProductKey\\": \\"aluctKe****\\",\\n \\"DeviceName\\": \\"newDevice\\",\\n \\"ModuleVersion\\": \\"1.0\\",\\n \\"IotId\\": \\"QjIFT***000101\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n67AF7881-704C-40CC-B296-72F91380A117\\ntrue\\n\\n\\n10\\n1\\n1\\n1\\n\\n \\n QjIFT***000101\\n 1.6940.1\\n default\\n a14***S\\n newDevice\\n \\n\\n","errorExample":""}]', 'title' => 'ListOTAModuleVersionsByDevice', 'summary' => 'Queries the version information of the over-the-air (OTA) modules that are submitted by a device.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListOTAModuleVersionsByDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'ListOTATaskByJob' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n" .'>* If no **Overview** page or ID is generated for your instance, you do not need to configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Maximum value: 100.'."\n" ."\n\n" ."\n" .'> The product of the value of the **CurrentPage** parameter and the value of the **PageSize** parameter must be less than or equal to 100,000.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'TaskStatus', 'in' => 'query', 'schema' => ['description' => 'If you specify a value for this parameter, only the update tasks that are in the specified state are queried. Valid values:'."\n" ."\n" .'* **CONFIRM**: The update task is pending confirmation.'."\n" .'* **QUEUED**: The update notification is to be pushed.'."\n" .'* **NOTIFIED**: The update notification is pushed to the device.'."\n" .'* **IN_PROGRESS**: The update task is in progress.'."\n" .'* **SUCCEEDED**: The update is successful.'."\n" .'* **FAILED**: The update failed.'."\n" .'* **CANCELED**: The update batch is canceled.'."\n" ."\n" .'If you do not specify a value for this parameter, all update tasks of the specified batch are queried.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FAILED', 'title' => ''], ], [ 'name' => 'JobId', 'in' => 'query', 'schema' => ['description' => 'The ID of the update batch. This ID uniquely identifies the update batch. You can obtain the ID from the value of the **JobId** parameter that is returned after you call the [CreateOTAVerifyJob](~~147480~~), [CreateOTAStaticUpgradeJob](~~147496~~), or [CreateOTADynamicUpgradeJob](~~147887~~) operation. You can also view the batch ID on the **Firmware Details** page of the IoT Platform console.'."\n", 'type' => 'string', 'required' => true, 'example' => '7glPHmaDYLAYMD1HHutT02****', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', 'schema' => ['description' => 'The number of the page to return. Pages start from page 1.'."\n" ."\n" .'> The product of the value of the **CurrentPage** parameter and the value of the **PageSize** parameter must be less than or equal to 100,000.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'DeviceNames', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'Specifies a list of device names to query.'."\n" ."\n" .'> - You can specify up to 50 device names.'."\n" .'- If you specify this parameter, you do not need to specify **PageSize** and **CurrentPage**. If you specify **DeviceNames.N**, **PageSize**, and **CurrentPage** at the same time, **DeviceNames.N** takes precedence.', 'type' => 'array', 'items' => ['type' => 'string', 'description' => 'The names of the devices that you want to query.'."\n" ."\n" .'> * You can specify up to 50 device names.'."\n" .'>* If you specify a value for this parameter, you do not need to configure the **PageSize** or **CurrentPage** parameter. If you specify values for the **DeviceNames. N**, **PageSize**, and **CurrentPage** parameters at the same time, the value of the **DeviceNames.N** parameter is used.', 'title' => '', 'example' => ''], 'required' => false, 'example' => 'device1', 'maxItems' => 50, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'CurrentPage' => ['description' => 'The number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'A59D3BE1-E9A3-43F3-9B50-B7C8DE165D9B', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'PageCount' => ['description' => 'The total number of pages returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Total' => ['description' => 'The total number of update tasks.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'SimpleOTATaskInfo' => [ 'description' => 'The update task information returned if the call is successful. For more information, see **SimpleOTATaskInfo**.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Timeout' => ['description' => 'The timeout period of the device update. Unit: minutes.'."\n" ."\n" .'> If no timeout period is specified for the update batch, the return value is null.'."\n", 'type' => 'string', 'example' => '1440', 'title' => ''], 'ProductName' => ['description' => 'The name of the product to which the device belongs.'."\n", 'type' => 'string', 'example' => 'MyProduct', 'title' => ''], 'Progress' => ['description' => 'The current update progress.'."\n", 'type' => 'string', 'example' => '0.00', 'title' => ''], 'DeviceName' => ['description' => 'The name of the device.'."\n", 'type' => 'string', 'example' => 'testDevice2', 'title' => ''], 'UtcCreate' => ['description' => 'The time when the update task was created. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2019-11-04T03:38:22.000Z', 'title' => ''], 'ProductKey' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n", 'type' => 'string', 'example' => 'a1GUfrM****', 'title' => ''], 'TaskStatus' => ['description' => 'The update status of the device.'."\n" ."\n" .'* **CONFIRM**: The update task is pending confirmation.'."\n" .'* **QUEUED**: The update notification is to be pushed.'."\n" .'* **NOTIFIED**: The update notification is pushed to the device.'."\n" .'* **IN_PROGRESS**: The update task is in progress.'."\n" .'* **SUCCEEDED**: The update is successful.'."\n" .'* **FAILED**: The update failed.'."\n" .'* **CANCELED**: The update batch is canceled.'."\n", 'type' => 'string', 'example' => 'FAILED', 'title' => ''], 'UtcModified' => ['description' => 'The time when the update task was last modified. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2019-11-04T03:38:22.000Z', 'title' => ''], 'JobId' => ['description' => 'The ID of the update batch.'."\n", 'type' => 'string', 'example' => '7glPHmaDYLAYMD1HHutT02****', 'title' => ''], 'SrcVersion' => ['description' => 'The firmware version before the update.'."\n", 'type' => 'string', 'example' => '1.0.0', 'title' => ''], 'TaskDesc' => ['description' => 'The description of the update task. This parameter displays an error message if the device update times out or the update task is canceled.'."\n", 'type' => 'string', 'example' => 'report version is not conform', 'title' => ''], 'TaskId' => ['description' => 'The ID of the update task.'."\n", 'type' => 'string', 'example' => 'y3tOmCDNgpR8F9jnVEzC01****', 'title' => ''], 'DestVersion' => ['description' => 'The version of the destination over-the-air (OTA) update package.'."\n", 'type' => 'string', 'example' => '1.0.1', 'title' => ''], 'FirmwareId' => ['description' => 'The ID of the update package.'."\n", 'type' => 'string', 'example' => 'q3j9OYBjUAZMv1hlMgdo03****', 'title' => ''], 'IotId' => ['description' => 'The ID of the device.'."\n", 'type' => 'string', 'example' => 'nadRdeffljdEndlfadgadfse****', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"CurrentPage\\": 1,\\n \\"RequestId\\": \\"A59D3BE1-E9A3-43F3-9B50-B7C8DE165D9B\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageSize\\": 10,\\n \\"PageCount\\": 1,\\n \\"Total\\": 2,\\n \\"Data\\": {\\n \\"SimpleOTATaskInfo\\": [\\n {\\n \\"Timeout\\": \\"1440\\",\\n \\"ProductName\\": \\"MyProduct\\",\\n \\"Progress\\": \\"0.00\\",\\n \\"DeviceName\\": \\"testDevice2\\",\\n \\"UtcCreate\\": \\"2019-11-04T03:38:22.000Z\\",\\n \\"ProductKey\\": \\"a1GUfrM****\\",\\n \\"TaskStatus\\": \\"FAILED\\",\\n \\"UtcModified\\": \\"2019-11-04T03:38:22.000Z\\",\\n \\"JobId\\": \\"7glPHmaDYLAYMD1HHutT02****\\",\\n \\"SrcVersion\\": \\"1.0.0\\",\\n \\"TaskDesc\\": \\"report version is not conform\\",\\n \\"TaskId\\": \\"y3tOmCDNgpR8F9jnVEzC01****\\",\\n \\"DestVersion\\": \\"1.0.1\\",\\n \\"FirmwareId\\": \\"q3j9OYBjUAZMv1hlMgdo03****\\",\\n \\"IotId\\": \\"nadRdeffljdEndlfadgadfse****\\"\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'Query the list of device upgrade jobs under a specified upgrade batch ', 'summary' => 'Invoke this API to query the list of device upgrade jobs under a specified upgrade batch.'."\n", 'description' => '## Queries per second (QPS) limit'."\n" ."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 10.'."\n" ."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When invoking the API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters documentation](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListOTATaskByJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListOTATaskByJob'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'ListOTAUnfinishedTaskByDevice' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-c3j***', 'title' => ''], ], [ 'name' => 'ModuleName', 'in' => 'query', 'schema' => ['description' => 'The name of the OTA module.'."\n" ."\n" .'* If you specify this parameter, update tasks of the specified module are queried.'."\n" .'* If you do not specify this parameter, update tasks of all modules are queried.'."\n", 'type' => 'string', 'required' => false, 'example' => 'WifiConfigModify', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **DeviceName** parameter.', 'type' => 'string', 'required' => false, 'example' => 'a19mzPZ****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The DeviceName of the device.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **ProductKey** parameter.', 'type' => 'string', 'required' => false, 'example' => 'light', 'title' => ''], ], [ 'name' => 'TaskStatus', 'in' => 'query', 'schema' => ['description' => 'The status of the update task.'."\n" ."\n" .'* **CONFIRM**: The update task is pending confirmation.'."\n" .'* **QUEUED**: The update notification is to be pushed.'."\n" .'* **NOTIFIED**: The update notification is pushed to the device.'."\n" .'* **IN_PROGRESS**: The update task is in progress.'."\n", 'type' => 'string', 'required' => false, 'example' => 'CONFIRM', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the device.'."\n" ."\n" .'> If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. The **IotId** parameter specifies a globally unique identifier (GUID) of the device, which corresponds to a combination of **ProductKey** and **DeviceName**. If you specify both **IotId** and the combination of **ProductKey** and **DeviceName**, **IotId** takes precedence.', 'type' => 'string', 'required' => false, 'example' => 'TfmUAeJjQQhCPH84UVNn0010c6****', 'title' => ''], ], [ 'name' => 'TaskStatusList', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'maxItems' => 4, 'description' => 'Queries device upgrade jobs in multiple specified upgrade statuses. '."\n" .'- **CONFIRM**: Awaiting confirmation. '."\n" .'- **QUEUED**: Awaiting push. '."\n" .'- **NOTIFIED**: Pushed. '."\n" .'- **IN_PROGRESS**: Upgrading. '."\n" ."\n" .'> You can specify multiple statuses in a single API call. Use either this parameter or **TaskStatus**, but not both. ', 'type' => 'array', 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'required' => false, 'example' => 'QUEUED', 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'A59D3BE1-E9A3-43F3-9B50-B7C8DE165D9B', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'SimpleOTATaskInfo' => [ 'description' => 'The update task information returned if the call is successful. For more information, see the following **SimpleOTATaskInfo**.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ModuleName' => ['description' => 'The name of the OTA module.'."\n", 'type' => 'string', 'example' => 'WifiConfigModify', 'title' => ''], 'ProductName' => ['description' => 'The name of the product to which the device belongs.'."\n", 'type' => 'string', 'example' => 'MyProduct', 'title' => ''], 'DeviceName' => ['description' => 'The DeviceName of the device.'."\n", 'type' => 'string', 'example' => 'light', 'title' => ''], 'UtcCreate' => ['description' => 'The time when the update task was created. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2019-11-04T03:38:22.000Z', 'title' => ''], 'ProductKey' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n", 'type' => 'string', 'example' => 'a1GUfrM****', 'title' => ''], 'TaskStatus' => ['description' => 'The status of the update task.'."\n" ."\n" .'* **CONFIRM**: The update task is pending confirmation.'."\n" .'* **QUEUED**: The update notification is to be pushed.'."\n" .'* **NOTIFIED**: The update notification is pushed to the device.'."\n" .'* **IN_PROGRESS**: The update task is in progress.'."\n", 'type' => 'string', 'example' => 'CONFIRM', 'title' => ''], 'UtcModified' => ['description' => 'The time when the update task was last modified. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2021-11-04T03:38:22.000Z', 'title' => ''], 'JobId' => ['description' => 'The ID of the update batch.'."\n", 'type' => 'string', 'example' => '7glPHmaDYLAYMD1HHutT02****', 'title' => ''], 'SrcVersion' => ['description' => 'The firmware version before the update.'."\n", 'type' => 'string', 'example' => '1.0.0', 'title' => ''], 'TaskId' => ['description' => 'The ID of the update task.'."\n", 'type' => 'string', 'example' => 'y3tOmCDNgpR8F9jnVEzC01****', 'title' => ''], 'DestVersion' => ['description' => 'The firmware version after the update.'."\n", 'type' => 'string', 'example' => '1.0.1', 'title' => ''], 'FirmwareId' => ['description' => 'The ID of the update package.'."\n", 'type' => 'string', 'example' => 'q3j9OYBjUAZMv1hlMgdo03****', 'title' => ''], 'IotId' => ['description' => 'The ID of the device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n", 'type' => 'string', 'example' => 'nadRdeffljdEndlfadgadfse****', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.common.InvalidPageParams', 'errorMessage' => 'The specified pagination size or pagination parameter is invalid.', 'description' => 'The page size or page number is invalid.'], ['errorCode' => 'iot.prod.NullProductKey', 'errorMessage' => 'The productKey is empty.', 'description' => ''], ['errorCode' => 'iot.prod.InvalidFormattedProductkey', 'errorMessage' => 'The productKey format is incorrect.', 'description' => ''], ['errorCode' => 'iot.ota.NullOtaModuleName', 'errorMessage' => 'the module name can not be empty.', 'description' => ''], ['errorCode' => 'iot.ota.InvalidOtaModuleName', 'errorMessage' => 'the format of module name is invalid.', 'description' => ''], ['errorCode' => 'iot.ota.EmptyDeviceInfoParams', 'errorMessage' => 'the device info in params is empty', 'description' => ''], ['errorCode' => 'iot.firmware.InvalidTaskStatus', 'errorMessage' => 'Invalid TaskStatus.', 'description' => ''], ['errorCode' => 'iot.device.InvalidFormattedDeviceNameInNameArray', 'errorMessage' => 'The deviceName list contains an invalid device name.', 'description' => ''], ['errorCode' => 'iot.firmware.ListOTATaskByDeviceFailed', 'errorMessage' => 'Failed to list OTA tasks by device.', 'description' => 'Failed to list OTA tasks by device.'], ['errorCode' => 'iot.device.NotExistedDevice', 'errorMessage' => 'The device does not exist.', 'description' => ''], ['errorCode' => 'iot.prod.NotExistedProduct', 'errorMessage' => 'The specified product does not exist.', 'description' => 'The product does not exist.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"A59D3BE1-E9A3-43F3-9B50-B7C8DE165D9B\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"SimpleOTATaskInfo\\": [\\n {\\n \\"ModuleName\\": \\"WifiConfigModify\\",\\n \\"ProductName\\": \\"MyProduct\\",\\n \\"DeviceName\\": \\"light\\",\\n \\"UtcCreate\\": \\"2019-11-04T03:38:22.000Z\\",\\n \\"ProductKey\\": \\"a1GUfrM****\\",\\n \\"TaskStatus\\": \\"CONFIRM\\",\\n \\"UtcModified\\": \\"2021-11-04T03:38:22.000Z\\",\\n \\"JobId\\": \\"7glPHmaDYLAYMD1HHutT02****\\",\\n \\"SrcVersion\\": \\"1.0.0\\",\\n \\"TaskId\\": \\"y3tOmCDNgpR8F9jnVEzC01****\\",\\n \\"DestVersion\\": \\"1.0.1\\",\\n \\"FirmwareId\\": \\"q3j9OYBjUAZMv1hlMgdo03****\\",\\n \\"IotId\\": \\"nadRdeffljdEndlfadgadfse****\\"\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'Query Unfinished Upgrade Jobs for a Specified Device ', 'summary' => 'Query the device upgrade jobs in an unfinished status for a specified device. ', 'description' => '## How-To '."\n" .'The **IotId** parameter serves as the Unique Identifier of the device and has a one-to-one mapping relationship with the combination of **ProductKey** and **DeviceName**. When invoking the API, you must provide either the **IotId** or the combination of **ProductKey** and **DeviceName**.'."\n" ."\n" .'## QPS Limit'."\n" ."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 10.'."\n" ."\n" .' > All Resource Access Management (RAM) users under an Alibaba Cloud account share the quota of that Alibaba Cloud account. ', 'requestParamsDescription' => 'When you invoke this API, in addition to the API-specific request parameters described in this topic, you must also pass in the common request parameters. For more information about common request parameters, see [Common Request Parameters](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListOTAUnfinishedTaskByDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListOTAUnfinishedTaskByDevice'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'ListParser' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the current instance ID on the **Instance Overview** page in the IoT Platform console. '."\n" ."\n" .'> '."\n" .'- If an ID exists, you must specify this ID; otherwise, the invocation fails. '."\n" .'- If the **Instance Overview** page or the ID does not exist, you do not need to specify this parameter. '."\n" ."\n" .'> '."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~). ', 'type' => 'string', 'required' => false, 'example' => 'iot-n8t****', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of records to return per page. The maximum value is 100. ', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '100', 'minimum' => '0', 'example' => '10', 'title' => ''], ], [ 'name' => 'SearchName', 'in' => 'query', 'schema' => ['description' => 'A string contained in a resolver name. The system retrieves resolver names that match this string. ', 'type' => 'string', 'required' => false, 'example' => 'DataParser', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', 'schema' => ['description' => 'The page number of the returned results to display. Valid values: 1 to 100. ', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '100', 'minimum' => '1', 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation failed. For more information, see [error codes](~~87387~~). ', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation failed. ', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request. ', 'type' => 'string', 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E', 'title' => ''], 'Total' => ['description' => 'The total number of returned result records. ', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: The invocation failed. ', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'ParserList' => [ 'description' => 'The list of returned resolvers.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the resolver. Valid values:'."\n" ."\n" .'- **RUNNING**: running'."\n" .'- **STOP**: stopped'."\n" .'- **ABNORMAL**: abnormal', 'type' => 'string', 'example' => 'STOP', 'title' => ''], 'Description' => ['description' => 'The description of the resolver.', 'type' => 'string', 'example' => '转发数据。', 'title' => ''], 'UtcModified' => ['description' => 'The UTC time when the resolver was updated. The format is `yyyy-MM-dd\'T\'HH:mm:ss.SSS\'Z\'`.', 'type' => 'string', 'example' => '2022-03-25T12:45:43.000Z', 'title' => ''], 'Name' => ['description' => 'Resolver name. ', 'type' => 'string', 'example' => 'DataParser', 'title' => ''], 'UtcCreated' => ['description' => 'The UTC time when the resolver was created. The format is `yyyy-MM-dd\'T\'HH:mm:ss.SSS\'Z\'`.', 'type' => 'string', 'example' => '2022-03-21T12:45:43.000Z', 'title' => ''], 'ParserId' => ['description' => 'The ID of the resolver.', 'type' => 'integer', 'format' => 'int64', 'example' => '1001', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ['errorCode' => 'iot.common.InvalidPageParams', 'errorMessage' => 'The specified pagination size or pagination parameter is invalid.', 'description' => 'The page size or page number is invalid.'], ['errorCode' => 'iot.common.InvalidFormattedParameter', 'errorMessage' => 'The parameter format is invalid.', 'description' => 'The parameter format is invalid.'], ['errorCode' => 'iot.rule.QueryRulePageActionError', 'errorMessage' => 'An error occurred while querying the rule action list across multiple pages.', 'description' => 'An error occurred while querying the rule action list across multiple pages.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Total\\": 100,\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ParserList\\": [\\n {\\n \\"Status\\": \\"STOP\\",\\n \\"Description\\": \\"转发数据。\\",\\n \\"UtcModified\\": \\"2022-03-25T12:45:43.000Z\\",\\n \\"Name\\": \\"DataParser\\",\\n \\"UtcCreated\\": \\"2022-03-21T12:45:43.000Z\\",\\n \\"ParserId\\": 1001\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'ListParser ', 'summary' => 'Invoke this API to query the list of resolvers, including basic resolver information, startup status, creation time, and updated time. ', 'description' => '## Queries per second (QPS) limit'."\n" ."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 10.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. ', 'requestParamsDescription' => 'When invoking the API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters documentation](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListParser', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListParser'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'ListParserDataSource' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID value exists, you must specify this ID; otherwise, the invocation will fail.'."\n" .'- If the **Instance Overview** page or the ID value does not exist, you do not need to specify this parameter.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-2w****', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of records displayed per page in the returned results. Default value: 10. Maximum value: 100.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '100', 'minimum' => '1', 'example' => '10', 'title' => ''], ], [ 'name' => 'SearchName', 'in' => 'query', 'schema' => ['description' => 'A string contained in the data source name. The system retrieves data source names that match this string.', 'type' => 'string', 'required' => false, 'example' => 'DataSource', 'title' => ''], ], [ 'name' => 'Page', 'in' => 'query', 'schema' => ['description' => 'The page number of the returned results to display. Default value: 1. Valid values: 1 to 100.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '999999', 'minimum' => '1', 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request. ', 'type' => 'string', 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails. ', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'PageSize' => ['description' => 'The number of records displayed per page in the return result. ', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'Total' => ['description' => 'The total number of records in the return result. ', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], 'Page' => ['description' => 'The page number of the return result to display. ', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'DataSource' => [ 'description' => 'The list of returned data sources.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'UtcCreated' => ['description' => 'The UTC time when the data source was created. The format is `yyyy-MM-dd\'T\'HH:mm:ss.SSS\'Z\'`.', 'type' => 'string', 'example' => '2022-03-27T12:45:43.000Z', 'title' => ''], 'Name' => ['description' => 'The Datasource Name.', 'type' => 'string', 'example' => 'DataSource', 'title' => ''], 'Description' => ['description' => 'The description of the data source.', 'type' => 'string', 'example' => '设备数据。', 'title' => ''], 'DataSourceId' => ['description' => 'The DataSource ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '1001', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ['errorCode' => 'iot.system.IllegalRequest', 'errorMessage' => 'The request parameter is invalid.', 'description' => 'The request parameter is invalid.'], ['errorCode' => 'iot.rule.NotFoundRule', 'errorMessage' => 'there are no rules.', 'description' => 'there are no rules.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageSize\\": 10,\\n \\"Total\\": 100,\\n \\"Page\\": 1,\\n \\"Data\\": {\\n \\"DataSource\\": [\\n {\\n \\"UtcCreated\\": \\"2022-03-27T12:45:43.000Z\\",\\n \\"Name\\": \\"DataSource\\",\\n \\"Description\\": \\"设备数据。\\",\\n \\"DataSourceId\\": 1001\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'Query the list of Resolver data sources', 'summary' => 'Query the list of resolver data sources. ', 'description' => '## QPS Limit'."\n" ."\n" .'The maximum queries per second (QPS) limit for a single Alibaba Cloud account calling this API is 10. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. ', 'requestParamsDescription' => 'When invoking the API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters Documentation](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListParserDataSource', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListParserDataSource'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'ListParserDestination' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IsFailover', 'in' => 'query', 'schema' => ['description' => 'Indicates whether the data destination configuration to be queried is for forwarding fault operation data, that is, data whose forwarding to other cloud products has failed and retries have also failed.'."\n" ."\n" .'- **true**: The data is fault forwarding operation data.'."\n" .'- **false** (default): The data is normal forwarding operation data, not fault forwarding operation data.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the current instance ID on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID value exists, you must specify this ID. Otherwise, the invocation fails.'."\n" .'- If the **Instance Overview** page or the ID value does not exist, you do not need to specify this parameter.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-2w****', 'title' => ''], ], [ 'name' => 'ParserId', 'in' => 'query', 'schema' => ['description' => 'The resolver ID. You can call the [ListParsers](~~429046~~) API to query the resolver list and obtain the **ParserId**.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '9999999999', 'minimum' => '0', 'example' => '1002', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" ."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'destinations' => [ 'description' => 'The list of data destinations returned when the call succeeds.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Type' => ['description' => 'The operation type of the data destination.'."\n" ."\n" .'- **REPUBLISH**: Forwards the topic data processed by the resolver script to another communication topic in the IoT Platform.'."\n" .'- **AMQP**: Forwards the topic data processed by the resolver script to an AMQP consumer group.'."\n" .'- **DATAHUB**: Forwards the topic data processed by the resolver script to Alibaba Cloud DataHub for stream data processing.'."\n" .'- **ONS**: Forwards the topic data processed by the resolver script to Alibaba Cloud Message Queue for Apache RocketMQ for message distribution.'."\n" .'- **MNS**: Sends the topic data processed by the resolver script to Alibaba Cloud Message Service for message transmission.'."\n" .'- **FC**: Sends the topic data processed by the resolver script to Alibaba Cloud Function Compute for event-based computing.'."\n" .'- **OTS**: Sends the topic data processed by the resolver script to Alibaba Cloud Tablestore for NoSQL data storage.', 'type' => 'string', 'example' => 'REPUBLISH', 'title' => ''], 'DestinationId' => ['description' => 'The data destination ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '1003', 'title' => ''], 'UtcModified' => ['description' => 'The UTC time when the data destination was modified. The format is `yyyy-MM-dd\'T\'HH:mm:ss.SSS\'Z\'`.', 'type' => 'string', 'example' => '2022-05-27T12:45:43.000Z', 'title' => ''], 'Configuration' => ['description' => 'The configuration information corresponding to the data destination.', 'type' => 'string', 'example' => '{"topic":"/a1POX0c****/device1/user/get","topicType":1}', 'title' => ''], 'Name' => ['description' => 'The name of the data destination.', 'type' => 'string', 'example' => 'DataPurpose', 'title' => ''], 'UtcCreated' => ['description' => 'The UTC time when the data destination was created. The format is `yyyy-MM-dd\'T\'HH:mm:ss.SSS\'Z\'`.', 'type' => 'string', 'example' => '2022-03-27T12:45:43.000Z', 'title' => ''], 'IsFailover' => ['description' => 'Indicates whether this data destination configuration is for forwarding fault operation data, that is, data whose forwarding to other cloud products has failed and retries have also failed.'."\n" ."\n" .'- **true**: The data is fault forwarding operation data.'."\n" .'- **false** (default): The data is normal forwarding operation data, not fault forwarding operation data.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ['errorCode' => 'iot.common.InvalidFormattedParameter', 'errorMessage' => 'The parameter format is invalid.', 'description' => 'The parameter format is invalid.'], ['errorCode' => 'iot.rule.ListDestinationFailed', 'errorMessage' => 'An error occurred while querying destinations', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"destinations\\": [\\n {\\n \\"Type\\": \\"REPUBLISH\\",\\n \\"DestinationId\\": 1003,\\n \\"UtcModified\\": \\"2022-05-27T12:45:43.000Z\\",\\n \\"Configuration\\": \\"{\\\\\\"topic\\\\\\":\\\\\\"/a1POX0c****/device1/user/get\\\\\\",\\\\\\"topicType\\\\\\":1}\\",\\n \\"Name\\": \\"DataPurpose\\",\\n \\"UtcCreated\\": \\"2022-03-27T12:45:43.000Z\\",\\n \\"IsFailover\\": false\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'ListParserDestination', 'summary' => 'Invoke this API to query the list of data destinations associated with a specified resolver.', 'description' => '## QPS Limit'."\n" ."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 10.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking the API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListParserDestination', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListParserDestination'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'ListPowerStation' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'AlgorithmInstanceUid', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'PowerStationName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'PageNo', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '999999999999', 'minimum' => '1', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '100', 'minimum' => '1', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ 'PageNo' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'PageSize' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'Total' => ['type' => 'integer', 'format' => 'int64', 'description' => '', 'title' => '', 'example' => ''], 'DataList' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'PowerStationUid' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RatedPower' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'AlgoInstanceUid' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Description' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Name' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.dap.insight.unknownException', 'errorMessage' => 'unknown exception.', 'description' => 'unknown exception.'], ['errorCode' => 'iot.dap.insight.requestParamError', 'errorMessage' => 'request param error.', 'description' => 'request param error.'], ], 500 => [ ['errorCode' => 'iot.dap.insight.bizExceptionNotSpecified', 'errorMessage' => 'biz exception not specified.', 'description' => 'biz exception not specified.'], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"PageNo\\": 0,\\n \\"PageSize\\": 0,\\n \\"Total\\": 0,\\n \\"DataList\\": [\\n {\\n \\"PowerStationUid\\": \\"\\",\\n \\"RatedPower\\": 0,\\n \\"AlgoInstanceUid\\": \\"\\",\\n \\"Description\\": \\"\\",\\n \\"Name\\": \\"\\"\\n }\\n ]\\n }\\n}","type":"json"}]', ], 'ListProductByTags' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-v64***', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', 'schema' => ['description' => 'The number of the page to return.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Maximum value: 50.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'ProductTag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of product tags.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'TagValue' => ['description' => 'The values of the product tags.'."\n", 'type' => 'string', 'required' => false, 'example' => '102', 'title' => ''], 'TagKey' => ['description' => 'The keys of the product tags.'."\n", 'type' => 'string', 'required' => true, 'example' => 'room', 'title' => ''], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => true, 'maxItems' => 10, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'ProductInfos' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'ProductInfo' => [ 'description' => 'The details of the products returned if the call is successful. The details are included in the **ProductInfo** parameter.'."\n" ."\n" .'> The returned product information is sorted in reverse-chronological order based on the time when the products were created.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ProductKey' => ['description' => 'The ProductKey of the product. A ProductKey is a globally unique identifier (GUID) issued by IoT Platform to a new product.'."\n", 'type' => 'string', 'example' => 'a1BwAGV****', 'title' => ''], 'ProductName' => ['description' => 'The name of the product.'."\n", 'type' => 'string', 'example' => '路灯', 'title' => ''], 'NodeType' => ['description' => 'The node type of the product. Valid values:'."\n" ."\n" .'* **0**: device. Sub-devices cannot be attached to a device. A device can connect to IoT Platform directly or as a sub-device of a gateway.'."\n" .'* **1**: gateway. Sub-devices can be attached to a gateway. A gateway can manage sub-devices, maintain the topological relationships with sub-devices, and synchronize the topological relationships to IoT Platform.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'Description' => ['description' => 'The description of the product.'."\n", 'type' => 'string', 'example' => 'This is a test product.', 'title' => ''], 'CreateTime' => ['description' => 'The time when the product was created.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1545355537000', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"ProductInfos\\": {\\n \\"ProductInfo\\": [\\n {\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"ProductName\\": \\"路灯\\",\\n \\"NodeType\\": 0,\\n \\"Description\\": \\"This is a test product.\\",\\n \\"CreateTime\\": 1545355537000\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'ListProductByTags', 'summary' => 'Invoke this API to perform a paged query of the product list based on tags. ', 'description' => '## How-To '."\n" .'- You can search by a combination of TagKey and TagValue, or by TagKey only. '."\n" ."\n" .'- When multiple ProductTag parameters are provided, they are combined with an **OR** relationship. '."\n" ."\n" .'## QPS Limit '."\n" ."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 500. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. '."\n" ."\n", 'requestParamsDescription' => 'When invoking the API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters documentation](~~30561~~). '."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListProductByTags', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListProductByTags'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'ListProductTags' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-v64***', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product. A ProductKey is a GUID that is issued by IoT Platform to a product. You can use the IoT Platform console or call the [QueryProductList](~~69271~~) operation to view the information about all products within the current account.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'ProductTag' => [ 'description' => 'The product tags returned if the call succeeds. For more information, see the parameters that are included in the **ProductTag** parameter.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'TagValue' => ['description' => 'The value of the tag.'."\n", 'type' => 'string', 'example' => '102', 'title' => ''], 'TagKey' => ['description' => 'The key of each tag.'."\n", 'type' => 'string', 'example' => 'room', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ProductTag\\": [\\n {\\n \\"TagValue\\": \\"102\\",\\n \\"TagKey\\": \\"room\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n\\n \\n \\n alterTable\\n binary\\n \\n \\n json2\\n extt\\n \\n \\n 1234\\n Lock\\n \\n \\n support\\n Lockk\\n \\n \\n reen\\n Reen\\n \\n \\n try\\n Reenn\\n \\n \\n DropTable\\n roc\\n \\n \\n 7FBE60F8-4AB5-4A8C-AFCB-F4F38851F01F\\n true\\n","errorExample":""}]', 'title' => 'ListProductTags', 'summary' => 'Queries all the tags of a product.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 500 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListProductTags', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'ListRule' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the ID of the instance on the **Overview** page in the IoT Platform console.****'."\n" ."\n" .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.****'."\n" .'>* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', 'schema' => ['description' => 'The number of the page to return. Maximum value: 1000. Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Valid values: 1 to 100. Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '2', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the rule belongs. You can log on to the [Resource Management](https://resourcemanager.console.aliyun.com/resource-groups) console to view the details of the resource group.'."\n" ."\n" .'>You can configure this parameter only if you have activated Resource Management.'."\n" ."\n" .'If you do not configure this parameter, all rules of the Alibaba Cloud account are queried.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4ph****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '1564B626-DE97-452D-9E9B-305888AC6105', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message that is returned if the call fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Code' => ['description' => 'The error code that is returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'Total' => ['description' => 'The total number of pages returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '25', 'title' => ''], 'Page' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'RuleInfo' => [ 'description' => 'The rules returned if the call is successful. For more information, see the "**RuleInfo**" section of this topic.'."\n" ."\n" .'> The returned rules are sorted in reverse-chronological order based on the time when the rules were created.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Modified' => ['description' => 'The time when the rule was last modified. The time is displayed in UTC-6.'."\n", 'type' => 'string', 'example' => 'Wed Feb 27 20:45:43 CST 2019', 'title' => ''], 'Status' => ['description' => 'The status of the rule. Valid values:'."\n" ."\n" .'* **RUNNING**: The rule is running.'."\n" .'* **STOP**: The rule is disabled.'."\n", 'type' => 'string', 'example' => 'STOP', 'title' => ''], 'DataType' => ['description' => 'The data type of the rule. Valid values: **JSON** and **BINARY**.'."\n", 'type' => 'string', 'example' => 'JSON', 'title' => ''], 'Select' => ['description' => 'The content that follows the **Select** keyword in the SQL statement of the rule.'."\n", 'type' => 'string', 'example' => 'deviceName() as deviceName', 'title' => ''], 'UtcCreated' => ['description' => 'The time when the device was created. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2019-02-27T12:40:43.000Z', 'title' => ''], 'CreateUserId' => ['description' => 'The ID of the user who created the rule.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1231579085000000', 'title' => ''], 'Where' => ['description' => 'The **Where** query condition in the SQL statement of the rule.'."\n", 'type' => 'string', 'example' => 'Temperature>35', 'title' => ''], 'ProductKey' => ['description' => 'The **ProductKey** of the product to which the rule applies.'."\n", 'type' => 'string', 'example' => 'a1KiV******', 'title' => ''], 'UtcModified' => ['description' => 'The time when the rule was last modified.'."\n", 'type' => 'string', 'example' => '2019-02-27T12:45:43.000Z', 'title' => ''], 'Topic' => ['description' => 'The topic to which the rule applies. Format: `${productKey}/${deviceName}/topicShortName`.'."\n" ."\n" .'> For information about how to use a plus sign (`+`) or a number sign (`#`) as a wildcard character in a topic, see [Topic wildcards](~~73731~~).'."\n", 'type' => 'string', 'example' => '/a1T27vz****/+/thing/event/property/post', 'title' => ''], 'ShortTopic' => ['description' => 'The topic to which the rule applies. The topic does not include the ProductKey level. Format: `${deviceName}/topicShortName`. ${deviceName} indicates the name of the device, and topicShortName indicates the custom name of the topic.'."\n" ."\n" .'> For information about how to use a plus sign (`+`) or a number sign (`#`) as a wildcard character in a topic, see [Topic wildcards](~~73731~~).'."\n", 'type' => 'string', 'example' => '+/thing/event/property/post', 'title' => ''], 'RuleDesc' => ['description' => 'The description of the rule.'."\n", 'type' => 'string', 'example' => 'rule1Desc', 'title' => ''], 'Name' => ['description' => 'The name of the rule.'."\n", 'type' => 'string', 'example' => 'test123', 'title' => ''], 'Created' => ['description' => 'The time when the rule was created. The time is displayed in UTC-6.'."\n", 'type' => 'string', 'example' => 'Wed Feb 27 20:45:43 CST 2019', 'title' => ''], 'Id' => ['description' => 'The ID of the rule.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '151454', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"1564B626-DE97-452D-9E9B-305888AC6105\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageSize\\": 2,\\n \\"Total\\": 25,\\n \\"Page\\": 1,\\n \\"Data\\": {\\n \\"RuleInfo\\": [\\n {\\n \\"Modified\\": \\"Wed Feb 27 20:45:43 CST 2019\\",\\n \\"Status\\": \\"STOP\\",\\n \\"DataType\\": \\"JSON\\",\\n \\"Select\\": \\"deviceName() as deviceName\\",\\n \\"UtcCreated\\": \\"2019-02-27T12:40:43.000Z\\",\\n \\"CreateUserId\\": 1231579085000000,\\n \\"Where\\": \\"Temperature>35\\",\\n \\"ProductKey\\": \\"a1KiV******\\",\\n \\"UtcModified\\": \\"2019-02-27T12:45:43.000Z\\",\\n \\"Topic\\": \\"/a1T27vz****/+/thing/event/property/post\\",\\n \\"ShortTopic\\": \\"+/thing/event/property/post\\",\\n \\"RuleDesc\\": \\"rule1Desc\\",\\n \\"Name\\": \\"test123\\",\\n \\"Created\\": \\"Wed Feb 27 20:45:43 CST 2019\\",\\n \\"Id\\": 151454\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n\\n\\n \\n JSON\\n a1T27vz****\\n 198426864326****\\n 2020-02-26T06:38:27.000Z\\n 2020-02-26T02:50:44.000Z\\n Temperature>35\\n testrule2\\n STOP\\n \\n Wed Feb 26 10:50:44 CST 2020\\n Wed Feb 26 14:38:27 CST 2020\\n /a1T27vz****/+/thing/event/property/post\\n 497350\\n \\n\\n1\\n1\\n1A6131EC-7504-4673-B997-DEFC6B363A37\\ntrue\\n5\\n","errorExample":""}]', 'title' => 'ListRule', 'summary' => 'Queries rules by page.', 'description' => '## QPS limits'."\n" ."\n" .'You can call this API operation up to 20 times per second per account.'."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListRule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'ListRuleActions' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. On the **Overview** page in the IoT Platform console, you can view the **ID** of the instance.'."\n" ."\n" .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n" .'>* If the **Overview** page or instance ID is not displayed in the IoT Platform console, you do not need to configure this parameter.'."\n" ."\n" .'For more information about the instance, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'RuleId', 'in' => 'query', 'schema' => ['description' => 'The ID of the rule.'."\n" ."\n" .'You can log on to the IoT Platform console and go to the details page of the instance that you want to manage. On the instance details page, choose **Rules Engine** > **Data Forwarding** to obtain the rule ID. Alternatively, you can call the [ListRule](~~69486~~) operation to view the value of the **Id** parameter in the response.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '10000', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information about error codes, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '22254BDB-3DC1-4643-8D1B-EE0437EF09A9', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. '."\n" ."\n" .'- **true**: The call was successful.'."\n" .'- **false**: The call failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'RuleActionList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'RuleActionInfo' => [ 'description' => 'If the call is successful, all configured data forwarding actions of the specified rule are returned. For more information about the returned data, see the following **RuleActionInfo** parameter.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Type' => ['description' => 'The type of the action in which data is forwarded to a destination. Valid values:'."\n" ."\n" .'* **REPUBLISH**: Data is forwarded to a topic.'."\n" .'* **OTS**: Data is stored in Tablestore.'."\n" .'* **MNS**: Data is forwarded to Message Service (MNS).'."\n" .'* **ONS**: Data is forwarded to Message Queue for Apache RocketMQ.'."\n" .'* **TSDB**: Data is stored in Time Series Database.'."\n" .'* **FC**: Data is forwarded to Function Compute.'."\n" .'* **RDS**: Data is forwarded to ApsaraDB RDS.'."\n" .'* **AMQP**: Data is forwarded to an Advanced Message Queuing Protocol (AMQP) consumer group.'."\n", 'type' => 'string', 'example' => 'OTS', 'title' => ''], 'Status' => ['description' => 'The status of the data forwarding action. Valid values:'."\n" ."\n" .'* **INIT**: The action is being configured.'."\n" .'* **NORMAL**: The configuration is complete, and the action can run properly.'."\n" .'* **INVALID**: The configuration data is invalid, and the action fails to run.'."\n" .'* **SHORTCUT**: An exception occurs and the data forwarding action is stopped.'."\n", 'type' => 'string', 'example' => 'NORMAL', 'title' => ''], 'Configuration' => ['description' => 'The configurations of the data destination.'."\n", 'type' => 'string', 'example' => '{\\"endPoint\\":\\"http://ShanghaiRegion.cn-shanghai.ots.aliyuncs.com\\",\\"instanceName\\":\\"ShanghaiRegion\\",\\"primaryKeys\\":[{\\"columnName\\":\\"temperature\\",\\"columnType\\":\\"INTEGER\\",\\"columnValue\\":\\"${deviceName}\\"}],\\"regionName\\":\\"cn-shanghai\\",\\"role\\":{\\"roleArn\\":\\"acs:ram::1231579085******:role/aliyuniotaccessingotsrole\\",\\"roleName\\":\\"AliyunIOTAccessingOTSRole\\"},\\"tableName\\":\\"iottest\\",\\"uid\\":\\"1231579085******\\"}', 'title' => ''], 'ErrorActionFlag' => ['description' => 'Indicates whether the data destination is used to receive the error operation data. The error operation data is data that failed to be forwarded two consecutive times.'."\n" ."\n" .'* **true**: This destination is used to receive error operation data.'."\n" .'* **false**: This destination is not used to receive error operation data.'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], 'Id' => ['description' => 'The ID of the action in which data is forwarded to the destination.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '139099', 'title' => ''], 'RuleId' => ['description' => 'The ID of the rule based on which data is forwarded to the destination.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '10000', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"22254BDB-3DC1-4643-8D1B-EE0437EF09A9\\",\\n \\"Success\\": true,\\n \\"RuleActionList\\": {\\n \\"RuleActionInfo\\": [\\n {\\n \\"Type\\": \\"OTS\\",\\n \\"Status\\": \\"NORMAL\\",\\n \\"Configuration\\": \\"{\\\\\\\\\\\\\\"endPoint\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"http://ShanghaiRegion.cn-shanghai.ots.aliyuncs.com\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"instanceName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"ShanghaiRegion\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"primaryKeys\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"columnName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"temperature\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"columnType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"INTEGER\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"columnValue\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"${deviceName}\\\\\\\\\\\\\\"}],\\\\\\\\\\\\\\"regionName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"cn-shanghai\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"role\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"roleArn\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"acs:ram::1231579085******:role/aliyuniotaccessingotsrole\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"roleName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"AliyunIOTAccessingOTSRole\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"tableName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"iottest\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"uid\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1231579085******\\\\\\\\\\\\\\"}\\",\\n \\"ErrorActionFlag\\": false,\\n \\"Id\\": 139099,\\n \\"RuleId\\": 10000\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n\\n \\n OTS\\n 10000\\n 139099\\n NORMAL\\n {\\"endPoint\\":\\"http://ShanghaiRegion.cn-shanghai.ots.aliyuncs.com\\",\\"instanceName\\":\\"ShanghaiRegion\\",\\"primaryKeys\\":[{\\"columnName\\":\\"temperature\\",\\"columnType\\":\\"INTEGER\\",\\"columnValue\\":\\"${deviceName}\\"}],\\"regionName\\":\\"cn-shanghai\\",\\"role\\":{\\"roleArn\\":\\"acs:ram::1231579085******:role/aliyuniotaccessingotsrole\\",\\"roleName\\":\\"AliyunIOTAccessingOTSRole\\"},\\"tableName\\":\\"iottest\\",\\"uid\\":\\"1231579085******\\"}\\n false\\n \\n \\n REPUBLISH\\n 152323\\n 142401\\n NORMAL\\n {\\"topic\\":\\"/sys/a1zSA28H***/device/thing/service/property/set\\",\\"topicType\\":0,\\"uid\\":\\"1231579085******\\"}\\n false\\n \\n\\n22254BDB-3DC1-4643-8D1B-EE0437EF09A9\\ntrue\\n","errorExample":""}]', 'title' => 'ListRuleActions', 'summary' => 'Queries all the configured data forwarding actions of a specific rule. When the rule is triggered, data can be forwarded to different destinations based on the configured actions.', 'description' => '## QPS limits'."\n" ."\n" .'Each Alibaba Cloud account can run up to 50 queries per second (QPS).'."\n" ."\n" .'> The Resource Access Management (RAM) users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about the common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListRuleActions', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'ListTask' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID.'."\n" ."\n" .'You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console. If an ID value exists, you must pass this ID value; otherwise, the invocation will fail.'."\n" ."\n" .'> If the public instance does not have an ID value, see [How to Obtain an Instance ID](~~267533~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'Limit', 'in' => 'query', 'schema' => ['description' => 'The number of records displayed per page. Default Value is 10, and the maximum value is 50.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '50', 'minimum' => '1', 'example' => '10', 'title' => ''], ], [ 'name' => 'JobId', 'in' => 'query', 'schema' => ['description' => 'The job ID. This is the globally unique identifier of the job.'."\n" ."\n" .'> If you pass the Device parameter, do not pass this parameter.', 'type' => 'string', 'required' => false, 'example' => 'sGWotgRk***010001', 'title' => ''], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'The token that identifies the next page. You do not need to pass a value for the first query. If a next page exists, the service returns a NextToken value, which you must pass in the next request.'."\n" ."\n" .'The NextToken value is valid for 1 minute. After it expires, the corresponding error code is returned.', 'type' => 'string', 'required' => false, 'example' => '22dhgg***', 'title' => ''], ], [ 'name' => 'Device', 'in' => 'query', 'style' => 'json', 'schema' => ['description' => 'Device information. For more information, see "Device definition" below.'."\n" ."\n" .'> If you pass the JobId parameter, do not pass this parameter.', 'type' => 'object', 'required' => false, 'example' => '{}', 'title' => ''], ], [ 'name' => 'Status', 'in' => 'query', 'schema' => ['description' => 'The status of the job. Valid values: '."\n" ."\n" .'- **QUEUED**: Pending scheduling. '."\n" .'- **SENT**: Scheduled. '."\n" .'- **IN_PROGRESS**: Executing. '."\n" .'- **FAILED**: Failed. '."\n" .'- **REJECTED**: Rejected. '."\n" .'- **TIMED_OUT**: Timed out. '."\n" .'- **SUCCEEDED**: Succeeded. '."\n" .'- **CANCELLED**: Cancelled. ', 'type' => 'string', 'required' => false, 'example' => 'QUEUED', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~). ', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'NextToken' => ['description' => 'The pagination token for the next page. If a next page exists, the service returns a NextToken value, which you must include in your next request.'."\n" ."\n" .'The NextToken value is valid for 1 minute. After it expires, the corresponding error code is returned.', 'type' => 'string', 'example' => '223sdf***', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails. ', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The globally unique identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => '512FF8FD-A97F-4AAF-B0A2-7BE3D3A19BB3', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: The invocation failed. ', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'data' => [ 'description' => 'If the call succeeds, details of jobs under the task are returned. For more information, see the following parameter descriptions.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the job.'."\n" ."\n" .'- **QUEUED**: Pending scheduling.'."\n" .'- **SENT**: Scheduled.'."\n" .'- **IN_PROGRESS**: Executing.'."\n" .'- **FAILED**: Failed.'."\n" .'- **REJECTED**: Rejected.'."\n" .'- **TIMED_OUT**: Timed out.'."\n" .'- **SUCCEEDED**: Succeeded.'."\n" .'- **CANCELLED**: Cancelled.'."\n", 'type' => 'string', 'example' => 'SUCCEEDED', 'title' => ''], 'UtcQueueTime' => ['description' => 'The time when the job was queued. ', 'type' => 'string', 'example' => '2019-05-21T13:03:53.000Z', 'title' => ''], 'ProductKey' => ['description' => 'The ProductKey of the product to which the device belongs. ', 'type' => 'string', 'example' => 'a1S0OM***', 'title' => ''], 'Progress' => ['description' => 'The execution progress of the job under the task.', 'type' => 'string', 'example' => '80', 'title' => ''], 'DeviceName' => ['description' => 'Device name. ', 'type' => 'string', 'example' => 'mydevice', 'title' => ''], 'JobName' => ['description' => 'Job Name. ', 'type' => 'string', 'example' => 'MyTestJobIax6Eq', 'title' => ''], 'UtcModified' => ['description' => 'The time when the job information was updated. ', 'type' => 'string', 'example' => '2019-05-21T13:03:56.000Z', 'title' => ''], 'JobId' => ['description' => 'The Job ID. This is a globally unique identifier for the job. ', 'type' => 'string', 'example' => 'sGWotg***010001', 'title' => ''], 'TaskId' => ['description' => 'The ID of the job under the task. This is the globally unique identifier of the job.', 'type' => 'string', 'example' => 'MSnT9wl***q010101', 'title' => ''], 'IotId' => ['description' => 'The ID issued by the IoT Platform for the device, serving as its globally unique identifier.', 'type' => 'string', 'example' => 'BDjhIC***i000101', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"NextToken\\": \\"223sdf***\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"512FF8FD-A97F-4AAF-B0A2-7BE3D3A19BB3\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"data\\": [\\n {\\n \\"Status\\": \\"SUCCEEDED\\",\\n \\"UtcQueueTime\\": \\"2019-05-21T13:03:53.000Z\\",\\n \\"ProductKey\\": \\"a1S0OM***\\",\\n \\"Progress\\": \\"80\\",\\n \\"DeviceName\\": \\"mydevice\\",\\n \\"JobName\\": \\"MyTestJobIax6Eq\\",\\n \\"UtcModified\\": \\"2019-05-21T13:03:56.000Z\\",\\n \\"JobId\\": \\"sGWotg***010001\\",\\n \\"TaskId\\": \\"MSnT9wl***q010101\\",\\n \\"IotId\\": \\"BDjhIC***i000101\\"\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'Obtain Job List ', 'summary' => 'Invoke this API to query the job list under a specified task or device.', 'description' => '## How-To'."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account when calling this API is 5.'."\n" ."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => '**Device definition**'."\n" .'|Name|Type|Description|'."\n" .'|------|------|------|'."\n" .'|IotId|String|Device ID. **IotId**, **ProductKey**, and **DeviceName** cannot all be empty at the same time.|'."\n" .'|ProductKey|String|The ProductKey of the product to which the device belongs.
If you specify this parameter, you must also specify **DeviceName**.|'."\n" .'|DeviceName|String|Device name.
If you specify this parameter, you must also specify **ProductKey**.|'."\n" ."\n\n" .'When calling this API, in addition to the specific request parameters described in this topic, you must also include common request parameters. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListTask', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTask'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'ListThingModelVersion' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product.'."\n" ."\n" .'You can view the ProductKey on the Product Details page of the IoT Platform console. You can also obtain the ProductKey by calling the [QueryProductList](~~69271~~) operation.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data returned if the call is successful.'."\n", 'type' => 'object', 'properties' => [ 'ModelVersions' => [ 'description' => 'The list of TSL model versions. The versions are displayed in descending order based on the release time. The first version is the current version.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'GmtCreate' => ['description' => 'The timestamp when the TSL model version was published. The time is displayed in UTC. Unit: milliseconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1579235657535', 'title' => ''], 'Description' => ['description' => 'The description of the TSL model version.'."\n", 'type' => 'string', 'example' => '增加一个light属性', 'title' => ''], 'ModelVersion' => ['description' => 'The version number of the TSL model.'."\n", 'type' => 'string', 'example' => 'V1.0.0', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ModelVersions\\": [\\n {\\n \\"GmtCreate\\": 1579235657535,\\n \\"Description\\": \\"增加一个light属性\\",\\n \\"ModelVersion\\": \\"V1.0.0\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n\\n \\n V3.0.0\\n 1579235682421\\n new properties\\n \\n \\n V2.0.0\\n 1579235657535\\n new properties\\n \\n \\n V1.0.0\\n 1579235637994\\n Lighting\\n \\n\\n9BA34AE5-2D94-4BDE-BD78-E7D3FC7985BC\\ntrue\\n","errorExample":""}]', 'title' => 'ListThingModelVersion', 'summary' => 'Queries the Thing Specification Language (TSL) model versions of a specified product.', 'description' => 'You can manage TSL models by version. After you import a TSL model by calling the [ImportThingModelTsl](~~150320~~) operation, copy a TSL model by calling the [CopyThingModel](~~150322~~) operation, or edit a TSL model, you must publish the TSL model by calling the [PublishThingModel](~~150311~~) operation. Then, the TSL model can be used. Each time a TSL model of a product is published, a new version is generated.'."\n" ."\n" .'## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS). '."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListThingModelVersion', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'ListThingTemplates' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The list of standard categories returned if the call is successful.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'CategoryName' => ['description' => 'The name of the category.'."\n", 'type' => 'string', 'example' => '路灯照明', 'title' => ''], 'CategoryKey' => ['description' => 'The identifier of the category.'."\n", 'type' => 'string', 'example' => 'lighting', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": [\\n {\\n \\"CategoryName\\": \\"路灯照明\\",\\n \\"CategoryKey\\": \\"lighting\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', 'title' => 'ListThingTemplates', 'summary' => 'Queries standard product categories that are predefined by IoT Platform.', 'description' => 'IoT Platform provides product categories that have defined TSL models, such as street lamps, vehicle location cards, and water immersion detectors.'."\n" ."\n" .'When you call the [CreateProduct](~~69123~~) operation to create a product, you can set the CategoryKey parameter to specify a product category. The product that you create references the standardized TSL model of the specified category.'."\n" ."\n" .'## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS). '."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListThingTemplates', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'ModifyOTAFirmware' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the OTA update package belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1uctKe****', 'title' => ''], ], [ 'name' => 'FirmwareId', 'in' => 'query', 'schema' => ['description' => 'The ID of the OTA update package, which serves as its unique identifier.'."\n" ."\n" .'The OTA update package ID is returned when you call the [CreateOTAFirmware](~~147311~~) API to create an OTA update package.'."\n" ."\n" .'You can also call the [ListOTAFirmware](~~147450~~) API and check the response parameters to obtain this ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 's8SSHiKjpBfrM3BSN0z803****', 'title' => ''], ], [ 'name' => 'FirmwareDesc', 'in' => 'query', 'schema' => ['description' => 'The description of the OTA update package. The description can be up to 100 characters in length. Each Chinese character counts as one character.'."\n", 'type' => 'string', 'required' => false, 'example' => 'OTA function updated', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify this **ID**. Otherwise, the invocation fails.'."\n" .'- If the **Instance Overview** page or **ID** does not exist, you do not need to specify this parameter.'."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot-0pp1n8t****', 'title' => ''], ], [ 'name' => 'FirmwareName', 'in' => 'query', 'schema' => ['description' => 'The name of the OTA update package, which must be unique within the Alibaba Cloud account. The name can contain Chinese characters, English letters, Japanese characters, digits, hyphens (-), underscores (_), and half-width parentheses (). It must start with a Chinese character, English letter, Japanese character, or digit, and its length must be 1 to 40 characters.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Firmwaretest', 'title' => ''], ], [ 'name' => 'FirmwareUdi', 'in' => 'query', 'schema' => ['description' => 'Custom information to push to devices. The content format is unrestricted, but the length cannot exceed 4096 characters.'."\n", 'type' => 'string', 'required' => false, 'example' => '{"ota_notice":"升级底层摄像头驱动,解决视频图像模糊的问题。"}', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see **Error codes** below.'."\n", 'type' => 'string', 'example' => 'iot.ota.FirmwareNotFound', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.'."\n", 'type' => 'string', 'example' => 'The specified firmware does not exist.', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.firmware.AlreadyExistedFirmwareName', 'errorMessage' => 'The OTA update package already exists.', 'description' => 'The OTA update package already exists.'], ['errorCode' => 'iot.ota.FirmwareNotFound', 'errorMessage' => 'The specified firmware does not exist.', 'description' => 'The specified firmware does not exist.'], ['errorCode' => 'iot.ota.FirmwareAndProductKeyMismatch', 'errorMessage' => 'The OTA update package is not consistent with the ProductKey.', 'description' => 'The OTA update package is not consistent with the ProductKey.'], ['errorCode' => 'iot.ota.TenantIdMisMatch', 'errorMessage' => 'The tenantId is invalid.', 'description' => 'The tenantId is invalid.'], ['errorCode' => 'iot.firmware.FirmwareUdiExceedLimit', 'errorMessage' => 'The UDI of the firmware is longer than the limit.', 'description' => 'The udi of firmware exceed limit.'], ['errorCode' => 'iot.firmware.FirmwareDescExceedLimit', 'errorMessage' => 'The description of the firmware is longer than the limit.', 'description' => 'The desc of firmware exceed limit.'], ['errorCode' => 'iot.firmware.IncorrectFormattedFirmwareName', 'errorMessage' => 'The format of the OTA update package name is invalid.', 'description' => 'The format of the OTA update package name is invalid.'], ['errorCode' => 'iot.ota.InstanceIdMisMatch', 'errorMessage' => 'The instanceId is invalid.', 'description' => 'The instanceId is invalid.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.ota.FirmwareNotFound\\",\\n \\"ErrorMessage\\": \\"The specified firmware does not exist.\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'ModifyOTAFirmware'."\n", 'summary' => 'You can call this API to modify the information of an over-the-air (OTA) update package, including the package name, description, and custom information.'."\n", 'description' => '## Queries per second (QPS) limit'."\n" ."\n" .'Each Alibaba Cloud account can send a maximum of 5 requests per second (QPS) to call this API.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Request Parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:ModifyOTAFirmware', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyOTAFirmware'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'ModifyPowerStation' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'AlgorithmInstanceUid', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'PowerStationUid', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'PowerStationName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'RatedPower', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Data' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.dap.insight.unknownException', 'errorMessage' => 'unknown exception.', 'description' => 'unknown exception.'], ['errorCode' => 'iot.dap.insight.requestParamError', 'errorMessage' => 'request param error.', 'description' => 'request param error.'], ], 500 => [ ['errorCode' => 'iot.dap.insight.bizExceptionNotSpecified', 'errorMessage' => 'biz exception not specified.', 'description' => 'biz exception not specified.'], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"Data\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false\\n}","type":"json"}]', ], 'NotifyAddThingTopo' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'DeviceListStr', 'in' => 'query', 'schema' => ['description' => 'A JSON array of the sub-device identity information. You can use a combination of **ProductKey** and **DeviceName** or only **IotId** to specify a device, such as **\\[{"productKey":"a1BwAGxxx","deviceName":"device1"},{"IotId":"Q7uOhxxx"}]**.'."\n", 'type' => 'string', 'required' => false, 'example' => '[{"productKey":"a1BwAGV****","deviceName":"device1"},{"IotId":"Q7uOhVRdZRRlDnTLv****00100"}]', 'title' => ''], ], [ 'name' => 'GwIotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the gateway device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n" ."\n" .'> If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. The **IotId** parameter specifies a globally unique identifier (GUID) of the device, which corresponds to a combination of **ProductKey** and **DeviceName**. If you specify both **IotId** and the combination of **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vWxNur6BUApsqjv****4000100', 'title' => ''], ], [ 'name' => 'GwProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the gateway belongs.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1T27vz****', 'title' => ''], ], [ 'name' => 'GwDeviceName', 'in' => 'query', 'schema' => ['description' => 'The DeviceName of the gateway.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **ProductKey** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'gateway', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data returned if the call is successful.'."\n", 'type' => 'object', 'properties' => [ 'MessageId' => ['description' => 'The ID of the message that IoT Platform sends to the gateway. The message is used to notify the gateway to add a topology.'."\n", 'type' => 'string', 'example' => '5443123', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"MessageId\\": \\"5443123\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n419A3FC1-B517-4958-9414-5546765FA51F\\ntrue\\n\\n 2345123\\n\\n","errorExample":""}]', 'title' => 'NotifyAddThingTopo', 'summary' => 'Notifies a gateway to add topological relationships.', 'description' => 'A successful response indicates that the command to add topological relationships is sent to the gateway. It does not indicate that the topological relationships are added.'."\n" ."\n" .'When you develop the gateway, you must subscribe to the topic that is used to send notifications when you add topological relationships. For more information about the topic and message format, see [Manage topological relationships](~~89299~~).'."\n" ."\n" .'## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 500 queries per second (QPS). '."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:NotifyAddThingTopo', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'OpenIotService' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], [ 'APP' => [], ], [ 'PrivateKey' => [], ], [ 'BearerToken' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => ['operationType' => 'create'], 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'OrderId' => ['description' => 'The order ID for activating the service.', 'type' => 'string', 'example' => '20671870***', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => '427DB0B3-9436-4A3C-B2BC-B961F95E9488', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'OrderOpend', 'errorMessage' => 'You have already purchased the Iot service. Go to the Iot console to start using it.', 'description' => ''], ['errorCode' => 'AccountTypeRestricted', 'errorMessage' => 'Please submit the application for beta testing first. You can activate the product after the application is approved.', 'description' => ''], ['errorCode' => 'PermissionDenied', 'errorMessage' => 'The current sub account without permission, to authorize the Sub - Account, please.', 'description' => ''], ['errorCode' => 'PriceWanHuaTongSys', 'errorMessage' => 'Inquiry call kaleidoscope error', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"OrderId\\": \\"20671870***\\",\\n \\"RequestId\\": \\"427DB0B3-9436-4A3C-B2BC-B961F95E9488\\"\\n}","type":"json"}]', 'title' => 'Activate Service', 'summary' => 'Invoke this API to activate the IoT Platform service.', 'description' => '## Limits'."\n" ."\n" .'- The **Endpoint** for accessing Alibaba Cloud services supports only China (Shanghai), which is iot.cn-shanghai.aliyuncs.com.'."\n" ."\n" .'- Each Alibaba Cloud account can make a maximum of 10 queries per second (QPS) when calling this API.'."\n" ."\n" .' > Resource Access Management (RAM) users share the quota of their Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When calling the API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters documentation](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:OpenIotService', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'PackageSoundCodeLabelBatchAudio' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'BatchCode', 'in' => 'formData', 'schema' => ['description' => 'The unique identifier of the batch.', 'example' => 'Md3ZiTL888K9llXDy7890***********', 'required' => true, 'type' => 'string', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID.You can view the **ID** of your current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify it. Otherwise, the invocation fails.'."\n" .'- If no ID exists, you do not need to specify it.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [How to Obtain an Instance ID](~~267533~~).', 'example' => 'iot_instc_pu****_c*-v64********', 'required' => false, 'type' => 'string', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).'."\n", 'example' => 'iot.soundcodeservice.NotSigned', 'type' => 'string', 'title' => ''], 'Data' => ['description' => 'The audio packaging URL of the sound code label batch.', 'example' => 'http://****.oss-cn-shanghai.aliyuncs.com/speech_test_audio/CPjUL8qUtOMoQmC******.wav?Expires=1620380723', 'type' => 'string', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.'."\n", 'example' => 'sound code service has not been signed', 'type' => 'string', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'example' => '66FF51D3-***-49F1-B1A2-***', 'type' => 'string', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" ."\n" .'- **true**: The invocation succeeded.'."\n" ."\n" .'- **false**: The invocation failed.', 'example' => 'true', 'type' => 'boolean', 'title' => ''], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.soundcode.LabelBatchNotExists', 'errorMessage' => 'sound code label batch not exists', 'description' => ''], ['errorCode' => 'iot.soundcode.NoSuccessLabel', 'errorMessage' => 'no success label', 'description' => ''], ['errorCode' => 'iot.soundcode.InvalidIotInstanceId', 'errorMessage' => 'invalid iot instance id', 'description' => 'invalid iot instance id'], ], 403 => [ ['errorCode' => 'iot.soundcodeservice.NotSigned', 'errorMessage' => 'sound code service has not been signed', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"Data\\": \\"http://****.oss-cn-shanghai.aliyuncs.com/speech_test_audio/CPjUL8qUtOMoQmC******.wav?Expires=1620380723\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'PackageSoundCodeLabelBatchAudio', 'summary' => 'Invoke this API to obtain the audio packaging URL of a sound code label batch.', 'description' => '## Queries per second (QPS) limit'."\n" .'The maximum queries per second (QPS) for this API per Alibaba Cloud account is 2.'."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling this API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:PackageSoundCodeLabelBatchAudio', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PackageSoundCodeLabelBatchAudio'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'PageQuerySharedSpeechOpen' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the device.'."\n" ."\n" .'> If you specify this parameter, you do not need to specify **ProductKey** and **DeviceName**. **IotId** specifies the GUID of the device. The value of the IotId parameter is a combination of the values of the **ProductKey** and **DeviceName** parameters. If you specify the **IotId**, **ProductKey**, and **DeviceName** parameters, the value of the **IotId** parameter takes precedence.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], [ 'name' => 'ShareTaskCode', 'in' => 'formData', 'schema' => ['description' => 'The code that is used to share the speeches.'."\n" ."\n" .'You can obtain the **code** on the **Shared Corpus Management** page of **Speech Sending Voice Broadcasting Service**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ebed9280_ba25_48df_80c2_****', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'> If your instance has an ID, you must specify this parameter. Otherwise, the request fails. If no Overview page exists or no instance ID is displayed, you do not need to specify this parameter.'."\n" ."\n" .'For more information, see the [Overview](~~356505~~) topic of IoT instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot-2w****', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'formData', 'schema' => ['description' => 'The number of entries per page. Valid values: 1 to 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'example' => '10', 'default' => '10', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'formData', 'schema' => ['description' => 'The **ProductKey** of the product to which the device belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'sd34****', 'title' => ''], ], [ 'name' => 'PageId', 'in' => 'formData', 'schema' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'formData', 'schema' => ['description' => 'The DeviceName of the device.'."\n", 'type' => 'string', 'required' => false, 'example' => 'device1', 'title' => ''], ], [ 'name' => 'Status', 'in' => 'formData', 'schema' => ['description' => 'The status of the speeches that you want to query. Valid values:'."\n" ."\n" .'* **1**: The speeches are pending approval.'."\n" .'* **2**: The speeches are approved.'."\n" .'* **3**: The speeches are rejected.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'String iot.system.SystemException ', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the request fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the request was successful.'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The result returned if the request was successful.'."\n", 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'PageId' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Total' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], 'ResultData' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Data' => [ 'description' => 'The information about shared speeches.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the speeches. Valid values:'."\n" ."\n" .'* **1**: The speeches are pending approval.'."\n" .'* **2**: The speeches are approved.'."\n" .'* **3**: The speeches are rejected.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Voice' => ['description' => 'The sound effect that is used to broadcast speeches.'."\n", 'type' => 'string', 'example' => 'Siyue', 'title' => ''], 'BizCode' => ['description' => 'The unique identifier of the speech in the project.'."\n", 'type' => 'string', 'example' => 'identifying', 'title' => ''], 'Code' => ['description' => 'The unique identifier of the template.'."\n", 'type' => 'string', 'example' => 'ws****', 'title' => ''], 'Text' => ['description' => 'The content of the speech.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], 'SpeechRate' => ['description' => 'The broadcasting speed. Valid values: -500 to 500.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], 'Volume' => ['description' => 'The volume. Valid values: 0 to 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], 'AudioFormat' => ['description' => 'The audio format. Valid values: **wav**, **mp3**, and **amr**.'."\n", 'type' => 'string', 'example' => 'wav', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ['errorCode' => 'iot.system.IllegalRequest', 'errorMessage' => 'The request parameter is invalid.', 'description' => 'The request parameter is invalid.'], ['errorCode' => 'iot.soundcode.InvalidIotInstanceId', 'errorMessage' => 'invalid iot instance id', 'description' => 'invalid iot instance id'], ['errorCode' => 'iot.soundcode.InvalidParam', 'errorMessage' => 'invalid param', 'description' => 'invalid param'], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"String\\\\tiot.system.SystemException\\\\t\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageSize\\": 10,\\n \\"PageId\\": 1,\\n \\"Total\\": 100,\\n \\"ResultData\\": {\\n \\"Data\\": [\\n {\\n \\"Status\\": 1,\\n \\"Voice\\": \\"Siyue\\",\\n \\"BizCode\\": \\"identifying\\",\\n \\"Code\\": \\"ws****\\",\\n \\"Text\\": \\"test\\",\\n \\"SpeechRate\\": 50,\\n \\"Volume\\": 50,\\n \\"AudioFormat\\": \\"wav\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"\\nE4C0FF92-2A86-41DB-92D3-73B60310D25E\\n\\n 1\\n 10\\n 100\\n \\n \\n 1\\n 50\\n test\\n wav\\n Siyue\\n ws****\\n 50\\n identifying\\n \\n \\n\\ntrue\\n","errorExample":""}]', 'title' => 'PageQuerySharedSpeechOpen', 'summary' => 'Queries the speeches that you share.', 'description' => '## QPS limits'."\n" ."\n" .'You can call this operation up to 100 times per second per account.'."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:PageQuerySharedSpeechOpen', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'PageQuerySpeechBroadcastHour' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'ShareTaskCode', 'in' => 'formData', 'schema' => ['description' => 'The code of the speech sharing task.'."\n" ."\n" .'You can obtain the **code** on the **Shared Corpus Management** page of **Speech Sending Voice Broadcasting Service**.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ebed9280_ba25_48df_80c2_****', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'> If your instance has an ID, you must specify this parameter. Otherwise, the request fails. If no Overview page exists or no instance ID is displayed, you do not need to specify this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~) of IoT instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot-2w****', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'formData', 'schema' => ['description' => 'The number of entries per page. Default value: 10. Valid values: 1 to 2000.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '2000', 'minimum' => '1', 'example' => '10', 'default' => '10', 'title' => ''], ], [ 'name' => 'PageToken', 'in' => 'formData', 'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request. You must specify the token that is obtained from the previous query as the value of **PageToken**.'."\n" ."\n" .'For example, if you want to query the results on Page n, you must set PageToken to the token that you obtained when you queried the results on Page n - 1.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TGlzdFJlc291cm****', 'title' => ''], ], [ 'name' => 'QueryDateTimeHour', 'in' => 'query', 'schema' => ['description' => 'The end time of the hour in which you want to query data. Example: 2020090919, which specifies 19:00 on September 9, 2020.'."\n", 'type' => 'string', 'required' => true, 'example' => '2020090919', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the request fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The result returned if the call is successful.'."\n", 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'PageId' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Total' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], 'PageToken' => ['description' => 'A pagination token. It can be used in the next request to retrieve a new page of results.'."\n" ."\n" .'If **PageToken** is empty, no next page exists.'."\n", 'type' => 'string', 'example' => 'TGlzdFJlc291cm****', 'title' => ''], 'ResultData' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Data' => [ 'description' => 'The shared speech broadcasting data returned.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Msg' => ['description' => 'The message that indicates the speech broadcasting result.'."\n", 'type' => 'string', 'example' => '播报成功。', 'title' => ''], 'StartTime' => ['description' => 'The start time of speech broadcasting. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1663210172207', 'title' => ''], 'ProductKey' => ['description' => 'The **ProductKey** of the product to which the device belongs.'."\n", 'type' => 'string', 'example' => 'sd34****', 'title' => ''], 'DeviceName' => ['description' => 'The DeviceName of the device.'."\n", 'type' => 'string', 'example' => 'device1', 'title' => ''], 'ShareTaskCode' => ['description' => 'The code of the sharing task.'."\n", 'type' => 'string', 'example' => 'ebed9280_ba25_48df_80c2_****', 'title' => ''], 'SpeechId' => ['description' => 'The ID of the speech that was broadcasted.'."\n", 'type' => 'string', 'example' => '42000011392021112380****', 'title' => ''], 'Code' => ['description' => 'Indicates whether the speech was successfully broadcasted. Valid values:'."\n" ."\n" .'* **0**: The speech was successfully broadcasted.'."\n" .'* **1**: The speech was repeatedly broadcasted.'."\n" .'* **2**: The speech does not exist.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'Speechs' => ['description' => 'The content of the broadcasted speech. The parameter value is a JSON array.'."\n", 'type' => 'string', 'example' => '["ANC","CDF"]', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.speech.InvalidIotInstanceId', 'errorMessage' => 'invalid instance id', 'description' => ''], ['errorCode' => 'iot.soundcode.InvalidParam', 'errorMessage' => 'invalid param', 'description' => 'invalid param'], ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageSize\\": 10,\\n \\"PageId\\": 1,\\n \\"Total\\": 100,\\n \\"PageToken\\": \\"TGlzdFJlc291cm****\\",\\n \\"ResultData\\": {\\n \\"Data\\": [\\n {\\n \\"Msg\\": \\"播报成功。\\",\\n \\"StartTime\\": 1663210172207,\\n \\"ProductKey\\": \\"sd34****\\",\\n \\"DeviceName\\": \\"device1\\",\\n \\"ShareTaskCode\\": \\"ebed9280_ba25_48df_80c2_****\\",\\n \\"SpeechId\\": \\"42000011392021112380****\\",\\n \\"Code\\": 0,\\n \\"Speechs\\": \\"[\\\\\\"ANC\\\\\\",\\\\\\"CDF\\\\\\"]\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', 'title' => 'PageQuerySpeechBroadcastHour', 'summary' => 'Queries the shared speech broadcasting data of a specific hour by page in Speech Sending Service.', 'description' => '## Usage notes'."\n" ."\n" .'You can call this operation to query only shared speech broadcasting data six hours ago. For example, if a shared speech was broadcasted at 07:15, you can query the speech after 13:15.'."\n" ."\n" .'## QPS limits'."\n" ."\n" .'You can call this operation up to 100 times per second per account.'."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], ], 'PrintByTemplate' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'ParamsJsonString', 'in' => 'formData', 'schema' => ['description' => 'The template parameters. You can obtain the template of receipts in the Letter Sending Service console, and configure parameters in the template to create a custom receipt that you want to print.'."\n", 'type' => 'string', 'required' => false, 'example' => '{ "orderTable": [ { "number": "1", "price": "33.00", "name": "糖醋排骨" } ], "orderTime": "2021-01-25 10:20:00", "address": "地址:浙江省杭州市西湖区阿里云飞天园区", "phone": "13********", "price": "? 74.00", "distributionFee": "5.00", "shopName": "XX食品商店", "title": "XX外卖单", "status": "--已在线支付--" }', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'formData', 'schema' => ['description' => 'The device ID.'."\n" ."\n" .'> If you specify this parameter, you do not need to specify the **ProductKey** and **DeviceName** parameters. **IotId** specifies a globally unique identifier (GUID) of the device, which corresponds to a combination of **ProductKey** and **DeviceName**. If you specify the **IotId**, **ProductKey**, and **DeviceName** parameters, the value of the **IotId** parameter takes precedence.'."\n", 'type' => 'string', 'required' => false, 'example' => '4de2c367****8c585e5992**', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID.'."\n" ."\n" .'You do not need to specify this parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'TemplateBizCode', 'in' => 'formData', 'schema' => ['description' => 'The template identifier. You can obtain the template identifier in the Letter Sending Service console.'."\n", 'type' => 'string', 'required' => true, 'example' => 'test', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'formData', 'schema' => ['description' => 'The unique identifier of the product to which the device belongs.'."\n" ."\n" .'> If you specify the **ProductKey** parameter, you must also specify the **DeviceName** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'formData', 'schema' => ['description' => 'The DeviceName of the device.'."\n", 'type' => 'string', 'required' => false, 'example' => 'light', 'title' => ''], ], [ 'name' => 'HistoryPrintTopic', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to send the historical topic to the printer.'."\n" ."\n" .'* false (default): The topic that is sent to the printer is in the \\*\\*/ext/rrpc/+/{pk}/{dn}/user/print\\*\\* format.'."\n" .'* true: The topic that is sent to the printer is in the \\*\\*/ext/rrpc/+/{pk}/{dn}/print\\*\\* format.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.printservice.NotSigned', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the request fails.'."\n", 'type' => 'string', 'example' => 'print service not open', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '66FF51D3-***-49F1-B1A2-*** ', 'title' => ''], 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The result of the printing operation.'."\n", 'type' => 'object', 'properties' => [ 'RetryCount' => ['description' => 'The actual number of retries.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'Success' => ['description' => 'Indicates whether the printing operation was successful.'."\n" ."\n" .'* **true**: The printing operation was successful.'."\n" .'* **false**: The printing operation failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'DeviceErrorMessage' => ['description' => 'The error message returned by the printer.'."\n", 'type' => 'string', 'example' => 'no paper', 'title' => ''], 'MaxRetryCount' => ['description' => 'The maximum number of retries. The value is fixed at 2, which indicates that up to two printing retries are supported.'."\n" ."\n" .'If the printer responds to the printing command with a failure or timeout error, IoT Platform delivers the printing command to the printer.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'DeviceErrorCode' => ['description' => 'The error code returned by the printer. Valid values:'."\n" ."\n" .'* 2: The printer ran out of paper.'."\n" .'* 3: A paper jam occurred in the printer.'."\n", 'type' => 'string', 'example' => '2', 'title' => ''], 'Id' => ['description' => 'The ID of the printing operation.'."\n", 'type' => 'string', 'example' => 'NyWh5lw3*****RfL9LJUivhOhQV*****', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.printservice.NotSigned\\",\\n \\"ErrorMessage\\": \\"print service not open\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\\\t\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"RetryCount\\": 0,\\n \\"Success\\": true,\\n \\"DeviceErrorMessage\\": \\"no paper\\",\\n \\"MaxRetryCount\\": 2,\\n \\"DeviceErrorCode\\": \\"2\\",\\n \\"Id\\": \\"NyWh5lw3*****RfL9LJUivhOhQV*****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n66FF51D3-***-49F1-B1A2-***\\t\\n\\n 2\\n 0\\n NyWh5lw3*****RfL9LJUivhOhQV*****\\n 2\\n no paper\\n true\\n\\ntrue\\n","errorExample":""}]', 'title' => 'PrintByTemplate', 'summary' => 'Prints a receipt that follows the template in the Letter Sending Service console.', 'description' => '## Limits'."\n" ."\n" .'Before you call this operation, a receipt template must be available in the Letter Sending Service console. Otherwise, the request fails.'."\n" ."\n" .'## QPS limits'."\n" ."\n" .'You can call this API operation up to 50 times per second per account.'."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:PrintByTemplate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'Pub' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can obtain the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must specify this parameter. Otherwise, the call fails.'."\n" .'>* If the **Overview** page or the instance ID is not displayed in the IoT Platform console, ignore this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'CorrelationData', 'in' => 'query', 'schema' => ['description' => 'The related data in the request/response communication mode when you use MQTT 5.0. You can specify this parameter as needed.'."\n" ."\n" .'A message recipient can process the request based on the data.'."\n" ."\n" .'> You must convert the related data into binary data and perform Base64 encoding to generate a value of the string type.'."\n", 'type' => 'string', 'required' => false, 'example' => 'aGVsbG8****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the device that receives the message belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1Q5XoY****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The name of the MQTT cloud gateway.'."\n" ."\n" .'>When you publish a message to an MQTT cloud gateway, you must specify this parameter.', 'type' => 'string', 'required' => false, 'example' => 'device1', 'title' => ''], ], [ 'name' => 'Qos', 'in' => 'query', 'schema' => [ 'description' => 'The quality of service (QoS) level of the message. Valid values:'."\n" ."\n" .'* **0**: The message is published at most once.'."\n" .'* **1**: The message is published at least once. If a PUBACK response is not returned after you publish a QoS 1 message, the message is pushed to the device again when the device reconnects to IoT Platform.'."\n" ."\n" .'Default value: **0**.'."\n" ."\n" .'For more information about message communication, see [Limits](~~30527~~).'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'default' => '0', 'enum' => ['0', '1'], 'title' => '', ], ], [ 'name' => 'ContentType', 'in' => 'query', 'schema' => ['description' => 'The content type of the message when you use MQTT 5.0 for communication.'."\n" ."\n" .'The content type is usually MIME, such as text or plain********.'."\n", 'type' => 'string', 'required' => false, 'example' => 'text', 'title' => ''], ], [ 'name' => 'PayloadFormatIndicator', 'in' => 'query', 'schema' => ['description' => 'The payload identifier of the message when you use MQTT 5.0 for communication. Valid values:'."\n" ."\n" .'* **0**: The message is unknown byte data.'."\n" .'* **1**: The payload of the message is UTF-8 encoded character data.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'Retained', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'MessageExpiryInterval', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int64', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ResponseTopic', 'in' => 'query', 'schema' => ['description' => 'The response topic in the request/response communication mode when you use MQTT 5.0. For more information, see [MQTT 5.0](~~30540~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '/a1Q5XoY****/device1/user/update', 'title' => ''], ], [ 'name' => 'TopicFullName', 'in' => 'query', 'schema' => ['description' => 'The custom topic for the device that receives the message.'."\n" ."\n" .'* Topic format: `/${productKey}/${deviceName}/user/${TopicShortName}`.'."\n" .'* You must specify the **Subscribe** permission, or **Publish and Subscribe** permissions for the topic.'."\n" ."\n" .'> Make sure that the device subscribes to the topic before you call the Pub operation. Otherwise, the device cannot receive the message.'."\n" ."\n" .'You can view the custom topics of a product on the **Topic Categories** tab of the **Product Details** page, or by calling the [QueryProductTopic](~~69647~~) operation. You can view the topics to which the device subscribes on the **Topic List** tab of the **Device Details** page.', 'type' => 'string', 'required' => true, 'example' => '/a1Q5XoY****/device1/user/get', 'title' => ''], ], [ 'name' => 'MessageContent', 'in' => 'formData', 'schema' => ['description' => 'The body of the message that you want to publish.'."\n" ."\n" .'To generate a message body, you must convert the raw message into binary data and perform Base64 encoding.'."\n", 'type' => 'string', 'required' => true, 'example' => 'eyJ0ZXN0IjoidGFzayBwdWIgYnJvYWRjYXN0In0=', 'title' => ''], ], [ 'name' => 'TopicAlias', 'in' => 'query', 'schema' => ['type' => 'integer', 'description' => '', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => ''], ], [ 'name' => 'UserProp', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'When using the MQTT 5.0 communication protocol, this parameter specifies a list of custom properties defined by the user. ', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The custom property key that is specified when you use MQTT 5.0 for communication.'."\n" ."\n" .'This parameter must be used together with the **UserProp.N.Value** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'key1', 'title' => ''], 'Value' => ['description' => 'The custom property value that is specified when you use MQTT 5.0 for communication.'."\n" ."\n" .'This parameter must be used together with the **UserProp.N.Key** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'value1', 'title' => ''], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 20, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'MessageId' => ['description' => 'The message ID that is generated by IoT Platform when the message is sent.'."\n", 'type' => 'string', 'example' => '889455942124347329', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'BB71E443-4447-4024-A000-EDE09922891E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"MessageId\\": \\"889455942124347329\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"BB71E443-4447-4024-A000-EDE09922891E\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Pub'."\n", 'summary' => 'Invoke this API to publish a message to a device through a custom topic. This API supports sending broadcast messages to online devices that have subscribed to the specified custom topic under a specified product.'."\n", 'description' => '## How-To'."\n" ."\n" .'When sending a broadcast message:'."\n" ."\n" .'- The relevant topics are defined during device development and do not need to be created in the console.'."\n" .'- By default, a single topic can be subscribed to by up to 1,000 devices. If you need to allow additional devices to subscribe to broadcast messages on a custom topic later, use the MQTT 5.0 communication protocol. You can enable retained message broadcasting for the custom topic and configure messages published to the custom topic as retained messages. For instructions, see [UpdateTopicConfig](~~601689~~).'."\n" ."\n" .'## Limits'."\n" ."\n" .'This API does not support sending instructions to set properties or invoke services.'."\n" ."\n" .'- To set properties, use [SetDeviceProperty](~~69579~~) or [SetDevicesProperty](~~96243~~).'."\n" .'- To invoke services, use [InvokeThingService](~~69584~~) or [InvokeThingsService](~~96242~~).'."\n" ."\n" .'## QPS Limits'."\n" ."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 1,600.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When calling this API, you must pass both the common request parameters and the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Request Parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:Pub', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '2000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'Pub'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'PubBroadcast' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must specify this parameter. Otherwise, the call fails.'."\n" .'>* If the **Overview** page or an instance ID is not displayed in the IoT Platform console, ignore this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the devices belong.'."\n" ."\n" .'A **ProductKey** is the unique identifier of a product in IoT Platform. You can view the information about all products within the current Alibaba Cloud account in the IoT Platform console or by calling the [QueryProductList](~~69271~~) operation.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'aldeji3*****', 'title' => ''], ], [ 'name' => 'TopicFullName', 'in' => 'query', 'schema' => ['description' => 'The name of the topic. This parameter is optional.'."\n" ."\n" .'* If you do not specify this parameter, the message is pushed to all online devices that have the specified **ProductKey**. Devices receive the message from the broadcast topic in the following format: `/sys/${productKey}/${deviceName}/broadcast/request/${MessageId}`. The **MessageId** variable is generated by IoT Platform.'."\n" .'* If you specify this parameter, the message is pushed to the devices that have the specified **ProductKey** and subscribe to the specified topic. You must specify a broadcast topic by using the following syntax: `/broadcast/${productKey}/Custom field`. Replace **${productKey}** with the **ProductKey** of the devices that receive the message. For the custom field, you can specify a value based on your business requirements.'."\n" ."\n" .'> * When you develop devices, you need to only write code to define a broadcast topic. You do not need to create a topic in the IoT Platform console.'."\n" .'>* A maximum of 1,000 devices can subscribe to a broadcast topic. If the number of devices exceeds the limit, you can divide the devices into groups. For example, you can divide 5,000 devices into five groups that contain 1,000 devices. In this case, you must call this operation five times and set the value of the custom field to group1, group2, group3, group4, and group5. Then, configure the devices. This way, each group of devices subscribes to the corresponding topic.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '/broadcast/UPqSxj2vXXX/xxx', 'title' => ''], ], [ 'name' => 'MessageContent', 'in' => 'query', 'schema' => ['description' => 'The message body that you want to send. The maximum size of a message is 64 KB.'."\n" ."\n" .'To generate a message body, you must convert the raw message into binary data and perform Base64 encoding.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'aGVsbG93b3JsZA', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'MessageId' => ['description' => 'The message ID that is generated by IoT Platform when the message is sent.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1234291569964771840', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the request fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request. The ID is a unique identifier of the request.'."\n", 'type' => 'string', 'example' => 'BB71E443-4447-4024-A000-EDE09922891E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"MessageId\\": 1234291569964771800,\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"BB71E443-4447-4024-A000-EDE09922891E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n \\r\\n BB71E443-4447-4024-A000-EDE09922891E\\r\\n 1234291569964771840\\r\\n true\\r\\n ","errorExample":""}]', 'title' => 'PubBroadcast', 'summary' => 'Broadcasts messages to online devices of a product. You can specify all online devices or only the online devices that subscribe to a specified topic.', 'description' => 'You can use the **TopicFullName** parameter in the **request** to specify the devices to which you want to broadcast messages. For more information, see the description about the **TopicFullName** parameter in this topic.'."\n" ."\n" .'## QPS limits'."\n" ."\n" .'- Each Alibaba Cloud account can run only one query per second (QPS) to broadcast a message to devices that subscribe to a topic.'."\n" .'- Each Alibaba Cloud account can run only one query per minute (QPM) to broadcast a message to all online devices of a product. > The RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:PubBroadcast', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'PublishScript' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of your current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify this parameter. Otherwise, the invocation fails.'."\n" .'- If the **Instance Overview** page or ID does not exist, you do not need to specify this parameter.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-n8t***', 'title' => ''], ], [ 'name' => 'ParserId', 'in' => 'query', 'schema' => ['description' => 'The resolver ID. You can call the [ListParsers](~~429046~~) API to query the resolver list and obtain the **ParserId**.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '99999999', 'minimum' => '0', 'example' => '1001', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E', 'title' => ''], 'SyntaxErrorMsg' => ['description' => 'The syntax error message returned when the resolver script fails to be published.', 'type' => 'string', 'example' => 'script doesn\'t contains transmit function', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ['errorCode' => 'iot.system.IllegalRequest', 'errorMessage' => 'The request parameter is invalid.', 'description' => 'The request parameter is invalid.'], ['errorCode' => 'iot.rule.scriptSyntaxError', 'errorMessage' => 'Script Syntax Error', 'description' => ''], ['errorCode' => 'iot.rule.NotFoundRule', 'errorMessage' => 'there are no rules', 'description' => ''], ['errorCode' => 'iot.rule.EmptyScript', 'errorMessage' => 'The script is empty.', 'description' => 'The script is empty.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"SyntaxErrorMsg\\": \\"script doesn\'t contains transmit function\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'PublishScript', 'summary' => 'Invoke this API to publish the script in a specified resolver.', 'description' => '## How-To'."\n" .'You have already called the [SaveScript](~~433523~~) API to edit and save a draft of the resolver script.'."\n" ."\n" .'## QPS Limit'."\n" ."\n" .'Each Alibaba Cloud account can send a maximum of 10 queries per second (QPS) to call this API.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling this API, you must include not only the API-specific request parameters described in this topic but also the common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:PublishScript', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PublishScript'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'PublishStudioApp' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID.'."\n" ."\n" .'You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console. If an ID exists, you must specify it; otherwise, the invocation will fail.'."\n" ."\n" .''."\n" .'> If your public instance does not have an ID, see [How to Obtain an Instance ID](~~267533~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'AppId', 'in' => 'formData', 'schema' => ['description' => 'The application ID. You can call [QueryStudioAppList](~~216816~~) to query it.', 'type' => 'string', 'required' => true, 'example' => 'a12*******', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'formData', 'schema' => ['description' => 'The description for publishing the application.', 'type' => 'string', 'required' => false, 'example' => '第一次发布', 'title' => ''], ], [ 'name' => 'ProjectId', 'in' => 'formData', 'schema' => ['description' => 'The project ID.'."\n" .'1. Log on to the [IoT Application Development Console](https://account.aliyun.com/login/login.htm?qrCodeFirst=false&oauth_callback=https%3A%2F%2Fstudio.iot.aliyun.com%2F%3Fspm%3Da2c4g.11186623.2.8.1e7830fagdybMb). After selecting the corresponding instance in the upper-left corner of the page, click Project Management in the left-side navigation pane.'."\n" .'2. In the standard project list, locate the target project, click its project card, and then check the address bar of your browser to obtain the project ID.', 'type' => 'string', 'required' => true, 'example' => 'a123******', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the invocation fails. For more information about error codes, see [Error Codes](~~202245~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'Data' => ['description' => 'This parameter is returned if the invocation succeeds. The value is true.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the invocation fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"Data\\": true,\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'PublishStudioApp', 'summary' => 'Invoke this API to publish an application.', 'description' => '## Limits'."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account when calling this API is 1. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Request Parameters](~~203277~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '1', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PublishStudioApp'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'PublishThingModel' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group.'."\n" ."\n" .'> You cannot specify this parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-acfm4l5tcwd****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product.'."\n" ."\n" .'You can view the ProductKey on the Product Details page of the IoT Platform console. You can also obtain the ProductKey by calling the [QueryProductList](~~69271~~) operation.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'ModelVersion', 'in' => 'query', 'schema' => ['description' => 'The version number of the TSL model.'."\n" ."\n" .'The version number must be 1 to 16 characters in length and can contain letters, digits, and periods (.).'."\n", 'type' => 'string', 'required' => false, 'example' => 'v1.0.0', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the TSL model version.'."\n", 'type' => 'string', 'required' => false, 'example' => '第二版', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\n5252CC6E-9E4B-4DB1-B1D8-7EEA190A5B3E\\ntrue\\n","errorExample":""}]', 'title' => 'PublishThingModel', 'summary' => 'Publishes the Thing specification Language (TSL) model of a specified product.', 'description' => '## Limits'."\n" ."\n" .'* If a product is published, you must call the [CancelReleaseProduct](~~213875~~) operation to unpublish the product before you call this operation.'."\n" ."\n" .'* Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:PublishThingModel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'PublishThingModelAsync' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ThingModelVersion', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Product.Key.Invalid', 'errorMessage' => 'Product key is invalid.', 'description' => 'The ProductKey is invalid.'], ['errorCode' => 'Product.not.found', 'errorMessage' => 'Product.not.found.', 'description' => 'The product does not exist.'], ['errorCode' => 'Distribute.thing.module.no.edit', 'errorMessage' => 'Distribute.thing.module.no.edit.', 'description' => 'Distribute.thing.module.no.edit.'], ['errorCode' => 'Thing.Model.Get.Lock.Failed', 'errorMessage' => 'The thing model get lock failed. Please try again later.', 'description' => 'The system failed to obtain the lock of the TSL model. Try again later.'], ['errorCode' => 'Server.error', 'errorMessage' => 'Server error.', 'description' => 'An error occurred on the server.'], ['errorCode' => 'Request.param.error', 'errorMessage' => 'Request.param.error. %s.', 'description' => ''], ['errorCode' => 'Thing.Model.Version.Invalid', 'errorMessage' => 'The thing model version is not valid.', 'description' => 'The version of the TSL model is invalid.'], ['errorCode' => 'Thing.Model.Status.Not.Final', 'errorMessage' => 'The thing model may be importing or copying or publishing. Please wait for the final status.', 'description' => 'The TSL model is being exported, copied, or published. Try again later.'], ['errorCode' => 'Product.has.published', 'errorMessage' => 'Product has published.', 'description' => 'The product is published.'], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:PublishThingModelAsync', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false\\n}","type":"json"}]', ], 'PublishThingModelAsyncInner' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'parameters' => [ [ 'name' => 'InsId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'Message' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'LocalizedMsg' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Request.param.error', 'errorMessage' => 'Request.param.error. %d.', 'description' => 'The %d request parameter is invalid.'], ['errorCode' => 'Product.Key.Invalid', 'errorMessage' => 'Product key is invalid.', 'description' => 'The ProductKey is invalid.'], ['errorCode' => 'Product.not.found', 'errorMessage' => 'Product.not.found.', 'description' => 'The product does not exist.'], ['errorCode' => 'Product.has.published', 'errorMessage' => 'Product has published.', 'description' => 'The product is published.'], ['errorCode' => 'Thing.Model.Version.Invalid', 'errorMessage' => 'The thing model version is not valid.', 'description' => 'The version of the TSL model is invalid.'], ['errorCode' => 'Thing.Model.Get.Lock.Failed', 'errorMessage' => 'The thing model get lock failed. Please try again later.', 'description' => 'The system failed to obtain the lock of the TSL model. Try again later.'], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"LocalizedMsg\\": \\"\\"\\n}","type":"json"}]', ], 'PushSpeech' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID. You can view the ID of the current instance on the **Instance Overview** tab in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID value exists, you must pass this **ID** value. Otherwise, the invocation fails.'."\n" .'- If no ID value exists, you do not need to pass this parameter.'."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'PushMode', 'in' => 'formData', 'schema' => ['description' => 'The push pattern.'."\n" ."\n" .'- **ALL**: Push to all devices.'."\n" ."\n" .'- **SINGLE_DEVICE**: Push to a single device.'."\n" ."\n" .'- **GROUP_DEVICE**: Push to a group of devices.'."\n", 'type' => 'string', 'required' => true, 'example' => 'SINGLE_DEVICE', 'title' => ''], ], [ 'name' => 'GroupId', 'in' => 'query', 'schema' => ['description' => 'The group ID. This parameter is Required when **PushMode** is set to **GROUP_DEVICE**. '."\n" .'You can obtain the group ID in **Device Management** > **Group Management**.', 'type' => 'string', 'required' => false, 'example' => '4de2c367****8c585e5992**', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'formData', 'schema' => ['description' => 'The Device ID. When the **push pattern** is set to **single device**, you must specify either this parameter or the combination of **ProductKey** and **DeviceName**.'."\n" ."\n" .'> If you specify this parameter, you do not need to specify **ProductKey** and **DeviceName**. **IotId** is the unique identifier of the device and corresponds one-to-one with the **ProductKey** and **DeviceName** combination. If you specify both **IotId** and the **ProductKey** and **DeviceName** combination, **IotId** takes precedence.', 'type' => 'string', 'required' => false, 'example' => '4de2c367****8c585e5992**', 'title' => ''], ], [ 'name' => 'ProjectCode', 'in' => 'formData', 'schema' => ['description' => 'The project ID is the UUID of the project. You can obtain the project ID in the [Project Management Console](https://iot.console.aliyun.com/things-service/projects).', 'type' => 'string', 'required' => true, 'example' => '4de2c367****8c585e5992**', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'formData', 'schema' => ['description' => 'The device name.', 'type' => 'string', 'required' => false, 'example' => 'light', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'formData', 'schema' => ['description' => 'The UUID of the product.', 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'SpeechCodeList', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of corpus IDs to be pushed. You can obtain this parameter by calling [QuerySpeechList](~~217576~~).'."\n" ."\n" .'N is an integer ranging from 1 to 100, indicating that up to 100 corpus entries can be pushed at a time.', 'type' => 'array', 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'required' => true, 'example' => '4de2c367****8c585e5992**', 'maxItems' => 100, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.speechsolution.NotSigned', 'title' => ''], 'Data' => ['description' => 'The ID of the push task (JobCode), which serves as the unique identifier of the push task.', 'type' => 'string', 'example' => '4de2c367****8c585e5992**', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => 'speech solution has not been signed', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => '66FF51D3-***-49F1-B1A2-***', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" ."\n" .'- **true**: The invocation succeeded.'."\n" ."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.speechsolution.NotSigned\\",\\n \\"Data\\": \\"4de2c367****8c585e5992**\\",\\n \\"ErrorMessage\\": \\"speech solution has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Push corpus to a device', 'summary' => 'Push corpus to a device.', 'description' => '## Queries per second (QPS) limit'."\n" ."\n" .'The maximum queries per second (QPS) for this API under a single Alibaba Cloud account is 10.'."\n" ."\n" .'> All Resource Access Management (RAM) users under an Alibaba Cloud account share the quota of that Alibaba Cloud account.', 'requestParamsDescription' => 'When you invoke this API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:PushSpeech', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PushSpeech'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QueryBatchRegisterDeviceStatus' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the ID of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n\n" .'**Important**'."\n" ."\n" .'* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n" .'* If no **Overview** page or ID is generated for your instance, you do not need configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'ApplyId', 'in' => 'query', 'schema' => ['description' => 'The application ID. If the call of the [BatchRegisterDeviceWithApplyId](~~69514~~) or [BatchRegisterDevice](~~69473~~) operation is successful, the application ID is returned.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1295006', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n" ."\n" .'> X.509 certificates are available only for devices in the China (Shanghai) region. If devices do not reside in the China (Shanghai) region, you cannot generate X.509 certificates for the devices and the iot.device.RegionNotSupportX509 error code is returned.'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The status information returned if the call is successful.'."\n", 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The processing status and result. Valid values:'."\n" ."\n" .'* **CHECK**: The system is verifying device names.'."\n" ."\n" .'* **CHECK_SUCCESS**: All devices in the application form are verified.'."\n" ."\n" .'* **CHECK_FAILED**: All devices in the application form failed to be verified.'."\n" ."\n" .'* **CREATE**: The system is creating devices.'."\n" ."\n" .'* **CREATE_SUCCESS**: All devices in the application form are created.'."\n" ."\n" .'> If the authentication type of the product to which the devices belong is X.509, all devices and the related X.509 certificates are created.'."\n" ."\n" .'* **CREATE_FAILED**: Some devices in the application form failed to be created.'."\n" ."\n" .'> If a device or X.509 certificate fails to be created in the current batch when the authentication type is X.509, all devices fail to be created.', 'type' => 'string', 'example' => 'CREATE_SUCCESS', 'title' => ''], 'InvalidDetailList' => [ 'itemNode' => true, 'description' => '', 'type' => 'object', 'properties' => [ 'invalidDetailList' => [ 'description' => '- When the returned **Status** parameter value is **CHECK_FAILED** or **CREATE_FAILED**, it indicates that some device creations failed, and this parameter returns a collection of details for the devices whose creation failed. '."\n" .'- When the returned **Status** parameter value is **CHECK_SUCCESS** or **CREATE_SUCCESS**, it indicates that all devices were created successfully, and no failure details need to be returned; this parameter is an empty array.', 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'ErrorMsg' => ['description' => 'The error message returned when device creation fails. '."\n" ."\n" .'> Multiple error messages are separated by a VERTICAL LINE (|).', 'type' => 'string', 'example' => 'The nick name is illegal.', 'title' => ''], 'NickName' => ['description' => 'The nickname of the device.', 'type' => 'string', 'example' => '园区灯-1', 'title' => ''], 'DeviceName' => ['description' => 'Device name.', 'type' => 'string', 'example' => 'light', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], 'InvalidList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Name' => [ 'description' => '* If the value of the **Status** parameter is **CHECK_FAILED** or **CREATE_FAILED**, some devices failed to be created and the names of the devices that failed to be created are returned in this parameter.'."\n" .'* If the value of the **Status** parameter is **CHECK_SUCCESS** or **CREATE_SUCCESS**, all devices are created and an empty array is returned in this parameter.'."\n", 'type' => 'array', 'items' => ['description' => '', 'type' => 'string', 'example' => '{ "Name": ["Elec_instrument"] }', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'ValidList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Name' => [ 'description' => '* If the value of the **Status** parameter is **CHECK_FAILED** or **CREATE_FAILED**, some devices failed to be created and the names of the created devices are returned in this parameter.'."\n" .'* If the value of the **Status** parameter is **CHECK_SUCCESS** or **CREATE_SUCCESS**, all devices are created and an empty array is returned in this parameter.'."\n", 'type' => 'array', 'items' => ['description' => '- When the returned **Status** parameter value is **CHECK_FAILED** or **CREATE_FAILED**, it indicates that some device creations failed, and this parameter returns a collection of device names for which creation succeeded. '."\n" .'- When the returned **Status** parameter value is **CHECK_SUCCESS** or **CREATE_SUCCESS**, it indicates that all devices were created successfully, and no device list needs to be returned; this parameter is an empty array.', 'type' => 'string', 'example' => '{ "Name": ["light3"] }', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Status\\": \\"CREATE_SUCCESS\\",\\n \\"InvalidDetailList\\": {\\n \\"invalidDetailList\\": [\\n {\\n \\"ErrorMsg\\": \\"The nick name is illegal.\\",\\n \\"NickName\\": \\"园区灯-1\\",\\n \\"DeviceName\\": \\"light\\"\\n }\\n ]\\n },\\n \\"InvalidList\\": {\\n \\"Name\\": [\\n \\"{ \\\\\\"Name\\\\\\": [\\\\\\"Elec_instrument\\\\\\"] }\\"\\n ]\\n },\\n \\"ValidList\\": {\\n \\"Name\\": [\\n \\"{ \\\\\\"Name\\\\\\": [\\\\\\"light3\\\\\\"] }\\"\\n ]\\n }\\n }\\n}","type":"json"}]', 'title' => 'Query the processing status and result of a batch device registration request', 'summary' => 'Invoke this API to query the processing status and result of a batch device registration request. ', 'description' => '## How-To '."\n" ."\n" .'When registering devices in batches, you can call this API with the application batch ID (**ApplyId**) to view the device name validation results or registration results. '."\n" ."\n" .'If you use custom device names for batch registration, you must first call this API to ensure that all custom device names pass validation before invoking the [BatchRegisterDeviceWithApplyId](~~69514~~) API with the corresponding **ApplyId** to complete device registration. '."\n" ."\n" .'> - If any device names fail validation, correct them according to the error message, then call the [BatchCheckDeviceNames](~~69482~~) API again to obtain a new **ApplyId**. Afterward, call the **QueryBatchRegisterDeviceStatus** API again to confirm that all device names have passed validation. '."\n" .'- If the returned **Status** is **CHECK**, please wait patiently. Batch device registration involves a procedure. You can call this API again later to check the **Status** and confirm that all device names have passed validation. '."\n" ."\n" .'For the complete flow of batch device registration using custom device names, see the **How-To** section of [BatchCheckDeviceNames](~~69482~~). '."\n" ."\n" .'## QPS Limit '."\n" ."\n" .'The maximum queries per second (QPS) for this API is 30 per Alibaba Cloud account. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. '."\n", 'requestParamsDescription' => 'When calling this API, you must pass both the common request parameters and the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Parameters](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryBatchRegisterDeviceStatus', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryBatchRegisterDeviceStatus'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QueryCertUrlByApplyId' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID.'."\n" ."\n" .'You can obtain the **ID** of the instance on the **Overview** page in the IoT Platform console. If your instance has an ID, you must specify this parameter. Otherwise, the request fails.'."\n" ."\n" .'> The ID of a public instance may not be displayed on the Overview page. For information about how to obtain the instance ID, see [How do I obtain an instance ID?](~~267533~~)'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ApplyId', 'in' => 'query', 'schema' => ['description' => 'The application ID. You can view the application ID in the result that is returned by the [BatchRegisterDeviceWithApplyId](~~69514~~) or [BatchRegisterDevice](~~69473~~) operation.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1234567', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'CertUrl' => ['description' => 'The URL from which you can download the X.509 certificates of created devices.'."\n", 'type' => 'string', 'example' => 'https://****', 'title' => ''], 'Code' => ['description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the request fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"CertUrl\\": \\"https://****\\",\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\n57b144cf-09fc-4916-a272-a62902d5b207\\ntrue\\nhttps://****\\n","errorExample":""}]', 'title' => 'QueryCertUrlByApplyId', 'summary' => 'Queries the URL from which you can download the X.509 certificates of created devices.', 'description' => '## Limits'."\n" ."\n" .'You can call this API operation up to 10 times per second per account.'."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryCertUrlByApplyId', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryClientIds' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the device. You can call the [QueryDeviceInfo](~~257184~~) operation to query the **IotId** parameter.'."\n", 'type' => 'string', 'required' => true, 'example' => 'y4u2weAIrpp****WHMle1234', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-a****13l', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '89F22330-BAEE-****-****-41BA46D6E267', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The ClientIDs returned if the call is successful. For more information, see **DynamicRegClientIds**.'."\n", 'type' => 'object', 'properties' => [ 'IotId' => ['description' => 'The ID of the device.'."\n", 'type' => 'string', 'example' => 'y4u2weAI********HMle1234', 'title' => ''], 'DynamicRegClientIds' => [ 'description' => 'The list of ClientIDs.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'CreateTime' => ['description' => 'The time when the ClientID was created.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1636514022424', 'title' => ''], 'ClientId' => ['description' => 'The ClientID of the device.'."\n", 'type' => 'string', 'example' => '9rSzYt4js92********f000112', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"89F22330-BAEE-****-****-41BA46D6E267\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"IotId\\": \\"y4u2weAI********HMle1234\\",\\n \\"DynamicRegClientIds\\": [\\n {\\n \\"CreateTime\\": 1636514022424,\\n \\"ClientId\\": \\"9rSzYt4js92********f000112\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\nCA991E7C-BDE7-5887-B3B7-E08C68C0D346\\n\\n kRLP***0000\\n \\n 1635847637823\\n K19uYV***000100\\n \\n \\n 1635846982286\\n bpQwyW***000100\\n \\n \\n 1635847426368\\n ntnIvez***000100\\n \\n\\ntrue\\n","errorExample":""}]', 'title' => 'QueryClientIds', 'summary' => 'Queries the ClientIDs of a device. This API operation applies to preregistration-free unique-certificate-per-product authentication.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryClientIds', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryConsumerGroupByGroupId' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'GroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the consumer group. After you call the [CreateConsumerGroup](~~170388~~) operation to create a consumer group, the consumer group ID is returned. You can call the [QueryConsumerGroupList](~~170419~~) operation to query the consumer group ID by group name. You can also go to the IoT Platform console,and choose **Rules** > **Server-side Subscription** > **Consumer Groups** to view the consumer group ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'nJRaJPn5U1JITGf****** ', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '73B9DF43-7780-47DE-8BED-077729D28BD2', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The details about the consumer group. This parameter is returned if the call is successful.'."\n", 'type' => 'object', 'properties' => [ 'GroupId' => ['description' => 'The ID of the consumer group.'."\n", 'type' => 'string', 'example' => 'nJRaJPn5U1JITGf****** ', 'title' => ''], 'GroupName' => ['description' => 'The name of the consumer group.'."\n", 'type' => 'string', 'example' => '消费组1', 'title' => ''], 'CreateTime' => ['description' => 'The time when the consumer group was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ss.SSSZ format. The time is displayed in UTC and accurate to milliseconds.'."\n", 'type' => 'string', 'example' => '2020-05-20T00:05:20.000Z', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"73B9DF43-7780-47DE-8BED-077729D28BD2\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"GroupId\\": \\"nJRaJPn5U1JITGf******\\\\t\\",\\n \\"GroupName\\": \\"消费组1\\",\\n \\"CreateTime\\": \\"2020-05-20T00:05:20.000Z\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', 'title' => 'QueryConsumerGroupByGroupId', 'summary' => 'Queries the detailed information about a consumer group based on the consumer group ID when you use an AMQP server-side subscription.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryConsumerGroupByGroupId', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryConsumerGroupList' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Valid values: 1 to 1000.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '2', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', 'schema' => ['description' => 'The number of the page to return. Pages start from page 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1', 'title' => ''], ], [ 'name' => 'Fuzzy', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform a fuzzy search. Valid values:'."\n" ."\n" .'* **true**: performs a fuzzy search. You must specify the **GroupName** parameter.'."\n" .'* **false**: queries all consumer groups of the current account.'."\n" ."\n" .'Default value: **false**.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'GroupName', 'in' => 'query', 'schema' => ['description' => 'The name of the consumer group to be queried. This parameter is required if the **Fuzzy** parameter is set to **true**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'A类消费组', 'title' => ''], ], [ 'name' => 'Type', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'SubBizCode', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'CurrentPage' => ['description' => 'The number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '73B9DF43-7780-47DE-8BED-077729D28BD2', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'PageCount' => ['description' => 'The total number of returned pages.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], 'Total' => ['description' => 'The total number of entries.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '8', 'title' => ''], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'ConsumerGroupDTO' => [ 'description' => 'The details about the consumer group. This parameter is returned if the call is successful. For more information, see ConsumerGroupDTO.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'GroupId' => ['description' => 'The ID of the consumer group.'."\n", 'type' => 'string', 'example' => 'nJRaJPn5U1JITGf****** ', 'title' => ''], 'GroupName' => ['description' => 'The name of the consumer group.'."\n", 'type' => 'string', 'example' => 'XX消费组1', 'title' => ''], 'CreateTime' => ['description' => 'The time when the consumer group was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ss.SSSZ format. The time is displayed in UTC and accurate to milliseconds.'."\n", 'type' => 'string', 'example' => '2020-05-20T00:05:20.000Z', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"CurrentPage\\": 1,\\n \\"RequestId\\": \\"73B9DF43-7780-47DE-8BED-077729D28BD2\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageSize\\": 2,\\n \\"PageCount\\": 4,\\n \\"Total\\": 8,\\n \\"Data\\": {\\n \\"ConsumerGroupDTO\\": [\\n {\\n \\"GroupId\\": \\"nJRaJPn5U1JITGf******\\\\t\\",\\n \\"GroupName\\": \\"XX消费组1\\",\\n \\"CreateTime\\": \\"2020-05-20T00:05:20.000Z\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', 'title' => 'QueryConsumerGroupList', 'summary' => 'Queries all consumer groups of the current account when you use AMQP server-side subscriptions. You can also call this operation to perform a fuzzy search by consumer group name.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryConsumerGroupList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryConsumerGroupStatus' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'GroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the consumer group. After you call the [CreateConsumerGroup](~~170388~~) operation to create a consumer group, the consumer group ID is returned. You can call the [QueryConsumerGroupList](~~170419~~) operation to query the consumer group ID by group name. You can also go to the IoT Platform console,and choose **Rules** > **Server-side Subscription** > **Consumer Groups** to view the consumer group ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'nJRaJPn5U1JITGf******', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'ConsumerSpeed' => ['description' => 'The message consumption rate of the consumer group. Unit: messages/minute.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '14', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'AccumulatedConsumeCountPerMinute' => ['description' => 'The message consumption rate. Unit: messages/minute.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'LastConsumerTime' => ['description' => 'The time when the last message was consumed. The time is in the yyyy-MM-dd\'T\'HH:mm:ss.SSSZ format. The time is displayed in UTC and accurate to milliseconds.'."\n", 'type' => 'string', 'example' => '2020-05-29T03:37:56.000Z', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'RealTimeConsumeCountPerMinute' => ['description' => 'The consumption rate of real-time messages in the consumer group. Unit: messages/minute.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '14', 'title' => ''], 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](/help/en/iot-platform/latest/bce100).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'AccumulationCount' => ['description' => 'The number of accumulated messages.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '13', 'title' => ''], 'ClientConnectionStatusList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'ConsumerGroupClientConnectionInfo' => [ 'description' => 'The details about the client. For more information, see **ConsumerGroupClientConnectionInfo**.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'OnlineTime' => ['description' => 'The last time when the client was online. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1591240546649', 'title' => ''], 'AccumulatedConsumeCountPerMinute' => ['description' => 'The consumption rate of accumulated messages on a single client of the consumer group. Unit: messages/minute.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'RealTimeConsumeCountPerMinute' => ['description' => 'The consumption rate of real-time messages on a single client of the consumer group. Unit: messages/minute.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], 'ClientIpPort' => ['description' => 'The IP address and port of the client.'."\n", 'type' => 'string', 'example' => '192.168.1.2:36918 ', 'title' => ''], 'ClientId' => ['description' => 'The ID of the client.'."\n", 'type' => 'string', 'example' => '868575026******', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"ConsumerSpeed\\": 14,\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"AccumulatedConsumeCountPerMinute\\": 10,\\n \\"LastConsumerTime\\": \\"2020-05-29T03:37:56.000Z\\",\\n \\"Success\\": true,\\n \\"RealTimeConsumeCountPerMinute\\": 14,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"AccumulationCount\\": 13,\\n \\"ClientConnectionStatusList\\": {\\n \\"ConsumerGroupClientConnectionInfo\\": [\\n {\\n \\"OnlineTime\\": 1591240546649,\\n \\"AccumulatedConsumeCountPerMinute\\": 10,\\n \\"RealTimeConsumeCountPerMinute\\": 5,\\n \\"ClientIpPort\\": \\"192.168.1.2:36918\\\\t\\",\\n \\"ClientId\\": \\"868575026******\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n\\n \\n 12345-1\\n 8\\n 1627624830193\\n 192.168.1.2:55545\\n 16\\n \\n \\n 12345-0\\n 10\\n 1627624829763\\n 192.168.1.2:55526\\n 14\\n \\n\\n4EC250E4-70CE-546E-9D4A-31D06E04EAD8\\n10\\ntrue\\n14\\n26\\n14\\n","errorExample":""}]', 'title' => 'QueryConsumerGroupStatus', 'summary' => 'Queries the status of a consumer group when you use an AMQP server-side subscription. The status information includes online client information, message consumption rate, number of accumulated messages, and last message consumption time.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryConsumerGroupStatus', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryCustomTimelineTableStatus' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'TableName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ 'ResultJson' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'PageNum' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'PageSize' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'Count' => ['type' => 'integer', 'format' => 'int64', 'description' => '', 'title' => '', 'example' => ''], 'HasNext' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.dap.insight.noAuthorization', 'errorMessage' => 'no authorization.', 'description' => 'no authorization.'], ['errorCode' => 'iot.dap.insight.requestParamError', 'errorMessage' => 'request param error.', 'description' => 'request param error.'], ['errorCode' => 'iot.dap.insight.unknownException', 'errorMessage' => 'System error. Please submit a ticket.', 'description' => ''], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QueryCustomTimelineTableStatus', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"ResultJson\\": \\"\\",\\n \\"PageNum\\": 0,\\n \\"PageSize\\": 0,\\n \\"Count\\": 0,\\n \\"HasNext\\": false\\n }\\n}","type":"json"}]', ], 'QueryDetailSceneRuleLog' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. Do not pass this parameter for public instances. Pass it for Enterprise instances.', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'RuleId', 'in' => 'query', 'schema' => ['description' => 'The scene orchestration rule ID. Call the [QuerySceneRule](~~169498~~) API to obtain the rule ID.', 'type' => 'string', 'required' => true, 'example' => 'e5dd1c7aa3994ecdbc88235979******', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', 'schema' => ['description' => 'The start time of the scene orchestration rule log, in seconds, specified as a UNIX timestamp.'."\n" ."\n" .'> You can query rule execution logs from up to the past 30 days.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1581917582', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', 'schema' => ['description' => 'The end time of the scene orchestration rule log, in seconds, specified as a UNIX timestamp.'."\n" ."\n" .'> You can query rule execution logs from up to the past 30 days.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1581918482', 'title' => ''], ], [ 'name' => 'TraceId', 'in' => 'query', 'schema' => ['description' => 'The trace ID of the scene orchestration rule log. Call the [QuerySummarySceneRuleLog](~~169511~~) API to obtain this ID.', 'type' => 'string', 'required' => true, 'example' => 'b662a9671581918480168107******', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of records displayed per page in the returned results. Maximum value: 30. Minimum value: 1. Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '15', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', 'schema' => ['description' => 'The page number from which to start displaying results. Minimum value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The API return code. "Success" indicates success, and other values indicate error codes. For more information, see [Error Codes](~~135200~~).', 'type' => 'string', 'example' => 'Success', 'title' => ''], 'RequestId' => ['description' => 'The Unique Identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => 'ED2DF141-B09A-4C8A-BAA5-30CCEE63036C', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation failed.', 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. true indicates success, and false indicates failure.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data returned when the invocation succeeded.', 'type' => 'object', 'properties' => [ 'CurrentPage' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageSize' => ['description' => 'The number of records displayed per page in the Return Result.', 'type' => 'integer', 'format' => 'int32', 'example' => '15', 'title' => ''], 'Total' => ['description' => 'The total Quantity of scene orchestration rule logs.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'LogList' => [ 'description' => 'The list of Log Details for scene orchestration rules.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code returned by the API. A value of 200 indicates success. Other values indicate error codes. For details, see the error message in the **Message** parameter.', 'type' => 'string', 'example' => '9201', 'title' => ''], 'Message' => ['description' => 'The log message of the scene orchestration rule returned by the API.', 'type' => 'string', 'example' => 'device offline, productKey: a1c3t****, deviceName: my_device1', 'title' => ''], 'PkDn' => ['description' => 'The ProductKey and DeviceName of the sub-device associated with the scene orchestration. The format is `your_ProductKey/your_DeviceName`.', 'type' => 'string', 'example' => 'a1c3t****/my_device1', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"RequestId\\": \\"ED2DF141-B09A-4C8A-BAA5-30CCEE63036C\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 15,\\n \\"Total\\": 1,\\n \\"LogList\\": [\\n {\\n \\"Code\\": \\"9201\\",\\n \\"Message\\": \\"device offline, productKey: a1c3t****, deviceName: my_device1\\",\\n \\"PkDn\\": \\"a1c3t****/my_device1\\"\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'View detailed information of scene orchestration rule logs', 'summary' => 'View the details of scene orchestration rule logs.', 'description' => '## Condition'."\n" .'The maximum queries per second (QPS) for this API under a single Alibaba Cloud account is 10.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking the API, in addition to the specific Request Parameters described in this topic, you must also pass in Common Request Parameters. For more information about common parameters, see [Common Parameters documentation](~~135196~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDetailSceneRuleLog', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDetailSceneRuleLog'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QueryDevice' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n\n" .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n" .'>* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Valid values: 1 to 50. Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'default' => '10', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', 'schema' => ['description' => 'The number of the page to return. Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'The token that is used to retrieve the next page of the query results. The first time you perform a query operation, you do not need to configure this parameter. You must specify the token that is obtained from the previous query for the **NextToken** parameter.'."\n" ."\n" .'If the product of the value of the **PageSize** parameter and the value of the **CurrentPage** parameter is greater than 10,000, you must configure the **NextToken** parameter. Otherwise, data cannot be returned.'."\n" ."\n\n" .'>If you configure the **NextToken** parameter, the product of the value of the **PageSize** parameter and the value of the **CurrentPage** parameter must be less than 1,000,000. Otherwise, data cannot be returned.', 'type' => 'string', 'required' => false, 'example' => 'TGlzdFJlc291cm***', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'NextToken' => ['description' => 'The token that is used to retrieve the subsequent page of the query results. You can specify this parameter in the subsequent query to obtain the next page of results.'."\n" ."\n" .'If the **NextToken** parameter is empty, no subsequent page exists.'."\n", 'type' => 'string', 'example' => 'TGlzdFJlc291cm***', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'PageCount' => ['description' => 'The total number of pages returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Total' => ['description' => 'The total number of devices.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'Page' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'DeviceInfo' => [ 'description' => 'The device information returned if the call is successful. The details of the devices are included in the **DeviceInfo** parameter.'."\n" ."\n" .'> The returned device information is sorted in reverse chronological order based on the time when the devices were created.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'DeviceName' => ['description' => 'The name of the device.'."\n", 'type' => 'string', 'example' => 'light', 'title' => ''], 'DeviceId' => ['description' => 'The ID of the device.'."\n" ."\n" .'> This parameter is deprecated. Do not use this parameter to identify a device. You can use the **IotId** parameter or a combination of the **ProductKey** and **DeviceName** parameters to identify a device.'."\n", 'type' => 'string', 'example' => 'dwnS41bhNxjslDAI****', 'title' => ''], 'DeviceType' => ['description' => 'The category of the product to which the device belongs.'."\n" ."\n" .'> This parameter is not returned.'."\n", 'type' => 'string', 'example' => 'Lighting', 'title' => ''], 'UtcCreate' => ['description' => 'The time when the device was created. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2019-02-20T02:16:09.000Z', 'title' => ''], 'DeviceStatus' => ['description' => 'The status of the device. Valid values:'."\n" ."\n" .'* **ONLINE**: The device is online.'."\n" .'* **OFFLINE**: The device is offline.'."\n" .'* **UNACTIVE**: The device is not activated.'."\n" .'* **DISABLE**: The device is deactivated.'."\n", 'type' => 'string', 'example' => 'ONLINE', 'title' => ''], 'GmtModified' => ['description' => 'The time when the device information was last updated. The time is in the GMT format.'."\n", 'type' => 'string', 'example' => 'Wed, 20-Feb-2019 02:16:09 GMT', 'title' => ''], 'ProductKey' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n", 'type' => 'string', 'example' => 'a1BwAGV****', 'title' => ''], 'UtcModified' => ['description' => 'The time when the device information was last updated. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2019-02-20T02:16:09.000Z', 'title' => ''], 'DeviceSecret' => ['description' => 'The DeviceSecret of the device.'."\n", 'type' => 'string', 'example' => 'sLefbFmN9SYfnWLJTePG893XNuRV****', 'title' => ''], 'GmtCreate' => ['description' => 'The time when the device was created. The time is in the GMT format.'."\n", 'type' => 'string', 'example' => 'Wed, 20-Feb-2019 02:16:09 GMT', 'title' => ''], 'Nickname' => ['description' => 'The alias of the device.'."\n", 'type' => 'string', 'example' => '智能灯设备', 'title' => ''], 'IotId' => ['description' => 'The ID of the device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n", 'type' => 'string', 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"TGlzdFJlc291cm***\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageSize\\": 10,\\n \\"PageCount\\": 1,\\n \\"Total\\": 2,\\n \\"Page\\": 1,\\n \\"Data\\": {\\n \\"DeviceInfo\\": [\\n {\\n \\"DeviceName\\": \\"light\\",\\n \\"DeviceId\\": \\"dwnS41bhNxjslDAI****\\",\\n \\"DeviceType\\": \\"Lighting\\",\\n \\"UtcCreate\\": \\"2019-02-20T02:16:09.000Z\\",\\n \\"DeviceStatus\\": \\"ONLINE\\",\\n \\"GmtModified\\": \\"Wed, 20-Feb-2019 02:16:09 GMT\\",\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"UtcModified\\": \\"2019-02-20T02:16:09.000Z\\",\\n \\"DeviceSecret\\": \\"sLefbFmN9SYfnWLJTePG893XNuRV****\\",\\n \\"GmtCreate\\": \\"Wed, 20-Feb-2019 02:16:09 GMT\\",\\n \\"Nickname\\": \\"智能灯设备\\",\\n \\"IotId\\": \\"Q7uOhVRdZRRlDnTLv****00100\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n1\\nTGlzdFJlc291cm***\\n\\n \\n Av8NGHGtwPrH9BYG****\\n Av8NGHGtwPrH9BYGLMBi\\n a1dafDE****\\n d7GYhf5hfcPHDe1bXSd3n9MjO1G3****\\n 2019-02-20T02:16:09.000Z\\n Wed, 20-Feb-2019 02:16:09 GMT\\n 2019-02-20T02:16:09.000Z\\n Wed, 20-Feb-2019 02:16:09 GMT\\n Av8NGHGtwPrH9BYGLMBi00****\\n UNACTIVE\\n SensorInShanghai\\n \\n \\n zNIcSmWQ9BPJlmkj****\\n zNIcSmWQ9BPJlmkjn3H1\\n a1dafDE****\\n C27XXmC18yLIEDXvUj6FSlvgO7ag****\\n 2019-02-20T02:16:09.000Z\\n Wed, 20-Feb-2019 02:16:09 GMT\\n 2019-02-20T02:16:09.000Z\\n Wed, 20-Feb-2019 02:16:09 GMT\\n zNIcSmWQ9BPJlmkjn3H100****\\n UNACTIVE\\n DriverInShanghai\\n \\n\\n1\\n10\\nCD9E5F99-A095-4A05-9256-D924EA3075E8\\ntrue\\n2\\n","errorExample":""}]', 'title' => 'QueryDevice', 'summary' => 'Queries the devices of a product.', 'description' => 'The QueryDevice operation can return up to one million devices each time you call the operation.'."\n" ."\n" .'## QPS limits'."\n" ."\n" .'- You can call this API operation up to 50 times per second per account. > The RAM users of an Alibaba Cloud account share the quota of the Alibaba Cloud account.'."\n" .'- If the product of the value of the **CurrentPage** parameter and the value of the **PageSize** parameter is greater than or equal to 100,000, the queries per second (QPS) of this operation decreases. '."\n" ."\n" .'In this case, you can call this API operation up to two times per second per account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryDeviceBySQL' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the **ID** of the instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n\n" .'**Important**'."\n" ."\n" .'* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.****'."\n" .'* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'SQL', 'in' => 'query', 'schema' => ['description' => 'The SQL-like statement that you want to execute to query devices. For more information about specific requirements and examples, see the following section.'."\n", 'type' => 'string', 'required' => true, 'example' => 'SELECT * FROM device where product_key = "a1*********" limit 100, 20', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'TotalCount' => ['description' => 'If you specify `SELECT count(*) FROM device` in the SQL-like statement, the number of rows that match the specified conditions is returned.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The device information returned if the call is successful.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the device. Valid values:'."\n" ."\n" .'* **ONLINE**: The device is online.'."\n" .'* **OFFLINE**: The device is offline.'."\n" .'* **UNACTIVE**: The device is not activated.'."\n" .'* **DISABLE**: The device is disabled.'."\n", 'type' => 'string', 'example' => 'ONLINE', 'title' => ''], 'ProductKey' => ['description' => 'The **ProductKey** of the product to which the device belongs.'."\n", 'type' => 'string', 'example' => 'a1BwAGV**** ', 'title' => ''], 'DeviceName' => ['description' => 'The name of the device.'."\n", 'type' => 'string', 'example' => 'light', 'title' => ''], 'GmtCreate' => ['description' => 'The time when the device was created. The time is in the GMT format.'."\n", 'type' => 'string', 'example' => '2020-04-04 16:38:17.000', 'title' => ''], 'Nickname' => ['description' => 'The alias of the device.'."\n", 'type' => 'string', 'example' => '智能灯设备', 'title' => ''], 'ActiveTime' => ['description' => 'The time when the device was activated. The time is in the GMT format.'."\n", 'type' => 'string', 'example' => '2020-04-04 16:38:18.607', 'title' => ''], 'GmtModified' => ['description' => 'The time when the device information was last updated. The time is in the GMT format.'."\n", 'type' => 'string', 'example' => '2020-04-04 16:38:19.000', 'title' => ''], 'IotId' => ['description' => 'The ID of the device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n", 'type' => 'string', 'example' => 'Q7uOhVRdZRRlDnTLv****00100 ', 'title' => ''], 'Groups' => [ 'description' => 'The information about the groups to which the device belongs.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'GroupId' => ['description' => 'The ID of the group.'."\n", 'type' => 'string', 'example' => 'a1d21d2fas', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'Tags' => [ 'description' => 'The information about device tags.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'TagName' => ['description' => 'The tag key.'."\n", 'type' => 'string', 'example' => 'Color', 'title' => ''], 'TagValue' => ['description' => 'The tag value.'."\n", 'type' => 'string', 'example' => 'Red', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'OTAModules' => [ 'description' => 'The information about the firmware of each device module.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ModuleName' => ['description' => 'The name of the OTA module.'."\n", 'type' => 'string', 'example' => 'SomeSampleModule', 'title' => ''], 'FirmwareVersion' => ['description' => 'The version number of each OTA module.'."\n", 'type' => 'string', 'example' => 'a1-dads2-dad2', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"TotalCount\\": 100,\\n \\"Success\\": true,\\n \\"Data\\": [\\n {\\n \\"Status\\": \\"ONLINE\\",\\n \\"ProductKey\\": \\"a1BwAGV****\\\\t\\",\\n \\"DeviceName\\": \\"light\\",\\n \\"GmtCreate\\": \\"2020-04-04 16:38:17.000\\",\\n \\"Nickname\\": \\"智能灯设备\\",\\n \\"ActiveTime\\": \\"2020-04-04 16:38:18.607\\",\\n \\"GmtModified\\": \\"2020-04-04 16:38:19.000\\",\\n \\"IotId\\": \\"Q7uOhVRdZRRlDnTLv****00100\\\\t\\",\\n \\"Groups\\": [\\n {\\n \\"GroupId\\": \\"a1d21d2fas\\"\\n }\\n ],\\n \\"Tags\\": [\\n {\\n \\"TagName\\": \\"Color\\",\\n \\"TagValue\\": \\"Red\\"\\n }\\n ],\\n \\"OTAModules\\": [\\n {\\n \\"ModuleName\\": \\"SomeSampleModule\\",\\n \\"FirmwareVersion\\": \\"a1-dads2-dad2\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n501CFABA-2C48-468D-B88C-3AA8E3B3A8F3\\n\\n OFFLINE\\n ii1*******\\n 2020-04-04 16:38:17.000\\n 2020-04-04 16:38:18.607\\n 2020-04-04 16:38:19.000\\n a1*********\\n testDevcieae7f3a\\n\\n\\n UNACTIVE\\n 5wt*******\\n 2020-04-04 16:37:32.000\\n \\n Ix4*******\\n \\n \\n Xrn*******\\n \\n \\n J9l*******\\n \\n \\n SomeSampleModule\\n a1-dads2-dad2\\n \\n \\n SampleModule\\n a1-dads2-dad1\\n \\n 2020-04-04 16:37:32.000\\n a1*********\\n testDevcie676a22\\n\\ntrue\\n","errorExample":""}]', 'title' => 'QueryDeviceBySQL', 'summary' => 'Queries devices by executing an SQL-like statement. This operation returns the devices that meet the conditions that you specified in the SQL-like statement.', 'description' => '* You can query devices on Enterprise Edition instances only in the China (Shanghai) and Japan (Tokyo) regions.'."\n" .'* The QueryDeviceBySQL operation can return up to 10,000 devices each time you call the operation. For more information, see the "`Syntax of LIMIT clauses`" section of this topic.'."\n" ."\n" .'## QPS limits'."\n" ."\n" .'You can call this API operation up to 10 times per second per account. '."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'If you want to call the QueryDeviceBySQL operation to query devices, you must specify an SQL-like statement. The SQL-like statement must contain a SELECT clause and a WHERE clause. The statement can also contain an ORDER BY clause and a LIMIT clause. Each statement cannot exceed 400 characters in length. '."\n" ."\n" .'Examples:'."\n" ."\n" .'`SELECT * FROM device WHERE product_key = "a1*********" order by active_time limit 0,10`| SQL clause | Description |'."\n" .'| ---------- | ----------- |'."\n" .'| SELECT clause | `SELECT [field]/[count(*)] FROM device`The field parameter specifies the fields that you want to obtain. The following table describes the fields. If you want to obtain all fields, specify an asterisk (*). '."\n" ."\n" .'If you want to obtain the number of rows that match the specified conditions, specify count(*). |'."\n" .'| WHERE clause | `WHERE [condition1] AND [condition2]`You can specify up to five conditions. Nesting is not supported. The following table describes the fields and operators. '."\n" ."\n" .'You can use the AND or OR logical operator to connect conditions. You can use up to five logical operators. |'."\n" .'| ORDER BY clause (optional) | The ORDER BY clause is used to sort fields. The following fields can be sorted: gmt_create, gmt_modified, and active_time. '."\n" ."\n" .'This clause is optional. If you do not specify this clause, the results are randomly sorted. |'."\n" .'| LIMIT clause (optional) | The LIMIT clause specifies the maximum number of rows to return on each page and the total number of rows to return. For more information, see the "Syntax of LIMIT clauses" section of this topic. '."\n" ."\n" .'If you do not specify a LIMIT cause, limit 20 is specified by default. |'."\n" .'Syntax of LIMIT clauses'."\n" ."\n" .'| Syntax | Description |'."\n" .'| ------ | ----------- |'."\n" .'| limit k | The value of k must be less than or equal to 50, which specifies that the number of rows to return on each page cannot exceed 50. Examples: '."\n" ."\n" .'`SELECT * FROM device WHERE product_key = "a1*****" limit 10` |'."\n" .'| limit n,k | The sum of the values of n and k must be less than or equal to 10,000 and the value of k must be less than or equal to 50. This specifies that the total number of rows to return cannot exceed 10,000 and the maximum number of rows to return on each page cannot exceed 50. Examples: '."\n" ."\n" .'`SELECT * FROM device WHERE product_key = "a1*****" limit 40,10` |'."\n" .'**Fields**| Field | Type | Description |'."\n" .'| ----- | ---- | ----------- |'."\n" .'| product_key | text | The ProductKey of the product to which the device belongs. |'."\n" .'| iot_id | text | The ID of the device. By default, iot_id is returned. |'."\n" .'| name | text | The name of the device. |'."\n" .'| active_time | date | The time when the device was activated. The time is in the yyyy-MM-dd HH:mm:ss.SSS format and is accurate to the millisecond. |'."\n" .'| nickname | text | The alias of the device. |'."\n" .'| gmt_create | date | The time when the device was created. The time is in the yyyy-MM-dd HH:mm:ss.SSS format and is accurate to the millisecond. |'."\n" .'| gmt_modified | date | The time when the device information was last updated. The time is in the yyyy-MM-dd HH:mm:ss.SSS format and is accurate to the millisecond. |'."\n" .'| status | text | The status of the device. Valid values:'."\n" ."\n" .'ONLINE: The device is online. '."\n" ."\n" .'OFFLINE: The device is offline. '."\n" ."\n" .'UNACTIVE: The device is not activated. '."\n" ."\n" .'DISABLE: The device is disabled. |'."\n" .'| group.group_id | text | The ID of the device group. |'."\n" .'| tag.tag_name | text | The tag key of the device. |'."\n" .'| tag.tag_value | text | The tag value of the device. |'."\n" .'| ota_module.name | text | The name of the over-the-air (OTA) module. '."\n" ."\n" .'We recommend that you use this field together with the ota_module.version field to specify the OTA module corresponding to the current OTA version number of the device. '."\n" ."\n" .'If you do not configure the ota_module.version field, you cannot query devices by OTA module name. |'."\n" .'| ota_module.version | text | The firmware version of the OTA module. |'."\n" .'**Operators**| Operator | Supported data type |'."\n" .'| -------- | ------------------- |'."\n" .'| = | number, date, and text |'."\n" .'| != | number, date, and text |'."\n" .'| > | number and date |'."\n" .'| < | number and date |'."\n" .'| LIKE | text |'."\n" .'Description:'."\n" ."\n" .'- = and !=: If you use these operators, the values of the fields that you want to query can be null.'."\n" .'- LIKE: If you use this operator, only prefix match is supported. The prefix must be at least four characters in length and cannot contain special characters, such as backslashes (\\), forward slashes (/), ampersands (&), plus signs (+), hyphens (-), exclamation points (!), parentheses (), colons (:), tildes (~), braces {}, asterisks (*), and question marks (?). The prefix must end with a percent sign (`%`). '."\n" ."\n" .'Example: `SELECT * FROM device where product_key = "a1*********" and name LIKE "test%" limit 10`.'."\n" ."\n" .'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](/help/en/iot-platform/latest/836ef4).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceBySQL', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryDeviceByStatus' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n\n" .'**Important**'."\n" ."\n" .'* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'Status', 'in' => 'query', 'schema' => ['description' => 'The status of the devices. Valid values:'."\n" ."\n" .'* **0**: inactive'."\n" .'* **1**: online'."\n" .'* **3**: offline'."\n" .'* **8**: disabled'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', 'schema' => ['description' => 'The number of the page to return.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Valid values: 1 to 50.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'default' => '10', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the product belongs. You can view the resource group ID in the IoT Platform console.'."\n" ."\n" .'> If you specify this parameter, the system returns devices of the specified status in the resource group. If you do not specify this parameter, the system returns all devices of the specified status in the current account.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-acfm4l5tcwd***', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'Total' => ['description' => 'The total number of devices returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'PageCount' => ['description' => 'The total number of pages.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Page' => ['description' => 'The number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'SimpleDeviceInfo' => [ 'description' => 'The device list information returned if the call succeeds. The **SimpleDeviceInfo** parameter includes the details of the devices.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the device. Valid values:'."\n" ."\n" .'* **UNACTIVE**: The device is not activated.'."\n" .'* **ONLINE**: The device is online.'."\n" .'* **OFFLINE**: The device is offline.'."\n" .'* **DISABLE**: The device is disabled.'."\n", 'type' => 'string', 'example' => 'ONLINE', 'title' => ''], 'ProductKey' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n", 'type' => 'string', 'example' => 'a1BwAGV****', 'title' => ''], 'DeviceName' => ['description' => 'The DeviceName of the device.'."\n", 'type' => 'string', 'example' => 'light', 'title' => ''], 'UtcModified' => ['description' => 'The time when the device information was last modified. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2021-02-18T02:46:32.000Z', 'title' => ''], 'DeviceSecret' => ['description' => 'The secret of the device.'."\n", 'type' => 'string', 'example' => 'sLefbFmN9SYfnWLJTePG893XNuRV****', 'title' => ''], 'UtcCreate' => ['description' => 'The time when the device was created. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2021-02-18T02:46:32.000Z', 'title' => ''], 'GmtCreate' => ['description' => 'The time when the device was created. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2021-02-18 10:46:32', 'title' => ''], 'Nickname' => ['description' => 'The alias of the device.'."\n", 'type' => 'string', 'example' => 'SensorInShanghai', 'title' => ''], 'GmtModified' => ['description' => 'The time when the device information was last modified. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2021-02-18 10:46:32', 'title' => ''], 'IotId' => ['description' => 'The ID of the device.'."\n", 'type' => 'string', 'example' => 'Av8NGHGtwPrH9BYGLMBi00****', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageSize\\": 10,\\n \\"Total\\": 2,\\n \\"PageCount\\": 1,\\n \\"Page\\": 1,\\n \\"Data\\": {\\n \\"SimpleDeviceInfo\\": [\\n {\\n \\"Status\\": \\"ONLINE\\",\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"DeviceName\\": \\"light\\",\\n \\"UtcModified\\": \\"2021-02-18T02:46:32.000Z\\",\\n \\"DeviceSecret\\": \\"sLefbFmN9SYfnWLJTePG893XNuRV****\\",\\n \\"UtcCreate\\": \\"2021-02-18T02:46:32.000Z\\",\\n \\"GmtCreate\\": \\"2021-02-18 10:46:32\\",\\n \\"Nickname\\": \\"SensorInShanghai\\",\\n \\"GmtModified\\": \\"2021-02-18 10:46:32\\",\\n \\"IotId\\": \\"Av8NGHGtwPrH9BYGLMBi00****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n CD9E5F99-A095-4A05-9256-D924EA3075E8\\n true\\n 1\\n 10\\n 1\\n 2\\n \\n \\n Av8NGHGtwPrH9BYGLMBi00****\\n Av8NGHG***\\n a1dafDE****\\n d7GYhf5hfcPHDe1bXSd3n9MjO1G3****\\n 2021-02-18T02:46:32.000Z\\n 2021-02-18 10:46:32\\n 2021-02-18T02:46:32.000Z\\n 2021-02-18 10:46:32\\n UNACTIVE\\n SensorInShanghai\\n \\n \\n zNIcSmWQ9BPJlmkjn3H100****\\n zNIcSmWQ***\\n a1dafDE****\\n C27XXmC18yLIEDXvUj6FSlvgO7ag****\\n 2021-02-09T09:44:55.000Z\\n 2021-02-09 17:44:55\\n 2021-02-09T09:44:55.000Z\\n 2021-02-09 17:44:55\\n UNACTIVE\\n DriverInShanghai\\n \\n \\n","errorExample":""}]', 'title' => 'QueryDeviceByStatus', 'summary' => 'Queries devices by status.', 'description' => '## Limits'."\n" ."\n" .'* After the status of a device changes, the new status is applied within 10 seconds. After the new status is applied, you can search for the device by using the new status. Before the new status is applied, you can search for the device by using the previous status.'."\n" ."\n" .'* Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceByStatus', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryDeviceByTags' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', 'schema' => ['description' => 'The number of the page to return. Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Maximum value: 50. Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'default' => '10', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of tags. ', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'TagValue' => ['description' => 'The value of the device tag.'."\n", 'type' => 'string', 'required' => true, 'example' => '101', 'title' => ''], 'TagKey' => ['description' => 'The key of the device tag.'."\n", 'type' => 'string', 'required' => true, 'example' => 'room', 'title' => ''], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 10, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'PageSize' => ['description' => 'The number of entries returned on each page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'Total' => ['description' => 'The total number of records.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageCount' => ['description' => 'The total number of pages.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Page' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'SimpleDeviceInfo' => [ 'description' => 'The device information returned if the call succeeds. The **SimpleDeviceInfo** parameter includes the details of the devices.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ProductKey' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n", 'type' => 'string', 'example' => 'a1BwAGV****', 'title' => ''], 'ProductName' => ['description' => 'The name of the product.'."\n", 'type' => 'string', 'example' => 'lamp', 'title' => ''], 'DeviceName' => ['description' => 'The DeviceName of the device.'."\n", 'type' => 'string', 'example' => 'light1', 'title' => ''], 'IotId' => ['description' => 'The ID of the device. The ID is the unique identifier that is issued by IoT Platform to the device.'."\n", 'type' => 'string', 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageSize\\": 10,\\n \\"Total\\": 1,\\n \\"PageCount\\": 1,\\n \\"Page\\": 1,\\n \\"Data\\": {\\n \\"SimpleDeviceInfo\\": [\\n {\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"ProductName\\": \\"lamp\\",\\n \\"DeviceName\\": \\"light1\\",\\n \\"IotId\\": \\"Q7uOhVRdZRRlDnTLv****00100\\"\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'QueryDeviceByTags ', 'summary' => 'Invoke this API to query devices by label.', 'description' => '## How-To '."\n" .'You can specify up to 10 labels in a single API call. '."\n" ."\n" .'## QPS limit '."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 5. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When invoking the API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters documentation](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceByTags', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceByTags'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QueryDeviceCert' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID.'."\n" ."\n" .'You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console. If an ID exists, you must specify it. Otherwise, the invocation fails.'."\n" ."\n" .'> If your public instance does not have an ID, see [How to Obtain an Instance ID](~~267533~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the device belongs.', 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The device name.', 'type' => 'string', 'required' => true, 'example' => 'light', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'DeviceCertInfo' => [ 'description' => 'The list of returned certificate information.', 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The certificate generation status.'."\n" ."\n" .'- **0**: Generating.'."\n" ."\n" .'- **1**: Generation failed.'."\n" ."\n" .'- **2**: Generation succeeded.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'Certificate' => ['description' => 'The X.509 certificate.', 'type' => 'string', 'example' => 'tXHf4ezGEHcwdyMwoCDHGBmk9avi****', 'title' => ''], 'PrivateKey' => ['description' => 'The private key of the X.509 certificate.', 'type' => 'string', 'example' => 'CqXL5h5ysRTA4NxjABjj0010fa****', 'title' => ''], 'CertSN' => ['description' => 'The ID of the X.509 certificate.', 'type' => 'string', 'example' => '636217374433****', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"DeviceCertInfo\\": {\\n \\"Status\\": 2,\\n \\"Certificate\\": \\"tXHf4ezGEHcwdyMwoCDHGBmk9avi****\\",\\n \\"PrivateKey\\": \\"CqXL5h5ysRTA4NxjABjj0010fa****\\",\\n \\"CertSN\\": \\"636217374433****\\"\\n }\\n}","type":"json"}]', 'title' => 'Query the X.509 Certificate of a Device', 'summary' => 'Invoke this API to query the X.509 certificate of a device.', 'description' => '## Limits'."\n" ."\n" .'- Only devices in the China (Shanghai) region that use X.509 certificates for authentication are supported.'."\n" ."\n\n" .'- The maximum queries per second (QPS) for a single Alibaba Cloud account is 10.'."\n" ."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceCert', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceCert'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QueryDeviceDesiredProperty' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n" .'>* If no **Overview** page or ID is generated for your instance, you do not need configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n" ."\n" .'> If you specify a value for this parameter, you must configure the **DeviceName** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The DeviceName of the device.'."\n" ."\n" .'> If you specify a value for this parameter, you must configure the **ProductKey** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'light', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n" ."\n" .'> If you specify a value for this parameter, you do not need to configure the **ProductKey** or **DeviceName** parameter. The **IotId** parameter specifies a GUID for the device. The value of the IotId parameter is equivalent to a combination of the values of the **ProductKey** and **DeviceName** parameters. If you specify values for the **IotId**, **ProductKey**, and **DeviceName** parameters, the value of the **IotId** parameter takes precedence.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], [ 'name' => 'FunctionBlockId', 'in' => 'query', 'schema' => ['description' => 'The identifier of the custom TSL module. Each identifier is unique in a product.'."\n" ."\n" .'If you do not configure this parameter, the system queries the data of the default module.'."\n", 'type' => 'string', 'required' => false, 'example' => 'BatteryModule', 'title' => ''], ], [ 'name' => 'Identifier', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'A list of identifiers (identifiers) of the properties whose desired values you want to query. '."\n" ."\n" .'You can view the property identifiers in the console under the feature definition of the product to which the device belongs. '."\n" ."\n" .'- A single invocation supports up to 10 identifiers. '."\n" .'- Duplicate property identifiers are not allowed. '."\n" .'- If this parameter is not specified, the desired values of all properties of the device are returned. ', 'type' => 'array', 'items' => ['type' => 'string', 'description' => 'The identifiers of the properties that you want to query.'."\n" ."\n" .'To view the property identifiers, go to the Define Feature tab of the Product Details page in the IoT Platform console.'."\n" ."\n" .'* You can specify up to 10 property identifiers in a single call.'."\n" .'* Each property identifier must be unique.'."\n" .'* If you do not configure this parameter, the desired values of all properties are returned.'."\n", 'title' => '', 'example' => ''], 'required' => false, 'example' => 'Temperature', 'maxItems' => 10, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message that is returned if the call fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data returned in the **List** parameter if the call is successful.'."\n", 'type' => 'object', 'properties' => [ 'List' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'DesiredPropertyInfo' => [ 'description' => 'The desired property information returned in the **DesiredPropertyInfo** parameter.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Time' => ['description' => 'The time when the desired value of the property was last modified. Unit: milliseconds.'."\n", 'type' => 'string', 'example' => '1579335899000', 'title' => ''], 'Value' => ['description' => 'The desired value of the property.'."\n" ."\n" .'> If you call the [ClearDeviceDesiredProperty](~~477431~~) operation to delete the desired value of the property, the **Value** parameter is not returned.'."\n", 'type' => 'string', 'example' => '34', 'title' => ''], 'DataType' => ['description' => 'The data type of the property.'."\n", 'type' => 'string', 'example' => 'int', 'title' => ''], 'Version' => ['description' => 'The version of the desired value.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], 'Unit' => ['description' => 'The unit of the property.'."\n", 'type' => 'string', 'example' => '℃', 'title' => ''], 'Identifier' => ['description' => 'The identifier of the property.'."\n", 'type' => 'string', 'example' => 'Temperature', 'title' => ''], 'Name' => ['description' => 'The name of the property.'."\n", 'type' => 'string', 'example' => 'airconditioning', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"List\\": {\\n \\"DesiredPropertyInfo\\": [\\n {\\n \\"Time\\": \\"1579335899000\\",\\n \\"Value\\": \\"34\\",\\n \\"DataType\\": \\"int\\",\\n \\"Version\\": 1,\\n \\"Unit\\": \\"℃\\",\\n \\"Identifier\\": \\"Temperature\\",\\n \\"Name\\": \\"airconditioning\\"\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', 'title' => 'Query the desired property values of a specified device ', 'summary' => 'Invoke this API to query the desired property values of a specified device. ', 'description' => '## How-To'."\n" ."\n" .'- Read-only attributes do not support querying desired property values.'."\n" ."\n" .'- A single call can query the desired values of up to 10 properties.'."\n" ."\n" .'## QPS Limit'."\n" .'The maximum queries per second (QPS) for this API is 50 per Alibaba Cloud account. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceDesiredProperty', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceDesiredProperty'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QueryDeviceDetail' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n" .'>* If no **Overview** page or ID is generated for your instance, you do not need to configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-v64***', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n" ."\n" .'> If you specify a value for this parameter, you must also specify a value for the **DeviceName** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The DeviceName of the device.'."\n" ."\n" .'> If you specify a value for this parameter, you must also specify a value for the **ProductKey** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'light', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the device.'."\n" ."\n" .'> If you specify a value for this parameter, you do not need to specify a value for the **ProductKey** or **DeviceName** parameter. The **IotId** parameter specifies a globally unique identifier (GUID) for the device. The value of the IotId parameter corresponds to a combination of the values of the **ProductKey** and **DeviceName** parameters. If you specify a value for the **IotId** parameter and values for the **ProductKey** and **DeviceName** parameters, the value of the **IotId** takes precedence.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The device details returned if the call is successful.'."\n", 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The device status. Valid values: Valid values:'."\n" ."\n" .'* **ONLINE**: The device is online.'."\n" .'* **OFFLINE**: The device is offline.'."\n" .'* **UNACTIVE**: The device is not activated.'."\n" .'* **DISABLE**: The device is disabled.'."\n", 'type' => 'string', 'example' => 'ONLINE', 'title' => ''], 'Owner' => ['description' => 'Indicates whether the operation is called by the owner of the device.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'UtcActive' => ['description' => 'The time when the device was activated. The time is in the UTC format.'."\n", 'type' => 'string', 'example' => '2018-08-06T02:48:41.000Z', 'title' => ''], 'ProductName' => ['description' => 'The name of the product to which the device belongs.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], 'DeviceName' => ['description' => 'The DeviceName of the device.'."\n", 'type' => 'string', 'example' => 'light', 'title' => ''], 'UtcCreate' => ['description' => 'The time when the device was created. The time is in the UTC format.'."\n", 'type' => 'string', 'example' => '2018-08-06T02:47:50.000Z', 'title' => ''], 'FirmwareVersion' => ['description' => 'The version number of the default OTA module of the device.'."\n" ."\n" .'If you want to query the version information about other OTA modules, call the [ListOTAModuleVersionsByDevice](~~190622~~) operation. The version information is submitted by the device.'."\n", 'type' => 'string', 'example' => 'V1.0.0.0', 'title' => ''], 'GmtOnline' => ['description' => 'The most recent time when the device was online. The time is in the GMT format.'."\n", 'type' => 'string', 'example' => '2018-08-06 13:43:12', 'title' => ''], 'UtcOnline' => ['description' => 'The most recent time when the device was online. The time is in the UTC format.'."\n", 'type' => 'string', 'example' => '2018-08-06T05:43:12.000Z', 'title' => ''], 'ProductKey' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n", 'type' => 'string', 'example' => 'a1rYuVF****', 'title' => ''], 'IpAddress' => ['description' => 'The IP address of the device.'."\n", 'type' => 'string', 'example' => '10.0.0.1', 'title' => ''], 'NodeType' => ['description' => 'The type of the node. Valid values:'."\n" ."\n" .'* **0**: device. Sub-devices cannot be attached to a device. A device can connect to IoT Platform directly or as a sub-device of a gateway.'."\n" .'* **1**: gateway. Sub-devices can be attached to a gateway. A gateway can manage sub-devices, maintain the topological relationships with sub-devices, and synchronize the topological relationships to IoT Platform.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'Region' => ['description' => 'The ID of the region where the device resides. The region is the same as the region where IoT Platform resides. You can view the region in the IoT Platform console.'."\n", 'type' => 'string', 'example' => 'cn-shanghai', 'title' => ''], 'DeviceSecret' => ['description' => 'The DeviceSecret of the device.'."\n", 'type' => 'string', 'example' => 'mz2Canp4GB7qRVf1OYPNtRqB2anu****', 'title' => ''], 'GmtActive' => ['description' => 'The time when the device was activated. The time is in the GMT format.'."\n", 'type' => 'string', 'example' => '2018-08-06 10:48:41', 'title' => ''], 'GmtCreate' => ['description' => 'The time when the device was created. The time is in the GMT format.'."\n", 'type' => 'string', 'example' => '2018-08-06 10:47:50', 'title' => ''], 'Nickname' => ['description' => 'The alias of the device.'."\n", 'type' => 'string', 'example' => 'detectors_in_beijing', 'title' => ''], 'IotId' => ['description' => 'The ID of the device. The ID is the unique identifier that is issued by IoT Platform to the device.'."\n", 'type' => 'string', 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Status\\": \\"ONLINE\\",\\n \\"Owner\\": true,\\n \\"UtcActive\\": \\"2018-08-06T02:48:41.000Z\\",\\n \\"ProductName\\": \\"test\\",\\n \\"DeviceName\\": \\"light\\",\\n \\"UtcCreate\\": \\"2018-08-06T02:47:50.000Z\\",\\n \\"FirmwareVersion\\": \\"V1.0.0.0\\",\\n \\"GmtOnline\\": \\"2018-08-06 13:43:12\\",\\n \\"UtcOnline\\": \\"2018-08-06T05:43:12.000Z\\",\\n \\"ProductKey\\": \\"a1rYuVF****\\",\\n \\"IpAddress\\": \\"10.0.0.1\\",\\n \\"NodeType\\": 0,\\n \\"Region\\": \\"cn-shanghai\\",\\n \\"DeviceSecret\\": \\"mz2Canp4GB7qRVf1OYPNtRqB2anu****\\",\\n \\"GmtActive\\": \\"2018-08-06 10:48:41\\",\\n \\"GmtCreate\\": \\"2018-08-06 10:47:50\\",\\n \\"Nickname\\": \\"detectors_in_beijing\\",\\n \\"IotId\\": \\"Q7uOhVRdZRRlDnTLv****00100\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', 'title' => 'QueryDeviceDetail', 'summary' => 'Queries the details of a device.', 'description' => '## QPS limits'."\n" ."\n" .'Each Alibaba Cloud account can run up to 50 queries per second (QPS).'."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceDetail', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryDeviceDistributeDetail' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'JobId', 'in' => 'query', 'schema' => ['description' => 'The ID of the distribution task. The ID globally identifies the task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'UbmsMHmkqv0PiAG****010001', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'File' => ['description' => 'The URL of the file that contains the distribution result. The URL indicates a storage location of the file in Object Storage Service (OSS). The URL is valid for 10 minutes.'."\n", 'type' => 'string', 'example' => 'https://iotx-***.oss-cn-shanghai.aliyuncs.com/job***/7u***', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"File\\": \\"https://iotx-***.oss-cn-shanghai.aliyuncs.com/job***/7u***\\"\\n}","type":"json"}]', 'title' => 'Obtain the Result Information After a Device Distribution Job Execution Is Completed', 'summary' => 'Invoke this API to obtain the result information after a device distribution job execution is completed.', 'description' => '## How-To'."\n" ."\n" .'- The **Endpoint** for accessing Alibaba Cloud services supports only China (Shanghai), which is `iot.cn-shanghai.aliyuncs.com`.'."\n" ."\n" .'- The maximum queries per second (QPS) limit for a single Alibaba Cloud account when calling this API is 5.'."\n" ."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking the API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceDistributeDetail', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceDistributeDetail'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QueryDeviceDistributeJob' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'JobId', 'in' => 'query', 'schema' => ['description' => 'The ID of the distribution task. The ID globally identifies the task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'UbmsMHmkqv0PiAG****010001', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => ' E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The task information returned if the call is successful.'."\n", 'type' => 'object', 'properties' => [ 'Strategy' => ['description' => 'The distribution policy.'."\n" ."\n" .'* **0**: distributes devices to instances in a specified region.'."\n" .'* **1**: configures instance IDs in multiple regions and distributes devices to the nearest regions based on the IP addresses of the devices.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'Status' => ['description' => 'The status of the distribution task.'."\n" ."\n" .'* **0**: The task is being initialized.'."\n" .'* **1**: The task is being implemented.'."\n" .'* **2**: The task is completed. This status only indicates that the distribution task is completed. This status does not indicate that all products and devices are distributed. To obtain distribution results, call the [QueryDeviceDistributeDetail](~~199533~~) operation.'."\n" .'* **3**: The task is unexpectedly interrupted.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'ProductKey' => ['description' => 'The **ProductKey** of the product to which the device belongs.'."\n", 'type' => 'string', 'example' => 'a1BwAGV****', 'title' => ''], 'TargetUid' => ['description' => 'The Alibaba Cloud account ID. ', 'type' => 'string', 'example' => '198***', 'title' => ''], 'JobId' => ['description' => 'The ID of the distribution task.'."\n", 'type' => 'string', 'example' => 'UbmsMHmkqv0PiAG****010001', 'title' => ''], 'GmtCreate' => ['description' => 'The time when the task was created.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1581595942000', 'title' => ''], 'SourceUid' => ['description' => 'The ID of the Alibaba Cloud account.'."\n", 'type' => 'string', 'example' => '198***', 'title' => ''], 'Total' => ['description' => 'The total number of devices in the distribution task.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], 'SourceInstanceId' => ['description' => 'The ID of the source instance.'."\n", 'type' => 'string', 'example' => 'iot-cn-6ja***', 'title' => ''], 'TargetInstanceConfigs' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'targetInstanceConfigs' => [ 'description' => 'The IDs of the destination instances.'."\n" ."\n" .'* If the value of the **Strategy** parameter is **1**, multiple instance IDs exist.'."\n" .'* If the value of the **Strategy** parameter is **0**, only one instance ID exists.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'TargetInstanceId' => ['description' => 'The ID of the destination instance.'."\n", 'type' => 'string', 'example' => 'iot-cn-6ja***', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\" E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Strategy\\": 0,\\n \\"Status\\": 1,\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"TargetUid\\": \\"198***\\",\\n \\"JobId\\": \\"UbmsMHmkqv0PiAG****010001\\",\\n \\"GmtCreate\\": 1581595942000,\\n \\"SourceUid\\": \\"198***\\",\\n \\"Total\\": 5,\\n \\"SourceInstanceId\\": \\"iot-cn-6ja***\\",\\n \\"TargetInstanceConfigs\\": {\\n \\"targetInstanceConfigs\\": [\\n {\\n \\"TargetInstanceId\\": \\"iot-cn-6ja***\\"\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', 'title' => 'Obtain detailed information about a device distribution Job', 'summary' => 'Invoke this API to obtain the details of a device distribution job. ', 'description' => '## How-To '."\n" ."\n" .'- The **Endpoint** for accessing Alibaba Cloud services supports only China (Shanghai), which is `iot.cn-shanghai.aliyuncs.com`. '."\n" ."\n" .'- The maximum queries per second (QPS) limit for this API is 10 per Alibaba Cloud account. '."\n" ."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. ', 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters documentation](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceDistributeJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceDistributeJob'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QueryDeviceEventData' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must specify this parameter. Otherwise, the call fails.'."\n" .'>* If the **Overview** page does not appear in the IoT Platform console or no ID is generated for your instance, you do not need to specify this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Valid values: 1 to 50. Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The DeviceName of the device.'."\n" ."\n" .'> If you specify a value for this parameter, you must also specify a value for the **ProductKey** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'light', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', 'schema' => ['description' => 'The beginning of the time range to query. The value is a 13-digit timestamp in milliseconds. Example: 1516538300303.'."\n" ."\n" .'> You can query the event data only of the most recent 30 days.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1516541900303', 'title' => ''], ], [ 'name' => 'Identifier', 'in' => 'query', 'schema' => ['description' => 'The identifier of the event that you want to query. You can view the event identifier on the Define Feature tab of the Product Details page in the IoT Platform console. You can also call the [QueryThingModel](~~150321~~) operation and view the event identifier in the returned TSL data.'."\n" ."\n" .'> If the PowerOff event belongs to a custom module named testFb, this parameter is set to **testFb:PowerOff**.'."\n" ."\n" .'If you do not specify this parameter, the system queries all event data of the default module and custom modules.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PowerOff', 'title' => ''], ], [ 'name' => 'EventType', 'in' => 'query', 'schema' => ['description' => 'The type of the event that you want to query. Valid values:'."\n" ."\n" .'* **info**: Information.'."\n" .'* **alert**: Alert.'."\n" .'* **error**: Error.'."\n", 'type' => 'string', 'required' => false, 'example' => 'info', 'title' => ''], ], [ 'name' => 'Asc', 'in' => 'query', 'schema' => ['description' => 'The order in which you want to sort the returned event records. Valid values:'."\n" ."\n" .'* **0**: in reverse chronological order. This is the default value.'."\n" .'* **1**: in chronological order.'."\n" ."\n" .'> If you do not configure this parameter, the default value **0** is used. The system sorts the returned event records in reverse chronological order.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n" ."\n" .'> If you specify a value for this parameter, you do not need to specify a value for the **ProductKey** or **DeviceName** parameter. The **IotId** parameter specifies a globally unique identifier (GUID) for the device. The value of the IotId parameter corresponds to a combination of the values of the **ProductKey** and **DeviceName** parameters. If you specify a value for the **IotId** parameter and values for the **ProductKey** and **DeviceName** parameters, the value of the **IotId** parameter takes precedence.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', 'schema' => ['description' => 'The end of the time range to query. The value is a 13-digit timestamp in milliseconds. Example: 1516541900303.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1516541900303', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The event records returned if the call succeeds.'."\n", 'type' => 'object', 'properties' => [ 'NextValid' => ['description' => 'Indicates whether the next page exists.'."\n" ."\n" .'* **true**: The next page exists. The value of the **NextTime** parameter is returned. For more information, see the description of the **NextTime** parameter in this topic.'."\n" .'* **false**: The next page does not exist.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'NextTime' => ['description' => 'The start time of the event records on the next page. The value is a timestamp in milliseconds. '."\n" ."\n" .'- If the **Asc** parameter is set to 0, you can specify this value for the **EndTime** parameter when you call this operation again to query the next page of event records.'."\n" .'- If the **Asc** parameter is set to 1, you can specify this value for the **StartTime** parameter when you call this operation again to query the next page of event records.', 'type' => 'integer', 'format' => 'int64', 'example' => '1579163099000', 'title' => ''], 'List' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'EventInfo' => [ 'description' => 'The array of events. Each element represents an event.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Identifier' => ['description' => 'The identifier of the event.'."\n", 'type' => 'string', 'example' => 'PowerOff', 'title' => ''], 'OutputData' => ['description' => 'The output parameter of the event. The value is a string in the MAP format.'."\n", 'type' => 'string', 'example' => '{"structArgs":{"structchildFLOATf71c20e":1.23}}', 'title' => ''], 'Time' => ['description' => 'The time when the event occurred. The value is a timestamp in milliseconds.'."\n", 'type' => 'string', 'example' => '1579163099000', 'title' => ''], 'EventType' => ['description' => 'The type of the event. Valid values:'."\n" ."\n" .'* **info**: information.'."\n" .'* **alert**: alert.'."\n" .'* **error**: error.'."\n", 'type' => 'string', 'example' => 'info', 'title' => ''], 'Name' => ['description' => 'The name of the event.'."\n", 'type' => 'string', 'example' => '设备关机', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"NextValid\\": true,\\n \\"NextTime\\": 1579163099000,\\n \\"List\\": {\\n \\"EventInfo\\": [\\n {\\n \\"Identifier\\": \\"PowerOff\\",\\n \\"OutputData\\": \\"{\\\\\\"structArgs\\\\\\":{\\\\\\"structchildFLOATf71c20e\\\\\\":1.23}}\\",\\n \\"Time\\": \\"1579163099000\\",\\n \\"EventType\\": \\"info\\",\\n \\"Name\\": \\"设备关机\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n\\n false\\n 1579249151177\\n \\n \\n testEventInfoName\\n \\n {\\"structArgs\\":{\\"structchildFLOATf71c20e\\":1.23,\\"structchildINT6b6b626\\":3,\\"structchildDATE663436a\\":\\"1516517966152\\",\\"structchildDOUBLE08d0f74\\":1.23,\\"structchildTEXTdc764f9\\":\\"07b68264b0ba42c18e5f\\",\\"structchildBOOLd260729\\":0,\\"structchildENUMbe62590\\":1},\\"enumArgs\\":0,\\"boolArgs\\":0,\\"floatArgs\\":2.3,\\"dateArgs\\":\\"1516517966152\\",\\"intArgs\\":1,\\"doubleArgs\\":2.3,\\"textArgs\\":\\"dV56zbkzjBjw1Ti1dA52\\"}\\n info\\n testEventInfo\\n \\n \\n\\n45391E10-446B-4986-863E-1BA8CC44748F\\ntrue\\n","errorExample":""}]', 'title' => 'QueryDeviceEventData', 'summary' => 'Queries the event records of a specified device.', 'description' => 'You can query only the event records that are generated in the previous 30 days.'."\n" ."\n" .'> The storage period of an event record is calculated from the day when the record is generated.'."\n" ."\n" .'## QPS limits'."\n" ."\n" .'Each Alibaba Cloud account can run up to 50 queries per second (QPS). '."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceEventData', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryDeviceFile' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The name of the device.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **ProductKey** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'light', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the device. The device ID is issued by IoT Platform.'."\n" ."\n" .'> If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. The **IotId** parameter specifies a globally unique identifier (GUID) of the device, which corresponds to a combination of **ProductKey** and **DeviceName**. If you specify both **IotId** and the combination of **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], [ 'name' => 'FileId', 'in' => 'query', 'schema' => ['description' => 'The ID of the file. You can call the [QueryDeviceFileList](~~112001~~) operation and view the file ID in the response.'."\n", 'type' => 'string', 'required' => true, 'example' => 'xL0G67MBLBDtkR7GCfT******', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The file information returned if the call succeeds.'."\n", 'type' => 'object', 'properties' => [ 'UtcCreatedOn' => ['description' => 'The time when the file was created.'."\n", 'type' => 'string', 'example' => '2019-03-21T08:45:42.000Z', 'title' => ''], 'Name' => ['description' => 'The name of the file.'."\n", 'type' => 'string', 'example' => 'testFile3.txt', 'title' => ''], 'DownloadUrl' => ['description' => 'The download URL of the file.'."\n", 'type' => 'string', 'example' => 'http://iotx-file-store.oss-cn-shanghai.aliyuncs.com/device_file/A849******/aGE******/testFile3.txt?Expires=1553162075&OSSAccessKeyId=LTAI****************&Signature=%2F8******', 'title' => ''], 'Size' => ['description' => 'The size of the file. Unit: KB.'."\n", 'type' => 'string', 'example' => '102400', 'title' => ''], 'FileId' => ['description' => 'The ID of the file.'."\n", 'type' => 'string', 'example' => '6UCo1SqbqnQEoh9aKqDQ01****', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"UtcCreatedOn\\": \\"2019-03-21T08:45:42.000Z\\",\\n \\"Name\\": \\"testFile3.txt\\",\\n \\"DownloadUrl\\": \\"http://iotx-file-store.oss-cn-shanghai.aliyuncs.com/device_file/A849******/aGE******/testFile3.txt?Expires=1553162075&OSSAccessKeyId=LTAI****************&Signature=%2F8******\\",\\n \\"Size\\": \\"102400\\",\\n \\"FileId\\": \\"6UCo1SqbqnQEoh9aKqDQ01****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n93C5276D-5C8A-40D9-BFD6-4BD5B8C1A08F\\n\\n testFile3.txt\\n http://iotx-file-store.oss-cn-shanghai.aliyuncs.com/device_file/A849E4E5CFF64804A18D9384AC9D****/aGEKIpp5NAGxdP2oo90000****/testFile3.txt?Expires=1553162075&OSSAccessKeyId=LTAIYLScbHiV****&Signature=%2F88xdEFPukJ****%2F8****%2Bdv3io%3D\\n 6UCo1SqbqnQEoh9aKqDQ01****\\n 2019-03-21T08:45:42.000Z\\n 102400\\n\\ntrue\\n","errorExample":""}]', 'title' => 'QueryDeviceFile', 'summary' => 'Queries the information about a file that is uploaded to IoT Platform from a device.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 500 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceFile', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryDeviceFileList' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Maximum value: 200. Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The DeviceName of the device.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **ProductKey** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'light', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the device. The device ID is issued by IoT Platform.'."\n" ."\n" .'> If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. The **IotId** parameter specifies a globally unique identifier (GUID) of the device, which corresponds to a combination of **ProductKey** and **DeviceName**. If you specify both **IotId** and the combination of **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', 'schema' => ['description' => 'The number of the page to return. Pages start from page 1. Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'CurrentPage' => ['description' => 'The number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'Total' => ['description' => 'The total number of files.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'PageCount' => ['description' => 'The total number of pages.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'FileSummary' => [ 'description' => 'The file list information returned if the call succeeds.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'UtcCreatedOn' => ['description' => 'The time when the file was created.'."\n", 'type' => 'string', 'example' => '2019-03-21T08:45:42.000Z', 'title' => ''], 'Name' => ['description' => 'The name of the file.'."\n", 'type' => 'string', 'example' => 'testFile2.txt', 'title' => ''], 'Size' => ['description' => 'The size of the file. Unit: KB.'."\n", 'type' => 'string', 'example' => '1024000', 'title' => ''], 'FileId' => ['description' => 'The ID of each file. The ID is the unique identifier for the file.'."\n", 'type' => 'string', 'example' => 'xL0G67MBLBDtkR7GCfT******', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"CurrentPage\\": 1,\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageSize\\": 10,\\n \\"Total\\": 2,\\n \\"PageCount\\": 1,\\n \\"Data\\": {\\n \\"FileSummary\\": [\\n {\\n \\"UtcCreatedOn\\": \\"2019-03-21T08:45:42.000Z\\",\\n \\"Name\\": \\"testFile2.txt\\",\\n \\"Size\\": \\"1024000\\",\\n \\"FileId\\": \\"xL0G67MBLBDtkR7GCfT******\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n1\\n\\n \\n testFile2.txt\\n xL0G67MBLBDtkR7GCfT******\\n 2019-03-21T08:45:42.000Z\\n 102400\\n \\n \\n testFile3.txt\\n 6UCo1SqbqnQEoh9aKqD******\\n 2019-03-21T08:45:42.000Z\\n 102400\\n \\n \\n testFile1.txt\\n IhXXww3Eeu6uzSOSCyu******\\n 2019-03-21T08:45:40.000Z\\n 102400\\n \\n\\n10\\n7C7BA526-826D-46AA-A45E-55D21E6D1583\\n1\\ntrue\\n3\\n","errorExample":""}]', 'title' => 'QueryDeviceFileList', 'summary' => 'Queries information about all files that are uploaded to IoT Platform from a device.', 'description' => '## Limits'."\n" ."\n" .'* The returned file information for this operation call does not contain download URLs. To obtain the download URL of a file, call [QueryDeviceFile](~~112002~~).'."\n" ."\n" .'* Each Alibaba Cloud account can run a maximum of 500 queries per second (QPS).'."\n" ."\n" .'>RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceFileList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryDeviceGroupByDevice' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1SKk9K****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The DeviceName of the device.'."\n", 'type' => 'string', 'required' => true, 'example' => 'test456', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '7941C8CD-7764-4A94-8CD9-E2762D4A73AC', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'GroupInfos' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'GroupInfo' => [ 'description' => 'The group information returned if the call succeeds. For more information, see the following GroupInfo parameter.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'GroupName' => ['description' => 'The name of the group.'."\n", 'type' => 'string', 'example' => 'father1543152336554', 'title' => ''], 'GroupId' => ['description' => 'The ID of the group.'."\n", 'type' => 'string', 'example' => '6a3FF2XE2BKa****', 'title' => ''], 'GroupType' => ['description' => 'The type of the group.'."\n", 'type' => 'string', 'example' => 'LINK_PLATFORM_DYNAMIC', 'title' => ''], 'GroupDesc' => ['description' => 'The description of the group.'."\n", 'type' => 'string', 'example' => 'father desc', 'title' => ''], 'UtcCreate' => ['description' => 'The time when the group was created.'."\n", 'type' => 'string', 'example' => '2018-11-25T13:25:37.000Z', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"7941C8CD-7764-4A94-8CD9-E2762D4A73AC\\",\\n \\"Success\\": true,\\n \\"GroupInfos\\": {\\n \\"GroupInfo\\": [\\n {\\n \\"GroupName\\": \\"father1543152336554\\",\\n \\"GroupId\\": \\"6a3FF2XE2BKa****\\",\\n \\"GroupType\\": \\"LINK_PLATFORM_DYNAMIC\\",\\n \\"GroupDesc\\": \\"father desc\\",\\n \\"UtcCreate\\": \\"2018-11-25T13:25:37.000Z\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n7941C8CD-7764-4A94-8CD9-E2762D4A73AC\\n\\n \\n father desc\\n father1543152336554\\n 2018-11-25T13:25:37.000Z\\n 6a3FF2XE2BKa***\\n LINK_PLATFORM_DYNAMIC\\n \\n\\ntrue\\n","errorExample":""}]', 'title' => 'QueryDeviceGroupByDevice', 'summary' => 'Queries groups to which a device belongs.', 'description' => '## Limits'."\n" ."\n" .'* You can add a device to a maximum of 10 groups.'."\n" ."\n" .'* Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceGroupByDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryDeviceGroupByTags' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', 'schema' => ['description' => 'The number of the page to return. Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'default' => '10', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of tags.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'TagValue' => ['description' => 'The value of the tag.'."\n", 'type' => 'string', 'required' => true, 'example' => 'tag', 'title' => ''], 'TagKey' => ['description' => 'The key of each tag.'."\n", 'type' => 'string', 'required' => true, 'example' => 'group', 'title' => ''], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 10, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '9599EE98-1642-4FCD-BFC4-039E458A4693', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'PageSize' => ['description' => 'The number of entries returned on each page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'Total' => ['description' => 'The total number of records.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageCount' => ['description' => 'The total number of pages.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Page' => ['description' => 'The number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'DeviceGroup' => [ 'description' => 'The group information returned if the call succeeds.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'GroupName' => ['description' => 'The name of the group.'."\n", 'type' => 'string', 'example' => 'test11', 'title' => ''], 'GroupId' => ['description' => 'The ID of the group.'."\n", 'type' => 'string', 'example' => 'Z0ElGF5aqc0t****', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9599EE98-1642-4FCD-BFC4-039E458A4693\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageSize\\": 10,\\n \\"Total\\": 1,\\n \\"PageCount\\": 1,\\n \\"Page\\": 1,\\n \\"Data\\": {\\n \\"DeviceGroup\\": [\\n {\\n \\"GroupName\\": \\"test11\\",\\n \\"GroupId\\": \\"Z0ElGF5aqc0t****\\"\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'QueryDeviceGroupByTags', 'summary' => 'Invoke this API to query device groups by tag.', 'description' => '## Queries per second (QPS) limit'."\n" ."\n" .'Each Alibaba Cloud account can send a maximum of 5 queries per second (QPS) to call this API.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When you invoke this API, you must specify the common request parameters in addition to the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceGroupByTags', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceGroupByTags'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QueryDeviceGroupInfo' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'GroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the group. The ID is the globally unique identifier (GUID) for the group.'."\n" ."\n" .'You can call the [QueryDeviceGroupList](~~93356~~) operation to query the **GroupId** parameter.'."\n", 'type' => 'string', 'required' => true, 'example' => 'tDQvBJqbUyHs****', 'title' => ''], ], [ 'name' => 'GroupType', 'in' => 'query', 'schema' => ['description' => 'The type of the group.'."\n" ."\n" .'Set the value to **LINK_PLATFORM_DYNAMIC**. This value indicates a dynamic group. If you do not specify this parameter, a static group is queried by default.'."\n", 'type' => 'string', 'required' => false, 'example' => 'LINK_PLATFORM_DYNAMIC', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '7411716B-A488-4EEB-9AA0-6DB05AD2491F', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The group details returned if the call succeeds. This parameter includes the following parameters.'."\n", 'type' => 'object', 'properties' => [ 'GroupId' => ['description' => 'The ID of the group.'."\n", 'type' => 'string', 'example' => 'tDQvBJqbUyHs****', 'title' => ''], 'GroupName' => ['description' => 'The name of the group.'."\n", 'type' => 'string', 'example' => 'aliyun', 'title' => ''], 'DeviceActive' => ['description' => 'The number of activated devices.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'UtcCreate' => ['description' => 'The time when the group was created.'."\n", 'type' => 'string', 'example' => '2018-09-14T14:35:51.000Z', 'title' => ''], 'DynamicGroupExpression' => ['description' => 'The rule of the dynamic group. This parameter is returned if a dynamic group is queried.'."\n", 'type' => 'string', 'example' => 'product_key = "a1***" and name LIKE "test%"', 'title' => ''], 'DeviceOnline' => ['description' => 'The number of online devices.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'GroupDesc' => ['description' => 'The description of the group.'."\n", 'type' => 'string', 'example' => 'usefulGroup', 'title' => ''], 'DeviceCount' => ['description' => 'The total number of devices.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"7411716B-A488-4EEB-9AA0-6DB05AD2491F\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"GroupId\\": \\"tDQvBJqbUyHs****\\",\\n \\"GroupName\\": \\"aliyun\\",\\n \\"DeviceActive\\": 1,\\n \\"UtcCreate\\": \\"2018-09-14T14:35:51.000Z\\",\\n \\"DynamicGroupExpression\\": \\"product_key = \\\\\\"a1***\\\\\\" and name LIKE \\\\\\"test%\\\\\\"\\",\\n \\"DeviceOnline\\": 0,\\n \\"GroupDesc\\": \\"usefulGroup\\",\\n \\"DeviceCount\\": 10\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n7411716B-A488-4EEB-9AA0-6DB05AD2491F\\n\\n aliyun\\n 2021-10-14T14:35:51.000Z\\n 0\\n usefulGroup\\n 1\\n product_key = \\"a1***\\" and name LIKE \\"test%\\"\\n 10\\n tDQvBJqbUyHs****\\n\\ntrue\\n","errorExample":""}]', 'title' => 'QueryDeviceGroupInfo', 'summary' => 'Queries the details of a group.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 30 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceGroupInfo', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryDeviceGroupList' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of the entries to return on each page. Maximum value: 200. Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'default' => '10', 'title' => ''], ], [ 'name' => 'SuperGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the parent group. If you need to query the subgroups of a parent group, specify this parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => '8vDubXr4nUvZkNgk9mle010200', 'title' => ''], ], [ 'name' => 'GroupName', 'in' => 'query', 'schema' => ['description' => 'The name of the group.'."\n" ."\n" .'* If you specify this parameter, the system queries groups by group name. You can perform a fuzzy search by group name.'."\n" .'* If you do not specify this parameter, the system queries all groups.'."\n", 'type' => 'string', 'required' => false, 'example' => 'GroupName1', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', 'schema' => ['description' => 'The number of the page to return. Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''], ], [ 'name' => 'GroupTypes', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The type of groups to query.'."\n" ."\n" .'Currently, only one value is supported: **LINK_PLATFORM_DYNAMIC**, which indicates a dynamic group. If this parameter is not specified, static groups are queried by default.', 'type' => 'array', 'items' => ['type' => 'string', 'description' => 'The type of the group to be queried.'."\n" ."\n" .'Set the value to **LINK_PLATFORM_DYNAMIC**. This value indicates a dynamic group. If you do not specify this parameter, a static group is queried by default.'."\n", 'title' => '', 'example' => ''], 'required' => false, 'example' => 'LINK_PLATFORM_DYNAMIC', 'maxItems' => 2, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'CurrentPage' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'BEFCA316-D6C7-470C-81ED-1FF4FFD4AA0D', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'PageSize' => ['description' => 'The number of entries return on each page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'Total' => ['description' => 'The total number of records that were returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '24', 'title' => ''], 'PageCount' => ['description' => 'The total number of pages.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'GroupInfo' => [ 'description' => 'The group information returned if the call succeeds. For more information, see the GroupInfo parameter.'."\n" ."\n" .'> The returned group information is sorted in reverse chronological order in which the groups are created.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'GroupName' => ['description' => 'The name of the group.'."\n", 'type' => 'string', 'example' => 'test1', 'title' => ''], 'GroupId' => ['description' => 'The ID of the group.'."\n", 'type' => 'string', 'example' => 'Kzt9FD8wje8o****', 'title' => ''], 'GroupType' => ['description' => 'The type of the group.'."\n", 'type' => 'string', 'example' => 'LINK_PLATFORM_DYNAMIC', 'title' => ''], 'GroupDesc' => ['description' => 'The description of the group.'."\n", 'type' => 'string', 'example' => 'usefulGroup', 'title' => ''], 'UtcCreate' => ['description' => 'The time when the group was created.'."\n", 'type' => 'string', 'example' => '2018-10-09T02:58:34.000Z', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"CurrentPage\\": 1,\\n \\"RequestId\\": \\"BEFCA316-D6C7-470C-81ED-1FF4FFD4AA0D\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageSize\\": 10,\\n \\"Total\\": 24,\\n \\"PageCount\\": 3,\\n \\"Data\\": {\\n \\"GroupInfo\\": [\\n {\\n \\"GroupName\\": \\"test1\\",\\n \\"GroupId\\": \\"Kzt9FD8wje8o****\\",\\n \\"GroupType\\": \\"LINK_PLATFORM_DYNAMIC\\",\\n \\"GroupDesc\\": \\"usefulGroup\\",\\n \\"UtcCreate\\": \\"2018-10-09T02:58:34.000Z\\"\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'Query Group List', 'summary' => 'Invoke this API to perform a paged query of the group list.', 'description' => '## Queries per second (QPS) limit'."\n" ."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 100.'."\n" ."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When invoking the API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters Documentation](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceGroupList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceGroupList'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QueryDeviceGroupTagList' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'GroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the group. The ID is the globally unique identifier (GUID) for the group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'W16X8Tvdosec****', 'title' => ''], ], [ 'name' => 'GroupType', 'in' => 'query', 'schema' => ['description' => 'The type of the group.'."\n" ."\n" .'If you set the value to **LINK_PLATFORM_DYNAMIC**, a dynamic group is queried. If you do not specify this parameter, a static group is queried by default.'."\n", 'type' => 'string', 'required' => false, 'example' => 'LINK_PLATFORM_DYNAMIC', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '214154FF-9D47-4E3F-AAAD-F4CE67F41060', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'GroupTagInfo' => [ 'description' => 'The tag information returned if the call succeeds. For more information, see the following **GroupTagInfo** parameter.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'TagValue' => ['description' => 'The value of the tag.'."\n", 'type' => 'string', 'example' => 'bulb', 'title' => ''], 'TagKey' => ['description' => 'The key of the tag.'."\n", 'type' => 'string', 'example' => 'room1', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"214154FF-9D47-4E3F-AAAD-F4CE67F41060\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"GroupTagInfo\\": [\\n {\\n \\"TagValue\\": \\"bulb\\",\\n \\"TagKey\\": \\"room1\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n \\r\\n \\r\\n bulb\\r\\n room1\\r\\n \\r\\n \\r\\n 214154FF-9D47-4E3F-AAAD-F4CE67F41060\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'QueryDeviceGroupTagList', 'summary' => 'Queries the tags of a group.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 500 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceGroupTagList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryDeviceInfo' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **DeviceName** parameter.', 'type' => 'string', 'required' => false, 'example' => 'iot-v64***', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The DeviceName of the device.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **ProductKey** parameter.', 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The ID of the device.'."\n" ."\n" .'> If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. The **IotId** parameter specifies a globally unique identifier (GUID) of the device, which corresponds to a combination of **ProductKey** and **DeviceName**. If you specify both **IotId** and the combination of **ProductKey** and **DeviceName**, **IotId** takes precedence.', 'type' => 'string', 'required' => false, 'example' => 'light', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'The information about the device returned if the call is successful.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The alias of the device.'."\n", 'type' => 'object', 'properties' => [ 'Nickname' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n", 'type' => 'string', 'example' => 'detectors_in_beijing', 'title' => ''], 'ProductKey' => ['description' => 'The DeviceName of the device.'."\n", 'type' => 'string', 'example' => 'a1rYuVF****', 'title' => ''], 'DeviceName' => ['description' => 'The DeviceSecret of the device.'."\n", 'type' => 'string', 'example' => 'light', 'title' => ''], 'DeviceSecret' => ['description' => 'The ID of the device. The ID is the unique identifier that is issued by IoT Platform to the device.'."\n", 'type' => 'string', 'example' => 'mz2Canp4GB7qRVf1OYPNtRqB2anu****', 'title' => ''], 'IotId' => ['description' => 'The ID issued by the IoT Platform for the device, serving as its unique identifier.', 'type' => 'string', 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Iot.Device.NotExistedDevice', 'errorMessage' => 'The device does not exist.', 'description' => ''], ['errorCode' => 'Iot.common.QueryDeviceActionError', 'errorMessage' => 'An error occurred while querying the device.', 'description' => 'An error occurred while querying the device.'], ['errorCode' => 'iot.device.InvalidFormattedDeviceNameInNameArray', 'errorMessage' => 'The DeviceName list contains an invalid DeviceName.', 'description' => 'The DeviceName list contains an invalid DeviceName.'], ['errorCode' => 'iot.common.InvalidTenant', 'errorMessage' => 'The tenant is invalid.', 'description' => 'The tenant is invalid.'], ['errorCode' => 'iot.device.InvalidFormattedDeviceName', 'errorMessage' => 'The DeviceName format is invalid.', 'description' => 'The DeviceName format is invalid.'], ['errorCode' => 'Iot.digitaltwin.DTInstanceInvalidThingType', 'errorMessage' => 'The digital twin operation is not supported.', 'description' => 'You cannot call this operation to access data of the twin type.'], ['errorCode' => 'iot.gateway.BackEndServiceInvalid', 'errorMessage' => 'Request has failed due to invalid backend server', 'description' => ''], ['errorCode' => 'Iot.device.InvalidIoTId', 'errorMessage' => 'The specified device ID is invalid.', 'description' => ''], ['errorCode' => 'iot.device.NullDeviceName', 'errorMessage' => 'The deviceName is empty.', 'description' => ''], ['errorCode' => 'iot.device.DeviceInstanceInconsistency', 'errorMessage' => 'The instance of devices is inconsistency.', 'description' => 'The instance of devices is inconsistency.'], ['errorCode' => 'iot.prod.NotExistedProduct', 'errorMessage' => 'The specified product does not exist.', 'description' => 'The product does not exist.'], ['errorCode' => 'iot.prod.NullProductKey', 'errorMessage' => 'The productKey is empty.', 'description' => ''], ['errorCode' => 'iot.common.QueryDevicePropertyActionError', 'errorMessage' => 'An error occurred while querying the device property.', 'description' => 'An error occurred while querying the device property.'], ['errorCode' => 'iot.common.QueryManyDevicesActionError', 'errorMessage' => 'An error occurred while querying the devices', 'description' => 'An error occurred while querying the devices'], ['errorCode' => 'iot.Sre.IotInstanceStatusForbidden', 'errorMessage' => 'Instance status forbidden.', 'description' => 'Instance status forbidden.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Nickname\\": \\"detectors_in_beijing\\",\\n \\"ProductKey\\": \\"a1rYuVF****\\",\\n \\"DeviceName\\": \\"light\\",\\n \\"DeviceSecret\\": \\"mz2Canp4GB7qRVf1OYPNtRqB2anu****\\",\\n \\"IotId\\": \\"Q7uOhVRdZRRlDnTLv****00100\\"\\n }\\n}","type":"json"}]', 'title' => 'Query Device Information', 'summary' => 'Query the basic information (Device ID, device certificate, and nickname) of a specified device. ', 'description' => '## QPS Limit'."\n" ."\n\n" .'The maximum queries per second (QPS) for this API under a single Alibaba Cloud account is 500.'."\n" ."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters Documentation](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceInfo', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceInfo'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QueryDeviceListByDeviceGroup' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'GroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the group. The ID is the globally unique identifier (GUID) for the group.'."\n", 'type' => 'string', 'required' => true, 'example' => '7DIgqIl1Ijnh****', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'default' => '10', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', 'schema' => ['description' => 'The number of the page to return.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'B1A921D9-1061-4D45-9F12-EA6B0FDEDE30', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'Total' => ['description' => 'The total number of devices.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], 'PageCount' => ['description' => 'The total number of pages.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Page' => ['description' => 'The number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'SimpleDeviceInfo' => [ 'description' => 'The device list information returned if the call succeeds. For more information, see the following **SimpleDeviceInfo** parameter.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ProductKey' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n", 'type' => 'string', 'example' => 'a1hWjHD****', 'title' => ''], 'ProductName' => ['description' => 'The ProductName of the product to which the device belongs.'."\n", 'type' => 'string', 'example' => 'WIFIdevice', 'title' => ''], 'DeviceName' => ['description' => 'The name of each device.'."\n", 'type' => 'string', 'example' => 'ios_1207_08', 'title' => ''], 'IotId' => ['description' => 'The ID of the device. The ID is the unique identifier that is issued by IoT Platform to the device.'."\n", 'type' => 'string', 'example' => 'TfmUAeJjQQhCPH84UVNn0010c6****', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B1A921D9-1061-4D45-9F12-EA6B0FDEDE30\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageSize\\": 10,\\n \\"Total\\": 3,\\n \\"PageCount\\": 1,\\n \\"Page\\": 1,\\n \\"Data\\": {\\n \\"SimpleDeviceInfo\\": [\\n {\\n \\"ProductKey\\": \\"a1hWjHD****\\",\\n \\"ProductName\\": \\"WIFIdevice\\",\\n \\"DeviceName\\": \\"ios_1207_08\\",\\n \\"IotId\\": \\"TfmUAeJjQQhCPH84UVNn0010c6****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n 1\\r\\n \\r\\n \\r\\n ios_1207_08\\r\\n a1hWjHD****\\r\\n WIFIdevice\\r\\n TfmUAeJjQQhCPH84UVNn0010c6****\\r\\n \\r\\n \\r\\n ios_1207_07\\r\\n a1hWjHD****\\r\\n WIFIgateway\\r\\n wVPeAksaboXBlRgvZNHQ001031****\\r\\n \\r\\n \\r\\n E1IPK25iL4CTOwnuI2yt\\r\\n a1mV8bK****\\r\\n yanlv\\r\\n E1IPK25iL4CTOwnuI2yt001059****\\r\\n \\r\\n \\r\\n 10\\r\\n 1\\r\\n B1A921D9-1061-4D45-9F12-EA6B0FDEDE30\\r\\n true\\r\\n 3\\r\\n","errorExample":""}]', 'title' => 'QueryDeviceListByDeviceGroup', 'summary' => 'Queries the devices of a group.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceListByDeviceGroup', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryDeviceOriginalEventData' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Valid values: 1 to 50. Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '10', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the device belongs.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The name of the device.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **ProductKey** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'light', 'title' => ''], ], [ 'name' => 'NextPageToken', 'in' => 'query', 'schema' => ['description' => 'The identifier of the next page. If the next page exists, this parameter is returned. In this case, you must add the value of the parameter to the next request.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Bo***x44Qx', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', 'schema' => ['description' => 'The start of the time range to query. The value is a 13-digit timestamp in milliseconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1516538300303', 'title' => ''], ], [ 'name' => 'Identifier', 'in' => 'query', 'schema' => ['description' => 'The event identifier that you want to query.'."\n" ."\n" .'* If low-level verification is applied, you can perform the following steps to view the **Identifier** of a device event: Log on to the IoT Platform console and go to the Define Feature tab of the Product Details page. You can also call the [QueryThingModel](~~150321~~) operation and view the service identifier in the returned TSL data.'."\n" .'* If no verification is applied, the value must be the same as the value of the custom** identifier** that is submitted by the device.'."\n", 'type' => 'string', 'required' => true, 'example' => 'PowerOff', 'title' => ''], ], [ 'name' => 'Asc', 'in' => 'query', 'schema' => ['description' => 'The sorting order of the returned event records. Value values:'."\n" ."\n" .'* 0: descending.'."\n" .'* 1: ascending.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '0', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the device. It is the unique identifier that IoT Platform generated for the device.'."\n" ."\n" .'> If you specify this parameter, you do not need to specify the **ProductKey** or **DeviceName** parameter. The **IotId** parameter specifies a unique identifier for the device, and corresponds to a combination of the **ProductKey** and **DeviceName** parameters. If you specify the **IotId** parameter and the combination of the **ProductKey** and **DeviceName** parameters at the same time, only the **IotId** parameter is used.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', 'schema' => ['description' => 'The end of the time range to query. The value is a 13-digit timestamp in milliseconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1516541900303', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.device.InvalidIoTId', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call succeeds.'."\n" ."\n" .'* true: The call succeeded.'."\n" .'* false: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The event records returned if the call succeeds.'."\n", 'type' => 'object', 'properties' => [ 'NextPageToken' => ['description' => 'The identifier of the next page.', 'type' => 'string', 'example' => 'Bo***x44Qx', 'title' => ''], 'NextValid' => ['description' => 'Indicates whether the next page exists.'."\n" ."\n" .'* **true**: The next page exists.'."\n" .'* **false**: The next page does not exist.'."\n" ."\n" .'If the value ******true** is returned, you can add the value of the **NextPageToken** parameter**** to the next request. This allows you to query the data that is not included in the current query.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'List' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'EventInfo' => [ 'description' => 'The array of events. Each element represents an event. For more information about the details of the event, see the parameters of the **EventInfo** parameter.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Identifier' => ['description' => 'The identifier of the event.'."\n", 'type' => 'string', 'example' => 'PowerOff', 'title' => ''], 'OutputData' => ['description' => 'The output parameter of the event. The value is a string in the MAP format.'."\n", 'type' => 'string', 'example' => '{"structArgs":{"structchildFLOATf71c20e":1.23}}', 'title' => ''], 'Time' => ['description' => 'The time when the event occurred. The value is a 13-digit timestamp in milliseconds.'."\n", 'type' => 'string', 'example' => '1579163099000', 'title' => ''], 'EventType' => ['description' => 'The type of the event. Valid values:'."\n" ."\n" .'* info: information.'."\n" .'* alert: alert.'."\n" .'* error: error.'."\n", 'type' => 'string', 'example' => 'info', 'title' => ''], 'Name' => ['description' => 'The name of the event.'."\n", 'type' => 'string', 'example' => '设备关机', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.device.InvalidIoTId\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"NextPageToken\\": \\"Bo***x44Qx\\",\\n \\"NextValid\\": true,\\n \\"List\\": {\\n \\"EventInfo\\": [\\n {\\n \\"Identifier\\": \\"PowerOff\\",\\n \\"OutputData\\": \\"{\\\\\\"structArgs\\\\\\":{\\\\\\"structchildFLOATf71c20e\\\\\\":1.23}}\\",\\n \\"Time\\": \\"1579163099000\\",\\n \\"EventType\\": \\"info\\",\\n \\"Name\\": \\"设备关机\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n\\n false\\n Bo***x44Qx\\n \\n \\n testEventInfoName\\n \\n {\\"structArgs\\":{\\"structchildFLOATf71c20e\\":1.23,\\"structchildINT6b6b626\\":3,\\"structchildDATE663436a\\":\\"1516517966152\\",\\"structchildDOUBLE08d0f74\\":1.23,\\"structchildTEXTdc764f9\\":\\"07b68264b0ba42c18e5f\\",\\"structchildBOOLd260729\\":0,\\"structchildENUMbe62590\\":1},\\"enumArgs\\":0,\\"boolArgs\\":0,\\"floatArgs\\":2.3,\\"dateArgs\\":\\"1516517966152\\",\\"intArgs\\":1,\\"doubleArgs\\":2.3,\\"textArgs\\":\\"dV56zbkzjBjw1Ti1dA52\\"}\\n info\\n testEventInfo\\n \\n \\n\\n45391E10-446B-4986-863E-1BA8CC44748F\\ntrue\\n","errorExample":""}]', 'title' => 'QueryDeviceOriginalEventData', 'summary' => 'Queries the event records that are submitted by a specified device. These records include events that are verified and not verified by a specified Thing Specification Language (TSL) model.', 'description' => '## Limits'."\n" ."\n" .'* You can query only the event records that are generated in the last 30 days.'."\n" ."\n" .'> The storage period of an event record is calculated from the day when the record is generated.'."\n" ."\n" .'* Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n" ."\n" .'>Resource Access Management (RAM) users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this API operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], ], 'QueryDeviceOriginalPropertyData' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the ID of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.****'."\n" .'>* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The maximum number of records that can be returned for each property. Maximum value: 100.'."\n" ."\n" .'The number of records that are returned for an arbitrary property cannot exceed the limit.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '10', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the device belongs.****'."\n" ."\n\n" ."\n" .'> If you specify a value for this parameter, you must configure the **DeviceName** parameter.', 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The DeviceName of the device.'."\n" ."\n" .'> If you specify a value for this parameter, you must configure the **ProductKey** parameter.', 'type' => 'string', 'required' => false, 'example' => 'light', 'title' => ''], ], [ 'name' => 'NextPageToken', 'in' => 'query', 'schema' => ['description' => 'The token that is used to retrieve the next page of the query results. If the next page exists, this parameter is returned. In this case, you must add the value of the parameter to the next request.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Bo***x44Qx', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', 'schema' => ['description' => 'The start of the time range to query. The value must be a 13-digit timestamp.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1569249488000', 'title' => ''], ], [ 'name' => 'Identifier', 'in' => 'query', 'schema' => ['description' => 'The identifier of the property.'."\n" ."\n" .'* If weak verification is used, you can perform the following steps to view the **Identifier** of a device property: Log on to the IoT Platform console and go to the Define Feature tab of the Product Details page. You can also call the [QueryThingModel](~~150321~~) operation and view the property identifier in the returned TSL data.'."\n" .'* If no verification is used, the value must be the same as the custom **identifier** that is submitted by the device.'."\n", 'type' => 'string', 'required' => true, 'example' => 'temperature', 'title' => ''], ], [ 'name' => 'Asc', 'in' => 'query', 'schema' => ['description' => 'The order in which you want to sort the returned property records. Valid values:'."\n" ."\n" .'* 0: descending.'."\n" .'* 1: ascending.'."\n" ."\n" .'> The **start time** must be earlier than the **end time**. The system sorts the returned records based on the specified order.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '0', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n" ."\n" .'> The IotId parameter specifies a unique ID for the device. The value of the **IotId** parameter is equivalent to a combination of the values of the **ProductKey** and **DeviceName.N** parameters. If you specify the IotId parameter, you do not need to configure the **ProductKey** or **DeviceName.N** parameter. If you specify values for the **IotId**, **ProductKey**, and **DeviceName.N** parameters, the value of the **IotId** parameter takes precedence.', 'type' => 'string', 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', 'schema' => ['description' => 'The end of the time range to query. The value must be a 13-digit timestamp.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1579249499000', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.device.InvalidIoTId', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The property records returned if the call is successful.'."\n", 'type' => 'object', 'properties' => [ 'nextPageToken' => ['description' => 'The token that is used to retrieve the next page of the query results.'."\n", 'type' => 'string', 'example' => 'Bo***x44Qx', 'title' => ''], 'NextValid' => ['description' => 'Indicates whether the next page exists. '."\n" ."\n" .'- **true**: The next page exists.'."\n" .'- **false**: The next page does not exist.'."\n" ."\n" .'If **true** is returned for the **NextValid** parameter, you can add the value of the **NextPageToken** parameter to the next request. This way, you can query the data that is not included in the current query.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'List' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'PropertyInfo' => [ 'description' => 'The properties. Each element indicates a property.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Value' => ['description' => 'The value of the property.'."\n", 'type' => 'string', 'example' => '{\\"data\\":32.49}', 'title' => ''], 'Time' => ['description' => 'The time when the property was modified.'."\n", 'type' => 'string', 'example' => '1516541885630', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.device.InvalidIoTId\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"nextPageToken\\": \\"Bo***x44Qx\\",\\n \\"NextValid\\": true,\\n \\"List\\": {\\n \\"PropertyInfo\\": [\\n {\\n \\"Value\\": \\"{\\\\\\\\\\\\\\"data\\\\\\\\\\\\\\":32.49}\\",\\n \\"Time\\": \\"1516541885630\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n\\n false\\n Bo***x44Qx\\n \\n \\n 32.46\\n \\n \\n \\n\\n45391E10-446B-4986-863E-1BA8CC44748F\\ntrue\\n","errorExample":""}]', 'title' => 'QueryDeviceOriginalPropertyData', 'summary' => 'Queries the original property records that are submitted by a specified device. These records include the records of properties that passed and failed the verification of a specified Thing Specification Language (TSL) model.', 'description' => 'You can query only the property records that are generated within the previous 30 days.'."\n" ."\n" .'> The data of a property is stored from the day when the data is generated.'."\n" ."\n" .'## QPS limits'."\n" ."\n" .'You can call this API operation up to 50 times per second per account. '."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], ], 'QueryDeviceOriginalPropertyStatus' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Valid values: 1 to 50.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '10', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the device belongs.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The name of the device.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **ProductKey** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'light', 'title' => ''], ], [ 'name' => 'NextPageToken', 'in' => 'query', 'schema' => ['description' => 'The identifier of the next page. If the next page exists, this parameter is returned. In this case, you must add the value of the parameter to the next request.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Bo***x44Qx', 'title' => ''], ], [ 'name' => 'Asc', 'in' => 'query', 'schema' => ['description' => 'The chronological order in which property data is queried. Valid values:'."\n" ."\n" .'* 0: in reverse chronological order.'."\n" .'* 1: in chronological order.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '0', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the device. It is the unique identifier that IoT Platform generated for the device.'."\n" ."\n" .'> If you specify this parameter, you do not need to specify the **ProductKey** or **DeviceName** parameter. The **IotId** parameter specifies a unique identifier for the device, and corresponds to a combination of the **ProductKey** and **DeviceName** parameters. If you specify the **IotId** parameter and a combination of the **ProductKey** and **DeviceName** parameters at the same time, the **IotId** parameter takes precedence.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.common.InvalidPageParams', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call succeeds.'."\n" ."\n" .'* true: The call succeeded.'."\n" .'* false: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data returned if the call succeeds. For more information, see the parameters of the List parameter.'."\n", 'type' => 'object', 'properties' => [ 'NextPageToken' => ['description' => 'The identifier of the next page.', 'type' => 'string', 'example' => 'Bo***x44Qx', 'title' => ''], 'NextValid' => ['description' => 'Indicates whether the next page exists.'."\n" ."\n" .'* **true**: The next page exists.'."\n" .'* **false**: The next page does not exist.'."\n" ."\n" .'If the value ******true** is returned, you can add the value of the **NextPageToken** parameter**** to the next query. This allows you to query the data that is not returned by the current query.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'List' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'PropertyStatusDataInfo' => [ 'description' => 'The array of property information. The information about each property is indicated by the **PropertyStatusInfo** parameter.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Identifier' => ['description' => 'The identifier of the property.'."\n", 'type' => 'string', 'example' => 'Temperture', 'title' => ''], 'Value' => ['description' => 'The value of the property.'."\n", 'type' => 'string', 'example' => '26', 'title' => ''], 'Time' => ['description' => 'The time when the property was modified, in milliseconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1517553572362', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.common.InvalidPageParams\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"NextPageToken\\": \\"Bo***x44Qx\\",\\n \\"NextValid\\": true,\\n \\"List\\": {\\n \\"PropertyStatusDataInfo\\": [\\n {\\n \\"Identifier\\": \\"Temperture\\",\\n \\"Value\\": \\"26\\",\\n \\"Time\\": 1517553572362\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n\\n false\\n Bo***x44Qx\\n \\n \\n 48\\n \\n Humidity\\n \\n \\n 32.46\\n \\n Temperature\\n \\n \\n\\n84BAD25B-9879-4BA1-9213-F576C6558D77\\ntrue\\n","errorExample":""}]', 'title' => 'QueryDeviceOriginalPropertyStatus', 'summary' => 'Queries the original property snapshots that are submitted by a specified device. These snapshots include properties that are verified and not verified by a specified Thing Specification Language (TSL) model.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n" ."\n" .'> Resource Access Management (RAM) users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this API operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceOriginalPropertyStatus', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryDeviceOriginalServiceData' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Maximum value: 50.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '10', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the device belongs.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The name of the device.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **ProductKey** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'light', 'title' => ''], ], [ 'name' => 'NextPageToken', 'in' => 'query', 'schema' => ['description' => 'The identifier of the next page. The response to the first request contains this parameter, which will be added to the next request.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Bo***x44Qx', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', 'schema' => ['description' => 'The start of the time range to query. The value must be a 13-digit timestamp.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1579249498000', 'title' => ''], ], [ 'name' => 'Identifier', 'in' => 'query', 'schema' => ['description' => 'The identifier of the service.'."\n" ."\n" .'* If low-level verification is applied, you can perform the following steps to view the **Identifier** of a device event: Log on to the IoT Platform console and go to the Define Feature tab of the Product Details page. You can also call the [QueryThingModel](~~150321~~) operation and view the service identifier in the returned TSL data.'."\n" .'* If no verification is applied, the value must be the same as the value of the custom** identifier** that is submitted by the device.'."\n", 'type' => 'string', 'required' => true, 'example' => 'Set', 'title' => ''], ], [ 'name' => 'Asc', 'in' => 'query', 'schema' => ['description' => 'The sorting order of the returned service call records. Valid values:'."\n" ."\n" .'* 0: descending.'."\n" .'* 1: ascending.'."\n" ."\n" .'> **The start time** must be earlier than **the end time**. The system sorts the returned records based on the specified order.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '0', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the device. It is the unique identifier that IoT Platform generated for the device.'."\n" ."\n" .'> If you specify this parameter, you do not need to specify the **ProductKey** or **DeviceName** parameter. The **IotId** parameter specifies a unique identifier for the device, and corresponds to a combination of the **ProductKey** and **DeviceName** parameters. If you specify the **IotId** parameter and a combination of the **ProductKey** and **DeviceName** parameters at the same time, the **IotId** parameter takes precedence.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', 'schema' => ['description' => 'The end of the time range to query. The value must be a 13-digit timestamp.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1579249499000', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.device.InvalidIoTId', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call succeeds.'."\n" ."\n" .'* true: The call succeeded.'."\n" .'* false: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The service call records returned if the call succeeds.'."\n", 'type' => 'object', 'properties' => [ 'NextPageToken' => ['description' => 'The identifier of the next page.', 'type' => 'string', 'example' => 'Bo***x44Qx', 'title' => ''], 'NextValid' => ['description' => 'Indicates whether the next page exists.'."\n" ."\n" .'* **true**: The next page exists.'."\n" .'* **false**: The next page does not exist.'."\n" ."\n" .'If the value ******true** is returned, you can add the value of the **NextPageToken** parameter**** to the next request. This allows you to query the data that is not included in the current query.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'List' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'ServiceInfo' => [ 'description' => 'The array of service call records. Each element represents a service call record. For more information about the details of a service, see the parameters that belong to the **ServiceInfo** parameter.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Identifier' => ['description' => 'The identifier of the service.'."\n", 'type' => 'string', 'example' => 'Set', 'title' => ''], 'OutputData' => ['description' => 'The output parameter of the service. The value is a string in the MAP format. Syntax: key:value.'."\n", 'type' => 'string', 'example' => '{\\"code\\":200,\\"data\\":{},\\"id\\":\\"100686\\",\\"message\\":\\"success\\",\\"version\\":\\"1.0\\"}', 'title' => ''], 'Time' => ['description' => 'The time when the service was called.'."\n", 'type' => 'string', 'example' => '1579249499000', 'title' => ''], 'InputData' => ['description' => 'The input parameter of the service. The value is a string in the MAP format. Syntax: key:value.'."\n", 'type' => 'string', 'example' => '{\\"LightAdjustLevel\\":123}', 'title' => ''], 'Name' => ['description' => 'The service name.'."\n", 'type' => 'string', 'example' => '设置温度', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.device.InvalidIoTId\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"NextPageToken\\": \\"Bo***x44Qx\\",\\n \\"NextValid\\": true,\\n \\"List\\": {\\n \\"ServiceInfo\\": [\\n {\\n \\"Identifier\\": \\"Set\\",\\n \\"OutputData\\": \\"{\\\\\\\\\\\\\\"code\\\\\\\\\\\\\\":200,\\\\\\\\\\\\\\"data\\\\\\\\\\\\\\":{},\\\\\\\\\\\\\\"id\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"100686\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"message\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"success\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"version\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1.0\\\\\\\\\\\\\\"}\\",\\n \\"Time\\": \\"1579249499000\\",\\n \\"InputData\\": \\"{\\\\\\\\\\\\\\"LightAdjustLevel\\\\\\\\\\\\\\":123}\\",\\n \\"Name\\": \\"设置温度\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n\\n true\\n Bo***x44Qx\\n \\n \\n set\\n \\n {\\"code\\":200,\\"data\\":{},\\"id\\":\\"100686\\",\\"message\\":\\"success\\",\\"version\\":\\"1.0\\"}\\n {\\"LightAdjustLevel\\":123}\\n set\\n \\n \\n\\nA44C818E-FA7F-4765-B1E7-01D14AE01C6A\\ntrue\\n","errorExample":""}]', 'title' => 'QueryDeviceOriginalServiceData', 'summary' => 'Queries the original service records that are submitted by a specified device. These records include services that are verified and not verified by a specified Thing Specification Language (TSL) model.', 'description' => '## Limits'."\n" ."\n" .'* You can query only the service call records that are generated in the last 30 days.'."\n" ."\n" .'> The storage period of a service call record is calculated from the day when the service is called.'."\n" ."\n" .'* Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n" ."\n" .'> Resource Access Management (RAM) users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this API operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], ], 'QueryDeviceProp' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n\n" .'**Important**'."\n" ."\n" .'* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The DeviceName of the device.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **ProductKey** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'light', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the device. The device ID is issued by IoT Platform.'."\n" ."\n" .'> If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. The **IotId** parameter specifies a globally unique identifier (GUID) of the device, which corresponds to a combination of **ProductKey** and **DeviceName**. If you specify both **IotId** and the combination of **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Props' => ['description' => 'A JSON string returned if the call is successful. The JSON string includes the details of the device tags.'."\n", 'type' => 'string', 'example' => '{"coordinate":"104.07086:30.549169"}', 'title' => ''], 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Props\\": \\"{\\\\\\"coordinate\\\\\\":\\\\\\"104.07086:30.549169\\\\\\"}\\",\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\nD8CEF5E7-1484-4164-A242-C06BA3A54E0F\\n{\\"coordinate\\":\\"104.07086:30.549169\\"}\\ntrue\\n","errorExample":""}]', 'title' => 'QueryDeviceProp', 'summary' => 'Queries the tags of a device.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceProp', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryDevicePropertiesData' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The maximum number of records that is returned for each property. Maximum value: 100.'."\n" ."\n" .'The number of records that are returned for an arbitrary property cannot exceed the limit.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '10', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The DeviceName of the device.'."\n", 'type' => 'string', 'required' => false, 'example' => 'airconditioning', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', 'schema' => ['description' => 'The start of the time range to query. The value is a 13-digit timestamp in milliseconds, for example, 1579249499000.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1579249499000', 'title' => ''], ], [ 'name' => 'Asc', 'in' => 'query', 'schema' => ['description' => 'The sorting order of the returned property records. Valid values:'."\n" ."\n" .'* **0**: in reverse chronological order. In this case, the time that is specified by the **StartTime** parameter must be later than the time that is specified by the **EndTime** parameter.'."\n" .'* **1**: in chronological order. In this case, the time that is specified by the **StartTime** parameter must be earlier than the time that is specified by the **EndTime** parameter.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '0', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the device. The device ID is issued by IoT Platform.'."\n" ."\n" .'> The **IotId** parameter is a globally unique identifier (GUID), and corresponds to a combination of the **ProductKey** and **DeviceName** parameters. If you specify the **IotId** parameter and a combination of the **ProductKey** and **DeviceName** parameters at the same time, the **IotId** parameter is used.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', 'schema' => ['description' => 'The end of the time range to query. The value is a 13-digit timestamp in milliseconds, for example 1579249499000.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1579249499000', 'title' => ''], ], [ 'name' => 'Identifier', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'A list of property identifiers. '."\n" .'Duplicate property identifiers are not allowed. '."\n" .''."\n" .'- You can view the property **Identifier** of a device in the feature definition of the product to which the device belongs in the IoT Platform console, or by invoking the [QueryThingModel](~~150321~~) API and checking the returned Thing Specification Language model data.'."\n" .'- You can view the property **Identifier** of a digital twin node under the functional properties of the twin node in the Digital Twin Workbench of the IoT Platform console. For more information, see [Functional Properties of Twin Nodes](~~454999~~).'."\n" ."\n" .''."\n" ."\n" .'You can view the property **Identifier** of a device in the feature definition of the product to which the device belongs in the IoT Platform console, or by invoking the [QueryThingModel](~~150321~~) API and checking the returned Thing Specification Language model data.'."\n" ."\n" .'> If the device property is **temperature** under a custom (non-default) module named **testFb**, the parameter value is **testFb:temperature**.'."\n", 'type' => 'array', 'items' => ['type' => 'string', 'description' => 'The identifiers of the properties.'."\n" ."\n" .'The property identifiers must be unique.'."\n" ."\n" .'You can view the property identifiers in the IoT Platform console. Go to the Define Feature tab of the Product Details page. You can also call the [QueryThingModel](~~150321~~) operation and view the property identifiers in the returned TSL data.'."\n" ."\n" .'> If a property named temperature belongs to a custom module named testFb, set this pararmeter to **testFb:temperature**. The custom module is not the default module.'."\n", 'title' => '', 'example' => ''], 'required' => true, 'example' => 'temperature', 'maxItems' => 10, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'NextValid' => ['description' => 'Indicates whether the next page exists.'."\n" ."\n" .'* **true**: The next page exists.'."\n" .'* **false**: The next page does not exist.'."\n" ."\n" .'If the return value of the **NextValid** parameter is **true**, you can use the value of the **NextTime** parameter as the value of the **StartTime** parameter when you query the next page of results.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'NextTime' => ['description' => 'The start time to query on the next page.'."\n" ."\n" .'You can use the value of the **NextTime** parameter as the value of the **StartTime** parameter when you query the next page of results.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1579249499000', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. '."\n" ."\n" .'- **true**: The call was successful.'."\n" .'- **false**: The call failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'PropertyDataInfos' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'PropertyDataInfo' => [ 'description' => 'The list of property records returned if the call is successful. For more information, see **PropertyDataInfo**.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Identifier' => ['description' => 'The identifier of the property.'."\n", 'type' => 'string', 'example' => 'temperature', 'title' => ''], 'List' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'PropertyInfo' => [ 'description' => 'The list of property records.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Value' => ['description' => 'The value of the property.'."\n", 'type' => 'string', 'example' => '21.3', 'title' => ''], 'Time' => ['description' => 'The time when the property was submitted. The value is a timestamp in milliseconds, such as 1579249499000.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1579249499000', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextValid\\": true,\\n \\"NextTime\\": 1579249499000,\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PropertyDataInfos\\": {\\n \\"PropertyDataInfo\\": [\\n {\\n \\"Identifier\\": \\"temperature\\",\\n \\"List\\": {\\n \\"PropertyInfo\\": [\\n {\\n \\"Value\\": \\"21.3\\",\\n \\"Time\\": 1579249499000\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'Batch query the property reporting data of a specified device ', 'summary' => 'Invoke this API to query data of multiple properties of a specified device or digital twin node within a specified time period. ', 'description' => '## How-To '."\n" .' '."\n" .'- To query property data of a digital twin node, you must specify the **IotId** parameter and set its value to the ID of the digital twin node. '."\n" .'- This API no longer supports paged queries. If fewer than **PageSize** records are returned within the specified time period, the returned **NextTime** and **NextValid** values are invalid. You can call the [QueryDevicePropertyData](~~69539~~) API multiple times, specifying one **Identifier** per call. '."\n" ."\n" .' '."\n" ."\n" .'This API no longer supports paged queries. If fewer than **PageSize** records are returned within the specified time period, the returned **NextTime** and **NextValid** values are invalid. You can call the [QueryDevicePropertyData](~~69539~~) API multiple times, specifying one **Identifier** per call. '."\n" ."\n" .'## Limits '."\n" ."\n" .'- A single API call can query historical data for up to 10 properties and return up to 100 records. '."\n" .'- For medium and premium Enterprise instances: You can only query data within the data storage retention period. For details about data storage retention, see [Storage Configuration](~~464050~~). '."\n" .'- For other instances: You can only query property data from the last 30 days. '."\n" ."\n" .'## QPS Limits '."\n" .'The maximum queries per second (QPS) for this API is 10 per Alibaba Cloud account. '."\n" .'> All Resource Access Management (RAM) users under an Alibaba Cloud account share the quota of that account. '."\n" ."\n", 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDevicePropertiesData', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDevicePropertiesData'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QueryDevicePropertyData' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not configure this parameter, the call fails.'."\n" .'* If your instance has no **Overview** page or ID, you do not need to configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Valid values: 1 to 50.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '10', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n" ."\n" .'>If you specify a value for this parameter, you must also specify a value for the **DeviceName** parameter.', 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The name of the device.'."\n" ."\n" .'>If you specify a value for this parameter, you must also specify a value for the **ProductKey** parameter.', 'type' => 'string', 'required' => false, 'example' => 'airconditioning', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', 'schema' => ['description' => 'The start of the time range to query. The value of the StartTime parameter must be less than the value of the **EndTime** parameter. The value is a timestamp in milliseconds, for example, 1579249499000.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '1579249499000', 'title' => ''], ], [ 'name' => 'Identifier', 'in' => 'query', 'schema' => ['description' => 'The identifier of the property that you want to query.'."\n" ."\n" .'You can view the property **identifier** on the Define Feature tab of the Product Details page in the IoT Platform console. You can also call the [QueryThingModel](~~150321~~) operation and view the property identifier in the returned TSL data.'."\n" ."\n" .'> If a property named temperature belongs to a custom module named testFb, set this parameter to **testFb:temperature**. The custom module is not the default module.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'temperature', 'title' => ''], ], [ 'name' => 'Asc', 'in' => 'query', 'schema' => ['description' => 'The order in which you want to sort the property records that are returned. Valid values:'."\n" ."\n" .'* **0**: reverse chronological order'."\n" .'* **1**: chronological order'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '0', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the device to which the property belongs.:'."\n" ."\n" .'You can call the [QueryDeviceInfo](~~257184~~) operation to query the **ID** of the device.'."\n" ."\n" .'>If you specify a value for this parameter, you do not need to specify a value for the **ProductKey** or **DeviceName** parameter. The **IotId** parameter specifies a globally unique identifier (GUID) for the device. The value of the IotId parameter corresponds to a combination of the values of the **ProductKey** and **DeviceName** parameters. If you specify a value for the **IotId** parameter and values for the **ProductKey** and **DeviceName** parameters, the value of the **IotId** parameter takes precedence.', 'type' => 'string', 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', 'schema' => ['description' => 'The end of the time range to query. The value of the EndTime parameter must be greater than the value of the **StartTime** parameter. The value is a timestamp in milliseconds, for example, 1579249499000.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '1579249499000', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The property data returned if the call is successful.'."\n", 'type' => 'object', 'properties' => [ 'NextTime' => ['description' => 'The start time of the property records on the next page. '."\n" ."\n" .'- If the **Asc** parameter is set to **0**, you can specify this value for the **EndTime** parameter when you call this operation again to query the next page of property records.'."\n" .'- If the **Asc** parameter is set to **1**, you can specify this value for the **StartTime** parameter when you call this operation again to query the next page of property records.', 'type' => 'integer', 'format' => 'int64', 'example' => '1579249499000', 'title' => ''], 'NextValid' => ['description' => 'Indicates whether the next page exists.'."\n" ."\n" .'* **true**: The next page exists. If the return value of the NextValid parameter is true, the value of the **NextTime** parameter is returned. For more information, see the description of the **NextTime** parameter in this topic.'."\n" .'* **false**: The next page does not exist.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'List' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'PropertyInfo' => [ 'description' => 'The list of property records.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Value' => ['description' => 'The value of the property.'."\n", 'type' => 'string', 'example' => '2', 'title' => ''], 'Time' => ['description' => 'The time when the property was modified.'."\n", 'type' => 'string', 'example' => '1516541885630', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"NextTime\\": 1579249499000,\\n \\"NextValid\\": true,\\n \\"List\\": {\\n \\"PropertyInfo\\": [\\n {\\n \\"Value\\": \\"2\\",\\n \\"Time\\": \\"1516541885630\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n\\n false\\n 1579249151177\\n \\n \\n 32.46\\n \\n \\n \\n\\n45391E10-446B-4986-863E-1BA8CC44748F\\ntrue\\n","errorExample":""}]', 'title' => 'QueryDevicePropertyData', 'summary' => 'Queries the data of a property in a device or a digital twin node within a specified period of time.', 'description' => 'If a device or a digital twin node has multiple properties, you can call this operation to query the data of the properties multiple times. You must specify a value for the **Identifier** parameter each time you call the operation. You can also call the [QueryDevicePropertiesData](~~99237~~) operation and specify multiple values for the **Identifier** parameter to query the data of the properties.'."\n" ."\n" .'## Limits'."\n" ."\n" .'You can query only property data that is generated within the previous 30 days. '."\n" ."\n" .'> The data of a property is stored from the day when the data is generated.'."\n" .' '."\n" .'## QPS limits'."\n" ."\n" .'Each Alibaba Cloud account can run up to 50 queries per second (QPS). '."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDevicePropertyData', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryDevicePropertyStatus' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n" .'>* If no **Overview** page or instance ID appears in the console, you do not need to configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n" ."\n" .'>If you specify this parameter, you must also specify the **DeviceName** parameter.', 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The DeviceName of the device.'."\n" ."\n" .'>If you specify this parameter, you must also specify the **ProductKey** parameter.', 'type' => 'string', 'required' => false, 'example' => 'light', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the device or digital twin node whose property data you want to query.'."\n" ."\n" .'* You can call the [QueryDeviceInfo](~~257184~~) operation to query the **ID** of the device.'."\n" .'* Log on to the IoT Platform console. On the **Twin Details** page, click the digital twin node to view its **ID**.'."\n" ."\n" .'>If you specify this parameter, you do not need to specify the **ProductKey** and **DeviceName** parameters. The **IotId** parameter specifies a globally unique identifier (GUID) for the device. The value of the IotId parameter corresponds to a combination of the values of the **ProductKey** and **DeviceName** parameters. If you specify the **IotId**, **ProductKey**, and **DeviceName** parameters, the value of the **IotId** parameter takes precedence.', 'type' => 'string', 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], [ 'name' => 'FunctionBlockId', 'in' => 'query', 'schema' => ['description' => 'The identifier of the custom TSL module. Each identifier is unique in a product.'."\n" ."\n" .'If you do not specify this parameter, the system queries the data of the default module.'."\n", 'type' => 'string', 'required' => false, 'example' => 'BatteryModule', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the request fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data returned if the call succeeds. For more information, see **List**.'."\n", 'type' => 'object', 'properties' => [ 'List' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'PropertyStatusInfo' => [ 'description' => 'The array of property information. The information about each property is indicated by the **PropertyStatusInfo** parameter.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Time' => ['description' => 'The time when the property was modified, in milliseconds.'."\n", 'type' => 'string', 'example' => '1517553572362', 'title' => ''], 'Value' => ['description' => 'The value of the property.'."\n", 'type' => 'string', 'example' => '25', 'title' => ''], 'DataType' => ['description' => 'The data type of the property. Valid values:'."\n" ."\n" .'* **int**: integer'."\n" .'* **float**: single-precision floating-point number'."\n" .'* **double**: double-precision floating-point number'."\n" .'* **enum**: enumeration'."\n" .'* **bool**: Boolean'."\n" .'* **text**: character'."\n" .'* **date**: time (string-type UTC timestamp in milliseconds)'."\n" .'* **array**: array'."\n" .'* **struct**: structure'."\n", 'type' => 'string', 'example' => 'int', 'title' => ''], 'Unit' => ['description' => 'The unit of the property value.'."\n", 'type' => 'string', 'example' => '°C', 'title' => ''], 'Identifier' => ['description' => 'The identifier of the property.'."\n", 'type' => 'string', 'example' => 'Temperature', 'title' => ''], 'Name' => ['description' => 'The name of the property.'."\n", 'type' => 'string', 'example' => 'temperature', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"List\\": {\\n \\"PropertyStatusInfo\\": [\\n {\\n \\"Time\\": \\"1517553572362\\",\\n \\"Value\\": \\"25\\",\\n \\"DataType\\": \\"int\\",\\n \\"Unit\\": \\"°C\\",\\n \\"Identifier\\": \\"Temperature\\",\\n \\"Name\\": \\"temperature\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', 'title' => 'QueryDevicePropertyStatus', 'summary' => 'Queries all the property snapshots of a device or digital twin node.', 'description' => 'To query the property data of a digital twin node, you must set the **IotId** parameter to the ID of the digital twin node.'."\n" ."\n" .'## QPS limits'."\n" ."\n" .'Each Alibaba Cloud account can run up to 200 queries per second (QPS). '."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the Alibaba Cloud account.', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information, see [Common parameters](~~30561~~).'."\n", 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDevicePropertyStatus', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryDeviceProvisioning' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'ProductKey', 'in' => 'formData', 'schema' => ['description' => 'The **ProductKey** of the product to which the device belongs.', 'type' => 'string', 'required' => true, 'example' => 'a1ji*****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The device name.', 'type' => 'string', 'required' => true, 'example' => 'testDevcieBwT3Un', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => '- Returns **success** when the invocation succeeds. '."\n" .'- Returns an error code when the invocation fails. For more information, see **error code** below.', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generated for this request. ', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The device distribution result returned after a successful call. ', 'type' => 'object', 'properties' => [ 'TargetRegion' => ['description' => 'The destination region to which the device belongs. ', 'type' => 'string', 'example' => 'ap-southeast-1', 'title' => ''], 'ProductKey' => ['description' => 'The **ProductKey** of the product to which the device belongs. ', 'type' => 'string', 'example' => 'a1ji*****', 'title' => ''], 'DeviceName' => ['description' => 'The device name. ', 'type' => 'string', 'example' => 'testDevcieBwT3Un', 'title' => ''], 'GmtCreate' => ['description' => 'The creation time of the distribution job to which the device belongs, expressed as a UNIX timestamp in milliseconds.'."\n" ."\n" .'If the device has not been distributed, the current server timestamp is returned. ', 'type' => 'integer', 'format' => 'int64', 'example' => '1676297683000', 'title' => ''], 'TargetIotInstanceId' => ['description' => 'The target instance ID to which the device belongs. ', 'type' => 'string', 'example' => 'iot-09k****', 'title' => ''], 'SourceIotInstanceId' => ['description' => 'The source instance ID to which the device belongs. ', 'type' => 'string', 'example' => 'iot-6ja****', 'title' => ''], 'AliyunUid' => ['description' => 'The Alibaba Cloud account to which the device currently belongs. ', 'type' => 'string', 'example' => 'io****@example.com', 'title' => ''], 'GmtModified' => ['description' => 'The modification time of the distribution job to which the device belongs, expressed as a UNIX timestamp in milliseconds.'."\n" ."\n" .'If the device has not been distributed, the current server timestamp is returned. ', 'type' => 'integer', 'format' => 'int64', 'example' => '1676297683000', 'title' => ''], 'SourceRegion' => ['description' => 'The source region to which the device belongs. ', 'type' => 'string', 'example' => 'cn-shanghai', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.common.APINotSupportedInInstance', 'errorMessage' => 'This API operation is not supported in this instance.', 'description' => 'The API operation is not supported in this instance.'], ['errorCode' => 'iot.common.RamActionPermissionDeny', 'errorMessage' => 'You do not have the RAM permission.', 'description' => 'You do not have the RAM permission.'], ['errorCode' => 'iot.common.InvalidTenant', 'errorMessage' => 'The Invalid tenant.', 'description' => ''], ['errorCode' => 'iot.common.InvalidFormattedParameter', 'errorMessage' => 'The parameter format is invalid.', 'description' => 'The parameter format is invalid.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"TargetRegion\\": \\"ap-southeast-1\\",\\n \\"ProductKey\\": \\"a1ji*****\\",\\n \\"DeviceName\\": \\"testDevcieBwT3Un\\",\\n \\"GmtCreate\\": 1676297683000,\\n \\"TargetIotInstanceId\\": \\"iot-09k****\\",\\n \\"SourceIotInstanceId\\": \\"iot-6ja****\\",\\n \\"AliyunUid\\": \\"io****@example.com\\",\\n \\"GmtModified\\": 1676297683000,\\n \\"SourceRegion\\": \\"cn-shanghai\\"\\n }\\n}","type":"json"}]', 'title' => 'QueryDeviceProvisioning', 'summary' => 'Invoke this API to query the distribution result of a specified device. ', 'description' => '## Queries per second (QPS) limit'."\n" ."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 50.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. ', 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceProvisioning', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceProvisioning'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QueryDeviceServiceData' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the ID of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.****'."\n" .'>* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Valid values: 1 to 50.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n" ."\n" .'>If you specify a value for this parameter, you must configure the **DeviceName** parameter.', 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The DeviceName of the device.'."\n" ."\n" .'> If you specify a value for this parameter, you must configure the **ProductKey** parameter.', 'type' => 'string', 'required' => false, 'example' => 'light', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', 'schema' => ['description' => 'The beginning of the time range to query. The value is a Unix timestamp. Unit: milliseconds. Example: 1579249499000.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1579249499000', 'title' => ''], ], [ 'name' => 'Identifier', 'in' => 'query', 'schema' => ['description' => 'The identifier of the service. The **identifier** of the service that is called. You can view the service identifier on the Define Feature tab in the IoT Platform console. You can also call the [QueryThingModel](~~150321~~) operation to view the service identifier.'."\n" ."\n" .'> If a service named **testService** belongs to a custom module named **testFb**, you can set this parameter to **testFb:testService**. The custom module is not the default module.'."\n" ."\n" .'If you do not specify a value for this parameter, the system queries all service data of the default module and custom modules.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Set', 'title' => ''], ], [ 'name' => 'Asc', 'in' => 'query', 'schema' => ['description' => 'The sorting order of the returned service call records. Valid values:'."\n" ."\n" .'* **0**: reverse chronological order'."\n" .'* **1**: chronological order'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n" ."\n" .'> The IotId parameter specifies a GUID for the device. The value of the **IotId** parameter is equivalent to a combination of the values of the **ProductKey** and **DeviceName** parameters. If you specify a value for this parameter, you do not need to configure the **ProductKey** or **DeviceName** parameter. If you specify values for the **IotId**, **ProductKey**, and **DeviceName** parameters, the value of the **IotId** parameter takes precedence.', 'type' => 'string', 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', 'schema' => ['description' => 'The end of the time range to query. The value is a Unix timestamp. Unit: milliseconds. Example: 1579249499000.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1579249499000', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code that is returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message that is returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request. The ID uniquely identifies the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The service call records returned if the call is successful.'."\n", 'type' => 'object', 'properties' => [ 'NextValid' => ['description' => 'Indicates whether the next page exists.'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n" ."\n" .'If the return value of the **NextValid** parameter is **true**, you can use the value of the **NextTime** parameter as the value of the **StartTime** parameter when you query the next page of results.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'NextTime' => ['description' => 'The start time of service call records on the next page. '."\n" ."\n" .'If you call the QueryDeviceServiceData operation to query the service call records on the next page, you must set the **StartTime** parameter to the value of this parameter.', 'type' => 'integer', 'format' => 'int64', 'example' => '1579335899000', 'title' => ''], 'List' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'ServiceInfo' => [ 'description' => 'The array of service call records. Each element represents a service call record.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Identifier' => ['description' => 'The identifier of the service.'."\n", 'type' => 'string', 'example' => 'Set', 'title' => ''], 'OutputData' => ['description' => 'The output parameter of the service. The value is a string in the MAP format. Syntax: `key:value`.'."\n", 'type' => 'string', 'example' => '{\\"code\\":200,\\"data\\":{},\\"id\\":\\"100686\\",\\"message\\":\\"success\\",\\"version\\":\\"1.0\\"}', 'title' => ''], 'Time' => ['description' => 'The time when the service was called.'."\n", 'type' => 'string', 'example' => '1579249499000', 'title' => ''], 'InputData' => ['description' => 'The input parameter of the service. The value is a string in the MAP format. Syntax: `key:value`.'."\n", 'type' => 'string', 'example' => '{\\"LightAdjustLevel\\":123}', 'title' => ''], 'Name' => ['description' => 'The name of the service.'."\n", 'type' => 'string', 'example' => '设置温度', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"NextValid\\": true,\\n \\"NextTime\\": 1579335899000,\\n \\"List\\": {\\n \\"ServiceInfo\\": [\\n {\\n \\"Identifier\\": \\"Set\\",\\n \\"OutputData\\": \\"{\\\\\\\\\\\\\\"code\\\\\\\\\\\\\\":200,\\\\\\\\\\\\\\"data\\\\\\\\\\\\\\":{},\\\\\\\\\\\\\\"id\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"100686\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"message\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"success\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"version\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1.0\\\\\\\\\\\\\\"}\\",\\n \\"Time\\": \\"1579249499000\\",\\n \\"InputData\\": \\"{\\\\\\\\\\\\\\"LightAdjustLevel\\\\\\\\\\\\\\":123}\\",\\n \\"Name\\": \\"设置温度\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n\\n true\\n 1517315865197\\n \\n \\n set\\n \\n {\\"code\\":200,\\"data\\":{},\\"id\\":\\"100686\\",\\"message\\":\\"success\\",\\"version\\":\\"1.0\\"}\\n {\\"LightAdjustLevel\\":123}\\n set\\n \\n \\n\\nA44C818E-FA7F-4765-B1E7-01D14AE01C6A\\ntrue\\n","errorExample":""}]', 'title' => 'QueryDeviceServiceData', 'summary' => 'Queries the service call records of a specified device.', 'description' => 'You can query only the service call records of the previous 30 days.'."\n" ."\n" .'> The storage period of a service call record is calculated from the day when the service is called.'."\n" ."\n" .'## QPS limits'."\n" ."\n" .'You can call this API operation up to 50 times per second per account. '."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceServiceData', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryDeviceSpeech' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotId', 'in' => 'formData', 'schema' => ['description' => 'The ID issued by the IoT Platform for a device, which serves as the device\'s unique identifier. You can obtain this parameter by invoking [QuerySpeechDevice](~~280408~~).', 'type' => 'string', 'required' => true, 'example' => '4de2c367****8c585e5992**', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID.'."\n" ."\n" .'You must specify an instance ID; otherwise, the invocation will fail. You can view your instance ID on the **Instance Overview** page in the IoT Platform console.'."\n" .'>'."\n" .'If your public instance does not have an ID, see [How to Obtain an Instance ID](~~267533~~).'."\n" .'>'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'formData', 'schema' => ['description' => 'The maximum number of entries to return per page. Valid values: 1 to 50. Default value: 20.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '20', 'default' => '20', 'title' => ''], ], [ 'name' => 'PageId', 'in' => 'formData', 'schema' => ['description' => 'The current page number, starting from 1. Maximum value is 10000.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10000', 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.speechsolution.NotSigned', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => 'speech solution has not been signed', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => '66FF51D3-***-49F1-B1A2-***', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" ."\n" .'- **true**: The invocation succeeded.'."\n" ."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of data entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], 'Total' => ['description' => 'The total number of returned data entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], 'PageId' => ['description' => 'The current page number, starting from 1.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'List' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Items' => [ 'description' => 'The corpus list on the current page.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'AudioFormat' => ['description' => 'The audio format. Only **wav**, **mp3**, and **amr** formats are supported.', 'type' => 'string', 'example' => 'wav', 'title' => ''], 'BizCode' => ['description' => 'The corpus identifier.', 'type' => 'string', 'example' => 'ZFDZ', 'title' => ''], 'Size' => ['description' => 'The corpus size, in KB.', 'type' => 'number', 'format' => 'float', 'example' => '16', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.speechsolution.NotSigned\\",\\n \\"ErrorMessage\\": \\"speech solution has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageSize\\": 20,\\n \\"Total\\": 200,\\n \\"PageId\\": 1,\\n \\"List\\": {\\n \\"Items\\": [\\n {\\n \\"AudioFormat\\": \\"wav\\",\\n \\"BizCode\\": \\"ZFDZ\\",\\n \\"Size\\": 16\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', 'title' => 'Query Device Corpus List', 'summary' => 'Query the corpus list of a specified device.', 'requestParamsDescription' => 'When invoking the API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters document](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QueryDeviceSpeech', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceSpeech'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QueryDeviceStatistics' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the devices belong.'."\n" ."\n" .'* If you specify this parameter, the statistics of the devices under the product is returned. If you also specify **GroupId**, the statistics of the devices that are created under the product and added to the group is returned.'."\n" .'* If you do not specify this parameter and **GroupId**, the statistics of all devices within the current account is returned.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'GroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the group to which the devices belong.'."\n" ."\n" .'* If you specify this parameter, the statistics of the devices that are added to the group is returned. If you also specify **ProductKey**, the statistics of the devices that are created under the product and added to the group is returned.'."\n" .'* If you do not specify this parameter and **ProductKey**, the statistics of all devices within the current account is returned.'."\n", 'type' => 'string', 'required' => false, 'example' => 'W16X8Tvdosec****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The device statistics returned if the call is successful.'."\n", 'type' => 'object', 'properties' => [ 'deviceCount' => ['description' => 'The total number of devices.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''], 'activeCount' => ['description' => 'The number of activated devices.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''], 'onlineCount' => ['description' => 'The number of online devices.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"deviceCount\\": 100,\\n \\"activeCount\\": 10,\\n \\"onlineCount\\": 10\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n\\n 2\\n 2\\n 0\\n\\n8AC026D2-6F16-4719-A396-969D63DCA138\\ntrue\\n","errorExample":""}]', 'title' => 'QueryDeviceStatistics', 'summary' => 'Queries the statistics of devices, including the number of online devices, the number of activated devices, and the total number of created devices.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceStatistics', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryDeviceSubTopic' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the ID of an instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must specify the ID for this parameter. If you do not specify the instance ID, the call fails.'."\n" .'>* If the **Overview** page or instance ID is not displayed in the IoT Platform console, you do not need to configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n" ."\n" .'You can use the IoT Platform console or call the [QueryProductList](~~69271~~) operation to view the information about all products within the current Alibaba Cloud account.'."\n", 'type' => 'string', 'required' => true, 'example' => 'hf768****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The name of the device.'."\n" ."\n" .'You can use the IoT Platform console or call the [QueryDeviceInfo](~~257184~~) operation to view the information about the device.'."\n", 'type' => 'string', 'required' => true, 'example' => 'device1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request. The ID uniquely identifies this request.'."\n", 'type' => 'string', 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'TopicList' => [ 'description' => 'The information about the topics to which the device has subscribed. This parameter is returned if the call was successful.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'TopicName' => ['description' => 'The name of the topic.'."\n", 'type' => 'string', 'example' => '/hf768****/device1/user/test', 'title' => ''], 'Timestamp' => ['description' => 'The time when the device subscribed to a topic. Unit: milliseconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1662039965873', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true,\\n \\"TopicList\\": [\\n {\\n \\"TopicName\\": \\"/hf768****/device1/user/test\\",\\n \\"Timestamp\\": 1662039965873\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\nE4C0FF92-2A86-41DB-92D3-73B60310D25E\\n\\n 1662039965873\\n /hf768****/device1/user/test\\n\\n\\n 1662039965873\\n /hf768****/device1/user/down\\n\\ntrue\\n","errorExample":""}]', 'title' => 'QueryDeviceSubTopic', 'summary' => 'Queries the topics to which a device has subscribed.', 'description' => '## QPS limits'."\n" ."\n" .'You can call this operation up to 100 times per second per account.'."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceSubTopic', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryDeviceTunnel' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'TunnelId', 'in' => 'query', 'schema' => ['description' => 'The ID of the secure tunnel to query. ', 'type' => 'string', 'required' => true, 'example' => 'd4098041-a560-***', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the current instance **ID** on the **Instance Overview** page in the IoT Platform console. '."\n" ."\n" .'> '."\n" .'- If an ID value exists, you must specify this ID; otherwise, the invocation will fail. '."\n" .'- If there is no **Instance Overview** page or ID value, you do not need to specify it. '."\n" ."\n" .'> '."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~). ', 'type' => 'string', 'required' => false, 'example' => 'iot-***-v6***', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~). ', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails. ', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generated for this request.', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" ."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: The invocation failed. '."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The information about the secure tunnel returned when the call succeeds.', 'type' => 'object', 'properties' => [ 'ProductName' => ['description' => 'The name of the product to which the device belongs.', 'type' => 'string', 'example' => 'test', 'title' => ''], 'DeviceName' => ['description' => 'The device name. ', 'type' => 'string', 'example' => 'light', 'title' => ''], 'UtcClosed' => ['description' => 'The UTC time when the secure tunnel was shut down.', 'type' => 'string', 'example' => '2021-09-22T12:44:12.000Z', 'title' => ''], 'DeviceConnState' => ['description' => 'The connection status on the device side.'."\n" ."\n" .'- **CONNECTED**: Connected.'."\n" .'- **DISCONNECTED**: Disconnected.', 'type' => 'string', 'example' => 'CONNECTED', 'title' => ''], 'UtcCreated' => ['description' => 'The UTC time when the secure tunnel was created.', 'type' => 'string', 'example' => '2021-09-22T12:44:12.000Z', 'title' => ''], 'SourceConnState' => ['description' => 'The connection status on the access side.'."\n" ."\n" .'- **CONNECTED**: Connected.'."\n" .'- **DISCONNECTED**: Disconnected.', 'type' => 'string', 'example' => 'DISCONNECTED', 'title' => ''], 'ProductKey' => ['description' => 'The **ProductKey** of the product to which the device belongs. ', 'type' => 'string', 'example' => 'a1rYuVF***', 'title' => ''], 'Description' => ['description' => 'The description of the secure tunnel.', 'type' => 'string', 'example' => '用于远程登录到摄像头。', 'title' => ''], 'TunnelId' => ['description' => 'The ID of the secure tunnel. ', 'type' => 'string', 'example' => ' d4098041-a560-***', 'title' => ''], 'TunnelState' => ['description' => 'The status of the secure tunnel.'."\n" ."\n" .'- **OPEN**: Open. You can access the corresponding device through the secure tunnel.'."\n" .'- **CLOSED**: Closed. You cannot access the corresponding device through the secure tunnel.', 'type' => 'string', 'example' => 'OPEN', 'title' => ''], 'IotId' => ['description' => 'The ID that the IoT Platform issued to the device, which serves as the UUID of the device.', 'type' => 'string', 'example' => 'Q7uOhVRdZRRlDnTLv***00100', 'title' => ''], 'Udi' => ['description' => 'The custom information pushed to the device.', 'type' => 'string', 'example' => 'reboot', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.securetunnel.InstanceIdMismatch', 'errorMessage' => 'The instanceId does not match the parameter.', 'description' => 'The instance ID does not match the parameter.'], ['errorCode' => 'iot.securetunnel.TunnelNotExist', 'errorMessage' => 'The device tunnel does not exist.', 'description' => 'The device tunnel does not exist.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ProductName\\": \\"test\\",\\n \\"DeviceName\\": \\"light\\",\\n \\"UtcClosed\\": \\"2021-09-22T12:44:12.000Z\\",\\n \\"DeviceConnState\\": \\"CONNECTED\\",\\n \\"UtcCreated\\": \\"2021-09-22T12:44:12.000Z\\",\\n \\"SourceConnState\\": \\"DISCONNECTED\\",\\n \\"ProductKey\\": \\"a1rYuVF***\\",\\n \\"Description\\": \\"用于远程登录到摄像头。\\",\\n \\"TunnelId\\": \\" d4098041-a560-***\\",\\n \\"TunnelState\\": \\"OPEN\\",\\n \\"IotId\\": \\"Q7uOhVRdZRRlDnTLv***00100\\",\\n \\"Udi\\": \\"reboot\\"\\n }\\n}","type":"json"}]', 'title' => 'Query the details of a single secure tunnel ', 'summary' => 'Queries the details of a single secure tunnel, including the associated device, creation time, ID, connection status, and other information.', 'description' => '## QPS Limit'."\n" .'The maximum queries per second (QPS) for this API is 5 for each Alibaba Cloud account.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When you invoke this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceTunnel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceTunnel'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QueryDevicesHotStorageData' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'Instance ID. You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console. ', 'type' => 'string', 'required' => true, 'example' => 'iot-2w****', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The maximum number of data records that can be returned for a single field identifier. The maximum value is 100. '."\n" .'The number of data records returned for any field does not exceed this value. ', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '201', 'minimum' => '0', 'example' => '10', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the device belongs. '."\n" .'> If this parameter is specified, you must also specify **DeviceName**. '."\n" .'> ', 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The name of the device. '."\n" .'> If this parameter is specified, you must also specify **ProductKey**. '."\n" .'> ', 'type' => 'string', 'required' => false, 'example' => 'device1', 'title' => ''], ], [ 'name' => 'NextPageToken', 'in' => 'query', 'schema' => ['description' => 'The token for the next page. If a next page exists, the service returns this token. Include it in your next request. ', 'type' => 'string', 'required' => false, 'example' => 'Bo***x44Qx', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', 'schema' => ['description' => 'The start time of the data records to query. This value must be less than the end time (**EndTime**). The value is a UNIX timestamp in milliseconds, for example, 1579249499000. ', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '999999999999999', 'minimum' => '0', 'example' => '1579249499000', 'title' => ''], ], [ 'name' => 'Identifier', 'in' => 'query', 'schema' => ['description' => 'The field identifier of the stored hot data. This identifier corresponds to the field identifiers in the **Items** request parameter when you call the **WriteDevicesHotStorageData** API to write hot data. ', 'type' => 'string', 'required' => true, 'example' => 'temperature', 'title' => ''], ], [ 'name' => 'Asc', 'in' => 'query', 'schema' => ['description' => 'The sorting order for data records in the return result. Valid values: '."\n" .'- **0**: Descending order. '."\n" .'- **1**: Ascending order. ', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '5', 'minimum' => '0', 'example' => '0', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'Device ID. '."\n" .'> **IotId** serves as the unique identifier of a device and has a one-to-one mapping relationship with the combination of **ProductKey** and **DeviceName**. If you specify this parameter, you do not need to specify **ProductKey** and **DeviceName**. If you specify both **IotId** and the **ProductKey**/**DeviceName** pair, **IotId** takes precedence. '."\n" .'> ', 'type' => 'string', 'required' => false, 'example' => 'y4u2weAI********HMle1234', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', 'schema' => ['description' => 'The end time of the data records to query. This value must be greater than the start time (**StartTime**). The value is a UNIX timestamp in milliseconds, for example, 1579249499000. ', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '999999999999999', 'minimum' => '0', 'example' => '1579249499000', 'title' => ''], ], [ 'name' => 'UserTopic', 'in' => 'query', 'schema' => ['description' => 'The custom topic to which the queried data belongs. Enter all subsequent categories of the custom topic starting from the `user` category. '."\n" .'For more information about custom topics, see [custom topic](~~85539~~). ', 'type' => 'string', 'required' => true, 'example' => 'user/a***/b***', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'When the invocation fails, an error code is returned. For more information, see **error code** below. ', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: The invocation failed. ', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data returned after a successful invocation.', 'type' => 'object', 'properties' => [ 'nextPageToken' => ['description' => 'The token for the next page.', 'type' => 'string', 'example' => 'Bo***x44Qx', 'title' => ''], 'NextValid' => ['description' => 'Indicates whether there is a next page of property records.'."\n" ."\n" .'- **true**: Yes.'."\n" .'- **false**: No.'."\n" ."\n" .'If **NextValid** is **true**, you can use the value of **NextPageToken** as the **NextPageToken** in your next query to retrieve data not included in the current response.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'List' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'PropertyInfo' => [ 'description' => 'The collection of metric.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Value' => ['description' => 'The field value.', 'type' => 'string', 'example' => '2', 'title' => ''], 'Time' => ['description' => 'The UNIX timestamp corresponding to the field value, in milliseconds.', 'type' => 'string', 'example' => '1516541885630', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.device.InvalidTimeBucket', 'errorMessage' => 'The specified time range is invalid.', 'description' => 'The specified time range is invalid.'], ['errorCode' => 'iot.device.NullDeviceName', 'errorMessage' => 'The DeviceName parameter cannot be empty.', 'description' => 'The DeviceName parameter cannot be empty.'], ['errorCode' => 'iot.prod.NullProductKey', 'errorMessage' => 'The ProductKey parameter cannot be empty.', 'description' => 'The ProductKey parameter cannot be empty.'], ['errorCode' => 'iot.common.InvalidPageParams', 'errorMessage' => 'The specified pagination size or pagination parameter is invalid.', 'description' => 'The page size or page number is invalid.'], ['errorCode' => 'iot.prod.NotExistedProduct', 'errorMessage' => 'The specified product does not exist.', 'description' => 'The product does not exist.'], ['errorCode' => 'iot.device.PageTokenIsIllegal', 'errorMessage' => 'The paging token is invalid.', 'description' => 'The paging token is invalid.'], ['errorCode' => 'Iot.Device.NotExistedDevice', 'errorMessage' => 'The device does not exist.', 'description' => ''], ['errorCode' => 'iot.device.InvalidFormattedDeviceName', 'errorMessage' => 'The DeviceName format is invalid.', 'description' => 'The DeviceName format is invalid.'], ['errorCode' => 'iot.prod.InvalidFormattedProductkey', 'errorMessage' => 'The ProductKey format is invalid.', 'description' => 'The ProductKey format is invalid.'], ['errorCode' => 'iot.system.IllegalRequest', 'errorMessage' => 'The request parameter is invalid.', 'description' => 'The request parameter is invalid.'], ['errorCode' => 'iot.device.InvalidIoTId', 'errorMessage' => 'The specified device ID is invalid.', 'description' => 'The specified device ID is invalid.'], ['errorCode' => 'iot.storage.HotStorageIopsReadNotEnough', 'errorMessage' => 'The timeline storage read IOPS is not enough.', 'description' => 'The timeline IOPS of hot storage is insufficient.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"nextPageToken\\": \\"Bo***x44Qx\\",\\n \\"NextValid\\": true,\\n \\"List\\": {\\n \\"PropertyInfo\\": [\\n {\\n \\"Value\\": \\"2\\",\\n \\"Time\\": \\"1516541885630\\"\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', 'title' => 'QueryDevicesHotStorageData ', 'summary' => 'Invoke this API to query the metric of hot data for a device.', 'description' => '## How-To'."\n" .'You can invoke this API to query hot data only for medium and premium Enterprise instances.'."\n" ."\n" .'For more information about hot data storage, see [Storage Configuration](~~464047~~).'."\n" ."\n" .'## Limits'."\n" .'- The number of data write requests per second allowed when invoking this API is determined by the **hot data storage input/output operations per second (IOPS)** specification of your purchased instance. For more information, see [Purchase an Enterprise Instance](~~356507~~) and [View Hot Data Storage IOPS](~~464051~~).'."\n" ."\n" .'- You can query only data within its storage retention period. For details about data retention periods, see [Storage Configuration](~~464050~~).'."\n" ."\n" .' > The data retention period starts from the day corresponding to the UNIX timestamp of the stored field.', 'requestParamsDescription' => 'When invoking the API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDevicesHotStorageData', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDevicesHotStorageData'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QueryDevicesHotStorageDataStatus' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'Instance ID. You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console.', 'type' => 'string', 'required' => true, 'example' => 'iot-2w****', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of records displayed per page in the return result. The maximum value is 50.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '201', 'minimum' => '0', 'example' => '10', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the device belongs.'."\n" .'> If you specify this parameter, you must also specify **DeviceName**.'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The name of the device. '."\n" .'> If you specify this parameter, you must also specify **ProductKey**. '."\n" .'> ', 'type' => 'string', 'required' => false, 'example' => 'device1', 'title' => ''], ], [ 'name' => 'NextPageToken', 'in' => 'query', 'schema' => ['description' => 'The token that identifies the next page. If a next page exists, the service returns this token. Include it in your next request.', 'type' => 'string', 'required' => false, 'example' => 'Bo***x44Qx', 'title' => ''], ], [ 'name' => 'Asc', 'in' => 'query', 'schema' => ['description' => 'The sorting order of data records in the return result. Valid values:'."\n" .'- **0**: Descending order.'."\n" .'- **1**: Ascending order.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '5', 'minimum' => '0', 'example' => '0', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'Device ID.'."\n" .'> **IotId** is the Unique Identifier of the device and has a one-to-one mapping with the combination of **ProductKey** and **DeviceName**. If you specify this parameter, you do not need to specify **ProductKey** and **DeviceName**. If you specify both **IotId** and the **ProductKey** and **DeviceName** combination, **IotId** takes precedence.'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => 'y4u2weAI********HMle1234', 'title' => ''], ], [ 'name' => 'UserTopic', 'in' => 'query', 'schema' => ['description' => 'The custom topic to which the queried data belongs. Start from the `user` category and enter all subsequent categories of the custom topic.'."\n" ."\n" .'For more information about custom topics, see [custom topic](~~85539~~).', 'type' => 'string', 'required' => true, 'example' => 'user/a***/b***', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see **error code** below.', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for the request.', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data returned after a successful invocation.', 'type' => 'object', 'properties' => [ 'NextPageToken' => ['description' => 'The token for the next page.', 'type' => 'string', 'example' => 'Bo***x44Qx', 'title' => ''], 'NextValid' => ['description' => 'Indicates whether there is another page of property records.'."\n" ."\n" .'- **true**: Yes.'."\n" .'- **false**: No.'."\n" ."\n" .'If **NextValid** is **true**, you can use the value of **NextPageToken** as the **NextPageToken** in your next query to retrieve data not displayed in the current query.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'List' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'PropertyStatusDataInfo' => [ 'description' => 'The collection of snapshot data.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Identifier' => ['description' => 'The field identifier.', 'type' => 'string', 'example' => 'Temperture', 'title' => ''], 'Value' => ['description' => 'The field value.', 'type' => 'string', 'example' => '22', 'title' => ''], 'Time' => ['description' => 'The field value corresponds to a UNIX timestamp, in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1517553572362', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.device.PageTokenIsIllegal', 'errorMessage' => 'The paging token is invalid.', 'description' => 'The paging token is invalid.'], ['errorCode' => 'iot.prod.NotExistedProduct', 'errorMessage' => 'The specified product does not exist.', 'description' => 'The product does not exist.'], ['errorCode' => 'iot.device.InvalidTimeBucket', 'errorMessage' => 'The specified time range is invalid.', 'description' => 'The specified time range is invalid.'], ['errorCode' => 'iot.common.InvalidPageParams', 'errorMessage' => 'The specified pagination size or pagination parameter is invalid.', 'description' => 'The page size or page number is invalid.'], ['errorCode' => 'iot.prod.NullProductKey', 'errorMessage' => 'The ProductKey parameter cannot be empty.', 'description' => 'The ProductKey parameter cannot be empty.'], ['errorCode' => 'Iot.Device.NotExistedDevice', 'errorMessage' => 'The device does not exist.', 'description' => ''], ['errorCode' => 'iot.device.InvalidFormattedDeviceName', 'errorMessage' => 'The DeviceName format is invalid.', 'description' => 'The DeviceName format is invalid.'], ['errorCode' => 'iot.prod.InvalidFormattedProductkey', 'errorMessage' => 'The ProductKey format is invalid.', 'description' => 'The ProductKey format is invalid.'], ['errorCode' => 'iot.system.IllegalRequest', 'errorMessage' => 'The request parameter is invalid.', 'description' => 'The request parameter is invalid.'], ['errorCode' => 'iot.device.InvalidIoTId', 'errorMessage' => 'The specified device ID is invalid.', 'description' => 'The specified device ID is invalid.'], ['errorCode' => 'iot.device.NullDeviceName', 'errorMessage' => 'The DeviceName parameter cannot be empty.', 'description' => 'The DeviceName parameter cannot be empty.'], ['errorCode' => 'iot.storage.HotStorageIopsReadNotEnough', 'errorMessage' => 'The timeline storage read IOPS is not enough.', 'description' => 'The timeline IOPS of hot storage is insufficient.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"NextPageToken\\": \\"Bo***x44Qx\\",\\n \\"NextValid\\": true,\\n \\"List\\": {\\n \\"PropertyStatusDataInfo\\": [\\n {\\n \\"Identifier\\": \\"Temperture\\",\\n \\"Value\\": \\"22\\",\\n \\"Time\\": 1517553572362\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', 'title' => 'QueryDevicesHotStorageDataStatus', 'summary' => 'Invoke this API to query snapshot data of device hot data.', 'description' => '## How-To'."\n" .'You can invoke this API to query hot data only for medium and premium Enterprise instances in the China (Shanghai), China (Beijing), and China (Shenzhen) regions.'."\n" ."\n" .'For more information about hot data storage, see [Configure Hot Data Storage](~~464047~~).'."\n" ."\n" .'## Limits'."\n" .'The number of data write requests per second allowed when invoking this API is determined by the **hot data storage input/output operations per second (IOPS)** specification of your purchased instance. For more information, see [Purchase an Enterprise Instance](~~356507~~) and [View Hot Data Storage IOPS](~~464051~~).', 'requestParamsDescription' => 'When invoking the API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters Documentation](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDevicesHotStorageDataStatus', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDevicesHotStorageDataStatus'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QueryDynamicGroupDevices' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n", 'type' => 'string', 'required' => true, 'example' => 'iot-***-v6***', 'title' => ''], ], [ 'name' => 'GroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the group. The ID is the globally unique identifier (GUID) for the group.'."\n" ."\n" .'You can call the [QueryDeviceGroupList](~~93356~~) operation to query the **GroupId** parameter.'."\n", 'type' => 'string', 'required' => true, 'example' => 'tDQvBJqbUyHs***', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. Valid values: 1 to 200. Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'default' => '10', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the devices belong.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV***', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The DeviceName of the device.'."\n" ."\n" .'If you specify this parameter and set **FuzzyName** to **true**, the value you specified is used as the prefix to fuzzy match the DeviceName. The value must be at least 4 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => 'light', 'title' => ''], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TGlzdFJlc291***', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', 'schema' => ['description' => 'The page number. Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'default' => '1', 'title' => ''], ], [ 'name' => 'Status', 'in' => 'query', 'schema' => ['description' => 'The device status. Valid values:'."\n" ."\n" .'* **ONLINE**: The device is online.'."\n" .'* **OFFLINE**: The device is offline.'."\n" .'* **UNACTIVE**: The device is not activated.'."\n" .'* **DISABLE**: The device is deactivated.'."\n", 'type' => 'string', 'required' => false, 'example' => 'OFFLINE', 'title' => ''], ], [ 'name' => 'FuzzyName', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to fuzzy match devices by the value of the **DeviceName** parameter. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false** (default)'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'NextToken' => ['description' => 'A pagination token. It can be used in the next request to retrieve a new page of results.'."\n" ."\n" .'If NextToken is empty, no next page exists.'."\n", 'type' => 'string', 'example' => 'TGlzdFJlc291***', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the request fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Code' => ['description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'Total' => ['description' => 'The total number of devices.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '24', 'title' => ''], 'PageCount' => ['description' => 'The total number of pages returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'Page' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'SimpleDeviceInfo' => [ 'description' => 'The devices returned after the request succeeds. The information is included in the **SimpleDeviceInfo** field.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The device status. Valid values:'."\n" ."\n" .'* **ONLINE**: The device is online.'."\n" .'* **OFFLINE**: The device is offline.'."\n" .'* **UNACTIVE**: The device is not activated.'."\n" .'* **DISABLE**: The device is deactivated.'."\n", 'type' => 'string', 'example' => 'ONLINE', 'title' => ''], 'ProductName' => ['description' => 'The ProductName of the product to which the device belongs.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], 'DeviceName' => ['description' => 'The DeviceName of the device.'."\n", 'type' => 'string', 'example' => 'light', 'title' => ''], 'UtcActiveTime' => ['description' => 'The time when the device was activated. The time is in the UTC format.'."\n", 'type' => 'string', 'example' => '2018-08-06T02:48:41.000Z', 'title' => ''], 'ActiveTime' => ['description' => 'The time when the device was activated.'."\n", 'type' => 'string', 'example' => '2018-08-06 10:48:41', 'title' => ''], 'ProductKey' => ['description' => 'The **ProductKey** of the product to which the device belongs.'."\n", 'type' => 'string', 'example' => 'a1rYuVF***', 'title' => ''], 'LastOnlineTime' => ['description' => 'The last time when the device went online.'."\n", 'type' => 'string', 'example' => '2018-08-06 13:43:12', 'title' => ''], 'NodeType' => ['description' => 'The node type of the product. Valid values:'."\n" ."\n" .'* **0**: device. A device can connect to IoT Platform directly, or be attached to a gateway as a sub-device and then connect to IoT Platform. Sub-devices cannot be attached to a device.'."\n" .'* **1**: gateway. Sub-devices can be attached to a gateway. A gateway can manage sub-devices, maintain topological relationships with sub-devices, and synchronize topological relationships to IoT Platform.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'UtcLastOnlineTime' => ['description' => 'The last time when the device went online. The time is in the UTC format.'."\n", 'type' => 'string', 'example' => '2018-08-06T05:43:12.000Z', 'title' => ''], 'Nickname' => ['description' => 'The alias of the device.'."\n", 'type' => 'string', 'example' => 'detectors_in_beijing', 'title' => ''], 'CategoryKey' => ['description' => 'The identifier of the category to which the product belongs.'."\n" ."\n" .'This parameter is returned if the product uses the Thing Specification Language (TSL) model of a standard category that is pre-defined by IoT Platform.'."\n", 'type' => 'string', 'example' => 'Lighting', 'title' => ''], 'IotId' => ['description' => 'The ID of the device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n", 'type' => 'string', 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.group.NotExistedGroup', 'errorMessage' => 'The specified device group does not exist.', 'description' => 'The specified device group does not exist.'], ['errorCode' => 'iot.device.FuzzyRuntimeSearchMinLengthLimit', 'errorMessage' => 'Fuzzy runtime search length must exceed 4.', 'description' => 'The fuzzy runtime search length must exceed 4.'], ['errorCode' => 'iot.device.RegionNotSupportDynamicGroup', 'errorMessage' => 'The region does not currently support the dynamic group feature.', 'description' => 'The region does not currently support the dynamic group feature.'], ['errorCode' => 'iot.common.APINotSupportedInInstance', 'errorMessage' => 'This API operation is not supported in this instance.', 'description' => 'The API operation is not supported in this instance.'], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"TGlzdFJlc291***\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageSize\\": 10,\\n \\"Total\\": 24,\\n \\"PageCount\\": 2,\\n \\"Page\\": 1,\\n \\"Data\\": {\\n \\"SimpleDeviceInfo\\": [\\n {\\n \\"Status\\": \\"ONLINE\\",\\n \\"ProductName\\": \\"test\\",\\n \\"DeviceName\\": \\"light\\",\\n \\"UtcActiveTime\\": \\"2018-08-06T02:48:41.000Z\\",\\n \\"ActiveTime\\": \\"2018-08-06 10:48:41\\",\\n \\"ProductKey\\": \\"a1rYuVF***\\",\\n \\"LastOnlineTime\\": \\"2018-08-06 13:43:12\\",\\n \\"NodeType\\": 0,\\n \\"UtcLastOnlineTime\\": \\"2018-08-06T05:43:12.000Z\\",\\n \\"Nickname\\": \\"detectors_in_beijing\\",\\n \\"CategoryKey\\": \\"Lighting\\",\\n \\"IotId\\": \\"Q7uOhVRdZRRlDnTLv****00100\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\nTGlzdFJlc291***\\n2\\n10\\nE55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\n24\\n1\\n\\n \\n 2018-08-06 13:43:12\\n 2018-08-06T02:48:41.000Z\\n ONLINE\\n Q7uOhVRdZRRlDnTLv****00100\\n Lighting\\n test\\n 2018-08-06T05:43:12.000Z\\n 2018-08-06 10:48:41\\n 0\\n a1rYuVF***\\n detectors_in_beijing\\n light\\n \\n\\ntrue\\n","errorExample":""}]', 'title' => 'QueryDynamicGroupDevices', 'summary' => 'Queries the devices in a dynamic group', 'description' => '## Limits'."\n" ."\n" .'* The dynamic group feature is available for public instances and Enterprise Edition instances in the China (Shanghai) region. For more information, see [Manage instances](~~147356~~).'."\n" ."\n" .'* Each Alibaba Cloud account can run up to 50 queries per second (QPS).'."\n" ."\n" .' **'."\n" ."\n" .' **Note**The RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDynamicGroupDevices', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryEdgeDriver' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for public instances. However, this parameter is required for the instances that you have purchased.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Maximum value: 30. Default value: 10. If you specify a value smaller than 1, a maximum of 10 entries are displayed on each page.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '15', 'title' => ''], ], [ 'name' => 'Type', 'in' => 'query', 'schema' => ['description' => 'The type of the driver whose information is to be queried. Valid values:'."\n" ."\n" .'* 0: official driver'."\n" .'* 1: custom driver'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1', 'title' => ''], ], [ 'name' => 'DriverName', 'in' => 'query', 'schema' => ['description' => 'The name of the driver whose information is to be queried. If you want to query information about drivers with a specific name, set this parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'MyledDriver', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', 'schema' => ['description' => 'The number of the page to return. Default value: 1. If you specify a value smaller than 1, pages start from page 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code. Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call failed.'."\n", 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E0BD540E-DCFE-4602-B6D1-D208E8594BF7', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. true indicates that the call was successful. false indicates that the call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data returned if the call was successful.'."\n", 'type' => 'object', 'properties' => [ 'CurrentPage' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '15', 'title' => ''], 'Total' => ['description' => 'The total number of official or custom drivers found.'."\n" ."\n" .'* If the value of Type is 0, the value of this parameter is the total number of official drivers found.'."\n" .'* If the value of Type is 1, the value of this parameter is the total number of custom drivers found.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'DriverList' => [ 'description' => 'The information about each driver.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'GmtCreateTimestamp' => ['description' => 'The time when the driver was created. The time is displayed in UTC.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1581912859713', 'title' => ''], 'Type' => ['description' => 'The type of the driver. Valid values:'."\n" ."\n" .'* 0: official driver'."\n" .'* 1: custom driver'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'CpuArch' => ['description' => 'The CPU architecture that the driver supports. Valid values:'."\n" ."\n" .'* ARMv7'."\n" .'* ARMv7-HF'."\n" .'* AArch64'."\n" .'* x86-64'."\n" .'* x86'."\n", 'type' => 'string', 'example' => 'x86-64', 'title' => ''], 'DriverId' => ['description' => 'The ID of the driver.'."\n", 'type' => 'string', 'example' => 'fec565038d7544978d9aed5c1a******', 'title' => ''], 'IsBuiltIn' => ['description' => 'Indicates whether the driver is a built-in driver.'."\n" ."\n" .'* true: indicates that the driver is a built-in driver, that is, the driver code is pre-configured on the gateway device.'."\n" .'* false: indicates that the driver is not a built-in driver.'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], 'GmtModifiedTimestamp' => ['description' => 'The time when the driver was last modified. The time is displayed in UTC.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1581912859713', 'title' => ''], 'IsApply' => ['description' => 'Indicates whether a request is required to use this driver. Currently, only **false** is supported.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], 'Runtime' => ['description' => 'The language in which the driver is programmed. Valid values:'."\n" ."\n" .'* nodejs8: Node.js v8'."\n" .'* python3: Python v3.5'."\n" .'* c: C'."\n", 'type' => 'string', 'example' => 'c', 'title' => ''], 'DriverName' => ['description' => 'The name of the driver.'."\n", 'type' => 'string', 'example' => 'MyLedDriver', 'title' => ''], 'DriverProtocol' => ['description' => 'The communications protocol that the driver uses. Valid values:'."\n" ."\n" .'* modbus: Modbus protocol'."\n" .'* opc-ua: OPC UA protocol'."\n" .'* customize: custom protocol'."\n", 'type' => 'string', 'example' => 'customize', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"E0BD540E-DCFE-4602-B6D1-D208E8594BF7\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 15,\\n \\"Total\\": 1,\\n \\"DriverList\\": [\\n {\\n \\"GmtCreateTimestamp\\": 1581912859713,\\n \\"Type\\": 1,\\n \\"CpuArch\\": \\"x86-64\\",\\n \\"DriverId\\": \\"fec565038d7544978d9aed5c1a******\\",\\n \\"IsBuiltIn\\": false,\\n \\"GmtModifiedTimestamp\\": 1581912859713,\\n \\"IsApply\\": false,\\n \\"Runtime\\": \\"c\\",\\n \\"DriverName\\": \\"MyLedDriver\\",\\n \\"DriverProtocol\\": \\"customize\\"\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'QueryEdgeDriver ', 'summary' => 'Invoke this API to perform a paged query for driver information. ', 'description' => '## Condition '."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 5. '."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. ', 'requestParamsDescription' => 'When invoking the API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters documentation](~~135196~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryEdgeDriver', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryEdgeDriver'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QueryEdgeDriverVersion' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Valid values: 1 to 30. Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '15', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', 'schema' => ['description' => 'The number of the page to return. Pages start from Page 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1', 'title' => ''], ], [ 'name' => 'DriverId', 'in' => 'query', 'schema' => ['description' => 'The ID of the driver. To obtain the driver ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Drivers** page, move the pointer over the name of the driver whose versions you want to query and obtain the driver ID.'."\n" ."\n" .'You can also call the [QueryEdgeDriver](~~155776~~) operation to query the driver ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'fec565038d7544978d9aed5c1a******', 'title' => ''], ], [ 'name' => 'DriverVersion', 'in' => 'query', 'schema' => ['description' => 'The version number of the driver. To query information about a specific driver version, set this parameter to the specific version number.'."\n", 'type' => 'string', 'required' => false, 'example' => 'led驱动', 'title' => ''], ], [ 'name' => 'VersionState', 'in' => 'query', 'schema' => ['description' => 'The status of the driver version. Valid values:'."\n" ."\n" .'* 0: The driver version to be queried is not published.'."\n" .'* 1: The driver version to be queried is published.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message that is returned if the call failed.'."\n", 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'ABA0CD1F-4270-42FE-84AD-D612240196F7', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data that is returned if the call was successful.'."\n", 'type' => 'object', 'properties' => [ 'CurrentPage' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '15', 'title' => ''], 'Total' => ['description' => 'The number of driver versions.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'DriverVersionList' => [ 'description' => 'The information about each version of the driver.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'GmtCreateTimestamp' => ['description' => 'The UNIX timestamp when the driver was created.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1581912859713', 'title' => ''], 'ConfigCheckRule' => ['description' => 'The rule for verifying configurations. The value is a JSON string in the following format:'."\n" ."\n" .'`{"deviceConfig":{"required":false},"driverConfig":{"required":false}`'."\n" ."\n" .'The JSON string contains the following parameters:'."\n" ."\n" .'* driverConfig: the rule for verifying the configuration of the driver when the driver is to be deployed in an edge instance.'."\n" .'* deviceConfig: the rule for verifying the configurations of devices that use the driver when the driver is to be deployed in an edge instance.'."\n", 'type' => 'string', 'example' => '{\\"deviceConfig\\":{\\"required\\":false},\\"driverConfig\\":{\\"required\\":false}}', 'title' => ''], 'DriverId' => ['description' => 'The ID of the driver.'."\n", 'type' => 'string', 'example' => 'fec565038d7544978d9aed5c1a******', 'title' => ''], 'EdgeVersion' => ['description' => 'The earliest version of Link IoT Edge that is supported by the driver.'."\n", 'type' => 'string', 'example' => '2.0.0', 'title' => ''], 'GmtModifiedTimestamp' => ['description' => 'The last UNIX timestamp when the driver was updated.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1581912859713', 'title' => ''], 'VersionState' => ['description' => 'The status of the driver version. Valid values:'."\n" ."\n" .'* 0: The driver version was not published.'."\n" .'* 1: The driver version was published.'."\n", 'type' => 'string', 'example' => '0', 'title' => ''], 'ContainerConfig' => ['description' => 'The configuration of the container where the driver runs. The value is a JSON string. For more information about parameters in the JSON string, see the following parameter description of ContainerConfig.'."\n", 'type' => 'string', 'example' => '{\\"devMappings\\":[],\\"hostNetworkMode\\":0,\\"portMappings\\":[],\\"privileged\\":1,\\"volumeMappings\\":[]}', 'title' => ''], 'Description' => ['description' => 'The description of the driver.'."\n", 'type' => 'string', 'example' => 'Led驱动', 'title' => ''], 'DriverConfig' => ['description' => 'The configuration of the driver. The value is a JSON string in the following format:'."\n" ."\n" .'`{"format":"JSON","content":"{}"}`'."\n" ."\n" .'The JSON string contains the following parameters:'."\n" ."\n" .'* format: the format of the driver configuration. Valid values: KV (key-value pair), JSON (JSON string), and FILE (configuration file).'."\n" .'* content: the content of the driver configuration. If the format parameter is set to KV or JSON, the value of this parameter is the configuration content. If the format parameter is set to FILE, the value of this parameter is the URL of the configuration file stored in Object Storage Service (OSS).'."\n", 'type' => 'string', 'example' => '[{\\"content\\":\\"{\\\\\\"defaultConfig\\\\\\":\\\\\\"this is default driver config demo\\\\\\"}\\",\\"format\\":\\"JSON\\"}]', 'title' => ''], 'DriverVersion' => ['description' => 'The version number of the driver.'."\n", 'type' => 'string', 'example' => '1.2.0', 'title' => ''], 'Argument' => ['description' => 'The Java Virtual Machine (JVM) startup parameter.'."\n", 'type' => 'string', 'example' => '-XX:+PrintGCDetails', 'title' => ''], 'SourceConfig' => ['description' => 'The source of the driver code. The value is a JSON string in the following format:'."\n" ."\n" .'`{"ossAddress":"http://***/driver_code.zip","temporaryOssAddress":"http://***/driver_code.zip?Expires***"}`'."\n" ."\n" .'In the JSON string, `ossAddress` indicates the URL of the driver code stored in OSS and `temporaryOssAddress` indicates the temporary link for downloading the driver code. The validity period of the temporary link is 5 minutes.'."\n", 'type' => 'string', 'example' => '{\\"ossAddress\\":\\"http://nova-scene-daily.oss-cn-shanghai.aliyuncs.com/driver/a8d6e4acc6941ecea8f0cfb3******/ck3n3koe200003h6zf******.zip\\",\\"temporaryOssAddress\\":\\"http://nova-scene-daily.oss-cn-shanghai.aliyuncs.com/driver/a8d6e4acc6941ecea8f0cfb3******/ck3n3koe200003h6zf******.zip?Expires\\u003d1575******\\u0026OSSAccessKeyId\\u003daS4MT0IYr******\\u0026Signature\\u003dm6cpmcaB8rm3YfbkhTYgb0W******\\"}', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"ABA0CD1F-4270-42FE-84AD-D612240196F7\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 15,\\n \\"Total\\": 1,\\n \\"DriverVersionList\\": [\\n {\\n \\"GmtCreateTimestamp\\": 1581912859713,\\n \\"ConfigCheckRule\\": \\"{\\\\\\\\\\\\\\"deviceConfig\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"required\\\\\\\\\\\\\\":false},\\\\\\\\\\\\\\"driverConfig\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"required\\\\\\\\\\\\\\":false}}\\",\\n \\"DriverId\\": \\"fec565038d7544978d9aed5c1a******\\",\\n \\"EdgeVersion\\": \\"2.0.0\\",\\n \\"GmtModifiedTimestamp\\": 1581912859713,\\n \\"VersionState\\": \\"0\\",\\n \\"ContainerConfig\\": \\"{\\\\\\\\\\\\\\"devMappings\\\\\\\\\\\\\\":[],\\\\\\\\\\\\\\"hostNetworkMode\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"portMappings\\\\\\\\\\\\\\":[],\\\\\\\\\\\\\\"privileged\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"volumeMappings\\\\\\\\\\\\\\":[]}\\",\\n \\"Description\\": \\"Led驱动\\",\\n \\"DriverConfig\\": \\"[{\\\\\\\\\\\\\\"content\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"defaultConfig\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"this is default driver config demo\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"}\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"format\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"JSON\\\\\\\\\\\\\\"}]\\",\\n \\"DriverVersion\\": \\"1.2.0\\",\\n \\"Argument\\": \\"-XX:+PrintGCDetails\\",\\n \\"SourceConfig\\": \\"{\\\\\\\\\\\\\\"ossAddress\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"http://nova-scene-daily.oss-cn-shanghai.aliyuncs.com/driver/a8d6e4acc6941ecea8f0cfb3******/ck3n3koe200003h6zf******.zip\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"temporaryOssAddress\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"http://nova-scene-daily.oss-cn-shanghai.aliyuncs.com/driver/a8d6e4acc6941ecea8f0cfb3******/ck3n3koe200003h6zf******.zip?Expires\\\\\\\\u003d1575******\\\\\\\\u0026OSSAccessKeyId\\\\\\\\u003daS4MT0IYr******\\\\\\\\u0026Signature\\\\\\\\u003dm6cpmcaB8rm3YfbkhTYgb0W******\\\\\\\\\\\\\\"}\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', 'title' => 'QueryEdgeDriverVersion', 'summary' => 'Queries the versions of a driver by page.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~135196~~).'."\n", 'responseParamsDescription' => ' **ContainerConfig参数说明**'."\n" ."\n" .'| 名称 | 类型 | 描述 |'."\n" .'| --- | --- | --- |'."\n" .'| privileged | Integer | 是否启动特权模式。
0:表示否。
1:表示是。
|'."\n" .'| hostNetworkMode | Integer | 是否使用宿主机host模式。
0:表示否。
1:表示是。
|'."\n" .'| portMappings | List | 网络端口映射。格式请参考本文下方portMappings表格。 |'."\n" .'| devMappings | List | 设备映射。格式请参考本文下方devMappings表格。 |'."\n" .'| volumeMappings | List | 卷映射。格式请参考本文下方volumeMappings表格。 |'."\n" ."\n" .'
**portMappings参数说明**'."\n" ."\n" .'| 名称 | 类型 | 描述 |'."\n" .'| --- | --- | --- |'."\n" .'| hostPort | Integer | 宿主机端口。 |'."\n" .'| containerPort | Integer | 容器内端口。 |'."\n" .'| protocol | Integer | 协议类型。取值有tcp和udp两种。 |'."\n" ."\n\n" .'**devMappings参数说明**'."\n" ."\n" .'| 名称 | 类型 | 描述 |'."\n" .'| --- | --- | --- |'."\n" .'| hostPath | String | 设备名称。 |'."\n" .'| permission | String | 读写权限。
ro:只读权限。
rw:读写权限。
|'."\n" .'| comment | String | 注释信息。 |'."\n" ."\n\n" .'**volumeMappings参数说明**'."\n" ."\n" .'| 名称 | 类型 | 描述 |'."\n" .'| --- | --- | --- |'."\n" .'| hostPath | String | 源路径。 |'."\n" .'| containerPath | String | 目的路径。 |'."\n" .'| permission | String | 读写权限。
ro:只读权限。
rw:读写权限。
|', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryEdgeDriverVersion', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryEdgeInstance' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Maximum value: 30. Default value: 10. If you specify a value smaller than 1, the system uses 10.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of the page from which the results are displayed. The minimum value is 1. If you specify a value smaller than 1, the system uses 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '15', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', 'schema' => ['description' => 'The name of the edge instance.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The error code. Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '测试实例_test', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error message returned if the call failed.'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'Indicates whether the call was successful. true: indicates that the call was successful. false: indicates that the call failed.'."\n", 'type' => 'string', 'example' => '199BBC5D-FC99-46CB-88E2-FB98E92446FA', 'title' => ''], 'Success' => ['description' => 'The data returned if the call was successful.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The page number of the returned page.'."\n", 'type' => 'object', 'properties' => [ 'CurrentPage' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageSize' => ['description' => 'The number of edge instances.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'Total' => ['description' => 'A list of edge instances.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '201', 'title' => ''], 'InstanceList' => [ 'description' => 'Indicates whether you own the edge instance or you are authorized to use the edge instance.'."\n" ."\n" .'* 0: You own the edge instance.'."\n" .'* 1: You are authorized to use the edge instance.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'GmtCreateTimestamp' => ['description' => 'The Unix timestamp when the edge instance was created.', 'type' => 'integer', 'format' => 'int64', 'example' => '1581912859713', 'title' => ''], 'Type' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the RAM role.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'RoleArn' => ['description' => 'The time when the RAM role was attached to IoT Platform.'."\n", 'type' => 'string', 'example' => 'acs:ram::1473922805******:role/aliyuniotaccessingfcrole', 'title' => ''], 'RoleAttachTime' => ['description' => 'The specification of the edge instance.'."\n" ."\n" .'* 10: Lite Edition.'."\n" .'* 20: Standard Edition.'."\n" .'* 30: Pro Edition.'."\n", 'type' => 'string', 'example' => '2020-02-19 11:25:48', 'title' => ''], 'Spec' => ['description' => 'The tags of the edge instance.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], 'GmtModifiedTimestamp' => ['description' => 'The Unix timestamp when the edge instance was last updated.', 'type' => 'integer', 'format' => 'int64', 'example' => '1581912859713', 'title' => ''], 'Tags' => ['description' => 'The ID of the edge instance.'."\n", 'type' => 'string', 'example' => 'k1:v1,k2:v2', 'title' => ''], 'InstanceId' => ['description' => 'The name of the RAM role.'."\n", 'type' => 'string', 'example' => '9iqyQAKDb2aYGVKa****', 'title' => ''], 'RoleName' => ['description' => 'The time when the edge instance was last updated.'."\n", 'type' => 'string', 'example' => 'AliyunIOTAccessingFCRole', 'title' => ''], 'RoleAttachTimestamp' => ['description' => 'The Unix timestamp when the role was attached. ', 'type' => 'integer', 'format' => 'int64', 'example' => '1581912859713', 'title' => ''], 'GmtModified' => ['description' => 'The type of the latest deployment task.'."\n" ."\n" .'* deploy: deploys the edge instance.'."\n" .'* Reset: resets the edge instance.'."\n", 'type' => 'string', 'example' => '2019-07-17 14:51:38', 'title' => ''], 'LatestDeploymentType' => ['description' => 'The status of the latest deployment task.'."\n" ."\n" .'* 0: The task has not started.'."\n" .'* 1: The task is being processed.'."\n" .'* 2: The task was successful.'."\n" .'* 3: The task failed.'."\n", 'type' => 'string', 'example' => 'deploy', 'title' => ''], 'LatestDeploymentStatus' => ['description' => 'Indicates whether the edge instance was enabled.'."\n" ."\n" .'* true: enabled'."\n" .'* false: disabled'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'BizEnable' => ['description' => 'The time when the edge instance was created.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'GmtCreate' => ['description' => 'The name of the edge instance.'."\n", 'type' => 'string', 'example' => '2019-07-17 14:34:28', 'title' => ''], 'Name' => ['description' => 'The name of the edge instance. ', 'type' => 'string', 'example' => 'test_le1', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"199BBC5D-FC99-46CB-88E2-FB98E92446FA\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 2,\\n \\"Total\\": 201,\\n \\"InstanceList\\": [\\n {\\n \\"GmtCreateTimestamp\\": 1581912859713,\\n \\"Type\\": 0,\\n \\"RoleArn\\": \\"acs:ram::1473922805******:role/aliyuniotaccessingfcrole\\",\\n \\"RoleAttachTime\\": \\"2020-02-19 11:25:48\\",\\n \\"Spec\\": 30,\\n \\"GmtModifiedTimestamp\\": 1581912859713,\\n \\"Tags\\": \\"k1:v1,k2:v2\\",\\n \\"InstanceId\\": \\"9iqyQAKDb2aYGVKa****\\",\\n \\"RoleName\\": \\"AliyunIOTAccessingFCRole\\",\\n \\"RoleAttachTimestamp\\": 1581912859713,\\n \\"GmtModified\\": \\"2019-07-17 14:51:38\\",\\n \\"LatestDeploymentType\\": \\"deploy\\",\\n \\"LatestDeploymentStatus\\": 1,\\n \\"BizEnable\\": true,\\n \\"GmtCreate\\": \\"2019-07-17 14:34:28\\",\\n \\"Name\\": \\"test_le1\\"\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'Query all edge instances under the current account', 'summary' => 'Queries all edge instances under the current Alibaba Cloud account.', 'description' => '## Condition'."\n" .'Each Alibaba Cloud account can send a maximum of 10 queries per second (QPS) to call this API.'."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When you invoke this API, you must specify both the common request parameters and the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Request Parameters](~~135196~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryEdgeInstance', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryEdgeInstance'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QueryEdgeInstanceChannel' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'Instance ID. Do not specify this parameter for public instances. Specify this parameter for Enterprise instances. ', 'example' => 'iot_instc_pu****_c*-v64********', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the edge instance. On the **Edge Instances** page in the [Edge Computing console](https://iot.console.aliyun.com/le/instance/list), hover your mouse over the name of the target edge instance to view its ID.'."\n" ."\n" .'You can also invoke the [QueryEdgeInstance](~~135214~~) API to obtain it.', 'example' => '6GaTtvTj7vJhiS******', 'required' => true, 'type' => 'string', 'title' => ''], ], [ 'name' => 'DriverId', 'in' => 'query', 'schema' => ['description' => 'Driver ID. You can obtain the ID by moving the mouse over the target driver name on the **Driver Management** page in the [edge computing console](https://iot.console.aliyun.com/le/instance/list). '."\n" ."\n" .'You can also call the [QueryEdgeDriver](~~155776~~) API to obtain it. ', 'example' => '9c1ae7bd59f1469abbdccc9592******', 'required' => true, 'type' => 'string', 'title' => ''], ], [ 'name' => 'ChannelName', 'in' => 'query', 'schema' => ['description' => 'Driver channel name. ', 'example' => 'le_name0', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', 'schema' => ['description' => 'The page number from which to start displaying results in the return result. The minimum value is 1.', 'example' => '1', 'format' => 'int32', 'required' => true, 'type' => 'integer', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'Number of records displayed per page in the returned results. Valid values: 1 to 30. Default value: 10. ', 'example' => '15', 'format' => 'int32', 'required' => true, 'type' => 'integer', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'properties' => [ 'Code' => ['description' => 'Return code of the API. "Success" indicates success. Other values indicate error codes. For more information, see [error codes](~~135200~~). ', 'example' => 'Success', 'type' => 'string', 'title' => ''], 'ErrorMessage' => ['description' => 'Error message returned when the invocation fails. ', 'example' => 'request parameter error', 'type' => 'string', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'example' => 'AA1EF007-0455-43C7-8E03-39D0BA20F4F5', 'type' => 'string', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. true indicates success. false indicates failure. ', 'example' => 'true', 'type' => 'boolean', 'title' => ''], 'Data' => [ 'description' => 'The data returned when the request succeeds.', 'properties' => [ 'CurrentPage' => ['description' => 'The current page number.', 'example' => '1', 'format' => 'int32', 'type' => 'integer', 'title' => ''], 'PageSize' => ['description' => 'The number of records displayed per page in the returned result.', 'example' => '15', 'format' => 'int32', 'type' => 'integer', 'title' => ''], 'Total' => ['description' => 'The total number of driver channels.', 'example' => '1', 'format' => 'int32', 'type' => 'integer', 'title' => ''], 'ChannelList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Channel' => [ 'description' => 'The list of driver channel information.', 'type' => 'array', 'items' => [ 'properties' => [ 'GmtCreateTimestamp' => ['description' => 'The Unix timestamp when the driver channel was created.', 'example' => '1584371212000', 'format' => 'int64', 'type' => 'integer', 'title' => ''], 'ChannelName' => ['description' => 'The name of the driver channel.', 'example' => 'le_name0', 'type' => 'string', 'title' => ''], 'GmtModifiedTimestamp' => ['description' => 'The Unix timestamp when the driver channel was last updated.', 'example' => '1584371212000', 'format' => 'int64', 'type' => 'integer', 'title' => ''], 'ChannelId' => ['description' => 'The driver channel ID.', 'example' => 'BE0BD49EF5EF4D119D09CC1B25******', 'type' => 'string', 'title' => ''], 'GmtCreate' => ['description' => 'The time when the driver channel was created.', 'example' => '2020-03-16 23:06:52', 'type' => 'string', 'title' => ''], 'GmtModified' => ['description' => 'The time when the driver channel was last updated.', 'example' => '2020-03-16 23:06:52', 'type' => 'string', 'title' => ''], 'ConfigList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Config' => [ 'description' => 'The list of configuration information.', 'type' => 'array', 'items' => [ 'properties' => [ 'Key' => ['description' => 'Keyword of the configuration. ', 'example' => 'key1', 'type' => 'string', 'title' => ''], 'ConfigId' => ['description' => 'Configuration ID. ', 'example' => '5d6016035c1a451daf174b1051******', 'type' => 'string', 'title' => ''], 'Format' => ['description' => 'The configuration format. Valid values are KV (key-value pair configuration), JSON (JSON format), and FILE (Configuration File).', 'example' => 'JSON', 'type' => 'string', 'title' => ''], 'Content' => ['description' => 'The configuration content.', 'example' => '{\\"protocol\\":\\"TCP\\", \\"ip\\":\\"1.2.3.4\\", \\"port\\":1}', 'type' => 'string', 'title' => ''], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'type' => 'object', 'title' => '', 'example' => '', ], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"AA1EF007-0455-43C7-8E03-39D0BA20F4F5\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 15,\\n \\"Total\\": 1,\\n \\"ChannelList\\": {\\n \\"Channel\\": [\\n {\\n \\"GmtCreateTimestamp\\": 1584371212000,\\n \\"ChannelName\\": \\"le_name0\\",\\n \\"GmtModifiedTimestamp\\": 1584371212000,\\n \\"ChannelId\\": \\"BE0BD49EF5EF4D119D09CC1B25******\\",\\n \\"GmtCreate\\": \\"2020-03-16 23:06:52\\",\\n \\"GmtModified\\": \\"2020-03-16 23:06:52\\",\\n \\"ConfigList\\": {\\n \\"Config\\": [\\n {\\n \\"Key\\": \\"key1\\",\\n \\"ConfigId\\": \\"5d6016035c1a451daf174b1051******\\",\\n \\"Format\\": \\"JSON\\",\\n \\"Content\\": \\"{\\\\\\\\\\\\\\"protocol\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"TCP\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"ip\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1.2.3.4\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"port\\\\\\\\\\\\\\":1}\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', 'title' => 'Query the driver channel list in an edge instance ', 'summary' => 'Query the list of driver channels in an edge instance.', 'description' => '## Condition '."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 10.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking the API, in addition to the specific Request Parameters described in this topic, you must also pass common parameters. For more information about common parameters, see [Common Parameters documentation](~~135196~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryEdgeInstanceChannel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryEdgeInstanceChannel'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QueryEdgeInstanceDevice' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance that you want to query and obtain the instance ID.'."\n" ."\n" .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'tG7sKuOQ7ylb7qS4****', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', 'schema' => ['description' => 'The number of the page to return. Pages start from Page 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Valid values: 1 to 30. Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '15', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message that is returned if the call failed.'."\n", 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'AC76932E-E0C9-41EE-843D-B1CA3279B053', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data that is returned if the call was successful.'."\n", 'type' => 'object', 'properties' => [ 'CurrentPage' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '15', 'title' => ''], 'Total' => ['description' => 'The number of devices.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], 'DeviceList' => [ 'description' => 'The list of device information.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ProductKey' => ['description' => 'The key that uniquely identifies the product to which the device belongs.'."\n", 'type' => 'string', 'example' => 'a1p5QfE****', 'title' => ''], 'DriverId' => ['description' => 'The ID of the driver.'."\n", 'type' => 'string', 'example' => '44c090ba7b104641a4b9bcf10241****', 'title' => ''], 'DeviceName' => ['description' => 'The name of the device.'."\n", 'type' => 'string', 'example' => 'test_tmp_zdy', 'title' => ''], 'IotId' => ['description' => 'The ID of the device.'."\n", 'type' => 'string', 'example' => 'XSpPdtxzE6ebtCkx****000101', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"AC76932E-E0C9-41EE-843D-B1CA3279B053\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 15,\\n \\"Total\\": 4,\\n \\"DeviceList\\": [\\n {\\n \\"ProductKey\\": \\"a1p5QfE****\\",\\n \\"DriverId\\": \\"44c090ba7b104641a4b9bcf10241****\\",\\n \\"DeviceName\\": \\"test_tmp_zdy\\",\\n \\"IotId\\": \\"XSpPdtxzE6ebtCkx****000101\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\r\\n AC76932E-E0C9-41EE-843D-B1CA3279B053\\r\\n \\r\\n 15\\r\\n 1\\r\\n 4\\r\\n \\r\\n \\r\\n XSpPdtxzE6ebtCkx****000101\\r\\n 44c090ba7b104641a4b9bcf10241****\\r\\n a1p5QfE****\\r\\n test_tmp_zdy\\r\\n \\r\\n \\r\\n ixX7TRWtewDxZnus****000101\\r\\n 021d154d2a2f4dd7a489773d9e04****\\r\\n a1p5QfE****\\r\\n test_name19\\r\\n \\r\\n \\r\\n MkzMNGVF3wOk62J6****000101\\r\\n 021d154d2a2f4dd7a489773d9e04****\\r\\n a11jTlJ****\\r\\n testsss\\r\\n \\r\\n \\r\\n 6nFJ9ewglx7aBWPb****000101\\r\\n 021d154d2a2f4dd7a489773d9e04****\\r\\n a1PcD3R****\\r\\n device01\\r\\n \\r\\n \\r\\n \\r\\n Success\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'QueryEdgeInstanceDevice', 'summary' => 'Queries the devices that are bound to an edge instance.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryEdgeInstanceDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryEdgeInstanceDeviceByDriver' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. Do not pass this parameter for public instances. For Enterprise instances, you must pass this parameter. ', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of records displayed per page in the returned result. Maximum value: 30. Minimum value: 1. Default value: 10. ', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '15', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the edge instance. In the **Edge Instances** page of the [edge computing console](https://iot.console.aliyun.com/le/instance/list), hover your mouse over the name of the target edge instance to view its ID. '."\n" ."\n" .'You can also invoke the [QueryEdgeInstance](~~135214~~) API to obtain it. ', 'type' => 'string', 'required' => true, 'example' => '6GaTtvTj7vJhiS******', 'title' => ''], ], [ 'name' => 'ChannelId', 'in' => 'query', 'schema' => ['description' => 'The driver channel ID. Invoke the [QueryEdgeInstanceChannel](~~162253~~) API to obtain it. ', 'type' => 'string', 'required' => false, 'example' => 'BE0BD49EF5EF4D119D09CC1B25******', 'title' => ''], ], [ 'name' => 'DriverId', 'in' => 'query', 'schema' => ['description' => 'The driver ID. You can obtain it by hovering your mouse over the target driver name on the **Driver Management** page in the [Edge Computing console](https://iot.console.aliyun.com/le/instance/list).'."\n" ."\n" .'You can also call the [QueryEdgeDriver](~~155776~~) API to retrieve it.', 'type' => 'string', 'required' => true, 'example' => '9c1ae7bd59f1469abbdccc9592******', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', 'schema' => ['description' => 'The page number from which to start displaying results. Minimum value: 1. ', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the API. "Success" indicates success; other values indicate error codes. For details, see [Error Codes](~~135200~~).', 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => 'C2AEE142-A9ED-46C5-9EA4-BF0817F0D556', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. true indicates success; false indicates failure.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data returned when the invocation succeeds.', 'type' => 'object', 'properties' => [ 'CurrentPage' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageSize' => ['description' => 'The number of records displayed per page in the returned result.', 'type' => 'integer', 'format' => 'int32', 'example' => '15', 'title' => ''], 'Total' => ['description' => 'The total number of sub-devices associated with the driver.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'DeviceList' => [ 'description' => 'The list of sub-device information.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'IotId' => ['description' => 'The sub-device ID.', 'type' => 'string', 'example' => 'Hathoyxglj9jpYPyw3WN******', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"C2AEE142-A9ED-46C5-9EA4-BF0817F0D556\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 15,\\n \\"Total\\": 1,\\n \\"DeviceList\\": [\\n {\\n \\"IotId\\": \\"Hathoyxglj9jpYPyw3WN******\\"\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'Query the Sub-devices Associated with a Driver', 'summary' => 'Query the sub-devices associated with a driver.', 'description' => '## Condition'."\n" .'The maximum queries per second (QPS) for this API per Alibaba Cloud account is 10.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking this API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters Documentation](~~135196~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryEdgeInstanceDeviceByDriver'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QueryEdgeInstanceDriver' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance that you want to query and obtain the instance ID.'."\n" ."\n" .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'F3APY0tPLhmgGtx0****', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', 'schema' => ['description' => 'The number of the page to return. Pages start from Page 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Valid values: 1 to 30. Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '10', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message that is returned if the call failed.'."\n", 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '77F540BC-A0EF-46A4-ABDE-18644C69AAF5', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data that is returned if the call was successful.'."\n", 'type' => 'object', 'properties' => [ 'CurrentPage' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], 'Total' => ['description' => 'The number of drivers.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'DriverList' => [ 'description' => 'The list of drivers.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'GmtCreate' => ['description' => 'The time when the driver was created.'."\n", 'type' => 'string', 'example' => '2019-06-26 17:22:25', 'title' => ''], 'GmtModified' => ['description' => 'The last time when the driver was updated.'."\n", 'type' => 'string', 'example' => '2019-06-26 17:22:25', 'title' => ''], 'DriverId' => ['description' => 'The ID of the driver.'."\n", 'type' => 'string', 'example' => '9c1ae7bd59f1469abbdccc959228****', 'title' => ''], 'OrderId' => ['description' => 'The ID of the order.'."\n", 'type' => 'string', 'example' => '11123458765423', 'title' => ''], 'DriverVersion' => ['description' => 'The version number of the driver.'."\n", 'type' => 'string', 'example' => '1.0.0', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"77F540BC-A0EF-46A4-ABDE-18644C69AAF5\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 30,\\n \\"Total\\": 1,\\n \\"DriverList\\": [\\n {\\n \\"GmtCreate\\": \\"2019-06-26 17:22:25\\",\\n \\"GmtModified\\": \\"2019-06-26 17:22:25\\",\\n \\"DriverId\\": \\"9c1ae7bd59f1469abbdccc959228****\\",\\n \\"OrderId\\": \\"11123458765423\\",\\n \\"DriverVersion\\": \\"1.0.0\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 77F540BC-A0EF-46A4-ABDE-18644C69AAF5\\r\\n \\r\\n 30\\r\\n 1\\r\\n 1\\r\\n \\r\\n \\r\\n 2019-06-26 17:22:25\\r\\n 9c1ae7bd59f1469abbdccc959228****\\r\\n 2019-06-26 17:22:25\\r\\n \\r\\n \\r\\n \\r\\n Success\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'QueryEdgeInstanceDriver', 'summary' => 'Queries the drivers that are bound to an edge instance.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryEdgeInstanceDriver', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryEdgeInstanceGateway' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance that you want to query and obtain the instance ID.'."\n" ."\n" .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'F3APY0tPLhmgGtx0****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message that is returned if the call failed.'."\n", 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '28D159F4-980F-423D-95F0-F705E9DFC016', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'GatewayList' => [ 'description' => 'The data that is returned if the call was successful.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ProductKey' => ['description' => 'The key that uniquely identifies the product to which the gateway belongs.'."\n", 'type' => 'string', 'example' => 'a1mAdeG****', 'title' => ''], 'EdgeVersion' => ['description' => 'The version number of Link IoT Edge.'."\n", 'type' => 'string', 'example' => 'v1.0.0', 'title' => ''], 'DeviceName' => ['description' => 'The name of the gateway.'."\n", 'type' => 'string', 'example' => 'gateway_01', 'title' => ''], 'IotId' => ['description' => 'The ID of the gateway in IoT Platform.'."\n", 'type' => 'string', 'example' => 'LuD9x5hiRUdVemWU****000101', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"28D159F4-980F-423D-95F0-F705E9DFC016\\",\\n \\"Success\\": true,\\n \\"GatewayList\\": [\\n {\\n \\"ProductKey\\": \\"a1mAdeG****\\",\\n \\"EdgeVersion\\": \\"v1.0.0\\",\\n \\"DeviceName\\": \\"gateway_01\\",\\n \\"IotId\\": \\"LuD9x5hiRUdVemWU****000101\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\r\\n \\r\\n \\r\\n LuD9x5hiRUdVemWU****000101\\r\\n a1mAdeG****\\r\\n gateway_01\\r\\n v1.0.0\\r\\n \\r\\n \\r\\n 547A62E5-0D6D-4DB5-9CCC-58C706891976\\r\\n Success\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'QueryEdgeInstanceGateway', 'summary' => 'Queries the gateways that are bound to an edge instance.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryEdgeInstanceGateway', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryEdgeInstanceHistoricDeployment' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance that you want to manage and obtain the instance ID.'."\n" ."\n" .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'PgEfYupSn6Pvhfkx****', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', 'schema' => ['description' => 'The number of the page to return. Pages start from Page 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Valid values: 1 to 30. Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '15', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', 'schema' => ['description' => 'The beginning of the time range to query. If you do not specify the start time and end time, all the deployment task records of the edge instance are queried.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1558951998639', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', 'schema' => ['description' => 'The end of the time range to query. If you do not specify the start time and end time, all the deployment task records of the edge instance are queried.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1561543998639', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message that is returned if the call failed.'."\n", 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'C9D9C91B-1B3B-4D84-BE58-68E7B2A989E4', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data that is returned if the call was successful.'."\n", 'type' => 'object', 'properties' => [ 'CurrentPage' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'Total' => ['description' => 'The total number of deployment tasks.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '6', 'title' => ''], 'DeploymentList' => [ 'description' => 'The list of deployment tasks.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'GmtCreateTimestamp' => ['description' => 'The UNIX timestamp when the deployment task was created.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1581912859713', 'title' => ''], 'Type' => ['description' => 'The type of the deployment task.'."\n" ."\n" .'* deploy: deploys the edge instance.'."\n" .'* reset: resets the edge instance.'."\n", 'type' => 'string', 'example' => 'deploy', 'title' => ''], 'Status' => ['description' => 'The status of the deployment task.'."\n" ."\n" .'* 0: The task was not started.'."\n" .'* 1: The task was being processed.'."\n" .'* 2: The task was successful.'."\n" .'* 3: The task failed.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'DeploymentId' => ['description' => 'The ID of the deployment task.'."\n", 'type' => 'string', 'example' => 'e4803e566b424fa68e7f4b1c747c****', 'title' => ''], 'Description' => ['description' => 'The description of the deployment task.'."\n", 'type' => 'string', 'example' => 'deploy_1561694817061', 'title' => ''], 'GmtModifiedTimestamp' => ['description' => 'The last UNIX timestamp when the deployment task was modified.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1581912859713', 'title' => ''], 'GmtCompleted' => ['description' => 'The time when the deployment task was complete.'."\n", 'type' => 'string', 'example' => '2019-06-28 12:07:16', 'title' => ''], 'GmtCreate' => ['description' => 'The time when the deployment task was created.'."\n", 'type' => 'string', 'example' => '2019-06-26 18:12:29', 'title' => ''], 'GmtCompletedTimestamp' => ['description' => 'The UNIX timestamp when the deployment task was complete.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1581912859713', 'title' => ''], 'GmtModified' => ['description' => 'The last time when the deployment task was modified.'."\n", 'type' => 'string', 'example' => '2019-06-28 12:07:16', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"C9D9C91B-1B3B-4D84-BE58-68E7B2A989E4\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 2,\\n \\"Total\\": 6,\\n \\"DeploymentList\\": [\\n {\\n \\"GmtCreateTimestamp\\": 1581912859713,\\n \\"Type\\": \\"deploy\\",\\n \\"Status\\": 2,\\n \\"DeploymentId\\": \\"e4803e566b424fa68e7f4b1c747c****\\",\\n \\"Description\\": \\"deploy_1561694817061\\",\\n \\"GmtModifiedTimestamp\\": 1581912859713,\\n \\"GmtCompleted\\": \\"2019-06-28 12:07:16\\",\\n \\"GmtCreate\\": \\"2019-06-26 18:12:29\\",\\n \\"GmtCompletedTimestamp\\": 1581912859713,\\n \\"GmtModified\\": \\"2019-06-28 12:07:16\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\r\\n C9D9C91B-1B3B-4D84-BE58-68E7B2A989E4\\r\\n \\r\\n \\r\\n \\r\\n 2\\r\\n e4803e566b424fa68e7f4b1c747c****\\r\\n 2019-06-28 12:07:16\\r\\n deploy\\r\\n 2019-06-28 12:06:57\\r\\n deploy_1561694817061\\r\\n 2019-06-28 12:07:16\\r\\n \\r\\n \\r\\n 2\\r\\n 9261e308a9504fde9b4cf8462b0b****\\r\\n 2019-06-26 18:12:35\\r\\n deploy\\r\\n 2019-06-26 18:12:29\\r\\n deploy_1561543948874\\r\\n 2019-06-26 18:12:35\\r\\n \\r\\n \\r\\n 2\\r\\n 1\\r\\n 6\\r\\n \\r\\n Success\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'QueryEdgeInstanceHistoricDeployment', 'summary' => 'Queries the deployment task records of an edge instance.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryEdgeInstanceHistoricDeployment', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryEdgeInstanceMessageRouting' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '100000', 'minimum' => '1', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '100', 'minimum' => '1', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ 'CurrentPage' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'PageSize' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'Total' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'MessageRouteList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'MessageRoute' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'GmtCreateTimestamp' => ['type' => 'integer', 'format' => 'int64', 'description' => '', 'title' => '', 'example' => ''], 'TopicFilter' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'GmtModifiedTimestamp' => ['type' => 'integer', 'format' => 'int64', 'description' => '', 'title' => '', 'example' => ''], 'TargetData' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'GmtCreate' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'SourceType' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'GmtModified' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Name' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RouteId' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'SourceData' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'TargetType' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RouteContext' => [ 'type' => 'object', 'properties' => [ 'TargetApplicationName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'SourceApplicationName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'TargetFcFunctionName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'SourceFcFunctionName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'TargetFcServiceName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'SourceFcServiceName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Qos' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'title' => '', 'summary' => '', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryEdgeInstanceMessageRouting', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"CurrentPage\\": 0,\\n \\"PageSize\\": 0,\\n \\"Total\\": 0,\\n \\"MessageRouteList\\": {\\n \\"MessageRoute\\": [\\n {\\n \\"GmtCreateTimestamp\\": 0,\\n \\"TopicFilter\\": \\"\\",\\n \\"GmtModifiedTimestamp\\": 0,\\n \\"TargetData\\": \\"\\",\\n \\"GmtCreate\\": \\"\\",\\n \\"SourceType\\": \\"\\",\\n \\"GmtModified\\": \\"\\",\\n \\"Name\\": \\"\\",\\n \\"RouteId\\": 0,\\n \\"SourceData\\": \\"\\",\\n \\"TargetType\\": \\"\\",\\n \\"RouteContext\\": {\\n \\"TargetApplicationName\\": \\"\\",\\n \\"SourceApplicationName\\": \\"\\",\\n \\"TargetFcFunctionName\\": \\"\\",\\n \\"SourceFcFunctionName\\": \\"\\",\\n \\"TargetFcServiceName\\": \\"\\",\\n \\"SourceFcServiceName\\": \\"\\",\\n \\"Qos\\": \\"\\"\\n }\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', ], 'QueryEdgeInstanceSceneRule' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'Instance ID. Do not pass this parameter for public instances. Pass it for Enterprise instances.', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'ID of the edge instance. You can obtain the ID by hovering the mouse over the name of the target edge instance on the **Edge Instances** page in the [edge computing console](https://iot.console.aliyun.com/le/instance/list).'."\n" ."\n" .'You can also call the [QueryEdgeInstance](~~135214~~) API to obtain the ID.', 'type' => 'string', 'required' => true, 'example' => 'llL44UVXUqb9m5******', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', 'schema' => ['description' => 'Page number from which the returned results start to be displayed. Minimum value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'Number of records displayed per page in the returned results. Maximum value: 30. Minimum value: 1. Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '10', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'Return code of the API. "Success" indicates success, and other values indicate error codes. For more information, see [error codes](~~135200~~).', 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'Error message returned when the invocation fails.', 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request. ', 'type' => 'string', 'example' => 'D4C3331B-0FA8-4A05-AFE2-54F698EDEAF7', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. true indicates success, and false indicates failure.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data returned when the request succeeds. ', 'type' => 'object', 'properties' => [ 'CurrentPage' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageSize' => ['description' => 'The number of records displayed per page in the returned result. ', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'Total' => ['description' => 'Total quantity of scene orchestration rules.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'RuleList' => [ 'description' => 'The list of scene orchestration rules. ', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the scene orchestration rule in the edge instance. '."\n" ."\n" .'- 0: Indicates that the rule is stopped. '."\n" ."\n" .'- 1: Indicates that the rule is started. ', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'GmtCreate' => ['description' => 'The creation time of the scene orchestration rule. ', 'type' => 'integer', 'format' => 'int64', 'example' => '1582004185000', 'title' => ''], 'IsExisted' => ['description' => 'Indicates whether the scene orchestration rule exists. '."\n" ."\n" .'- 0: Indicates that the rule has been deleted. '."\n" ."\n" .'- 1: Indicates that the rule exists. ', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'RuleName' => ['description' => 'The name of the scene orchestration rule. ', 'type' => 'string', 'example' => 'test', 'title' => ''], 'RuleId' => ['description' => 'The ID of the scene orchestration rule. ', 'type' => 'string', 'example' => 'f041397879ad4d89822811d741******', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"D4C3331B-0FA8-4A05-AFE2-54F698EDEAF7\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 10,\\n \\"Total\\": 1,\\n \\"RuleList\\": [\\n {\\n \\"Status\\": 1,\\n \\"GmtCreate\\": 1582004185000,\\n \\"IsExisted\\": 1,\\n \\"RuleName\\": \\"test\\",\\n \\"RuleId\\": \\"f041397879ad4d89822811d741******\\"\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'Paged query of scene rules in an edge instance', 'summary' => 'Perform a paged query on scene rules in an edge instance. ', 'description' => '## Condition '."\n" .'Each Alibaba Cloud account can send up to 10 queries per second (QPS) to this API. '."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. ', 'requestParamsDescription' => 'When you invoke this API, you must specify both the common request parameters and the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Parameters](~~135196~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryEdgeInstanceSceneRule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryEdgeInstanceSceneRule'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QueryImportedDeviceByApplyId' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'> If your instance has an ID, you must specify this parameter. Otherwise, the request fails. If no Overview page exists or no instance ID is displayed, you do not need to specify this parameter.'."\n" ."\n" .'For more information, see the [Overview](~~356505~~) topic of IoT instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot-1n8t****', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. Default value: 10. Valid values: 1 to 50.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '1000', 'minimum' => '1', 'example' => '10', 'title' => ''], ], [ 'name' => 'ApplyId', 'in' => 'query', 'schema' => ['description' => 'The application ID. You can call the [BatchImportDevice](~~433878~~) operation to obtain the application ID.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '100000000000000000', 'minimum' => '1', 'example' => '1295006', 'title' => ''], ], [ 'name' => 'PageNo', 'in' => 'query', 'schema' => ['description' => 'The page number. Valid values: 1 to 10000.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '100000', 'minimum' => '1', 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'ProductKey' => ['description' => 'The **ProductKey** of the product to which the devices belong.'."\n", 'type' => 'string', 'example' => 'a1BwAGV****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the request fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Code' => ['description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'PageNo' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TotalPage' => ['description' => 'The total number of pages returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'DeviceList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'device' => [ 'description' => 'The queried devices.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ProductKey' => ['description' => 'The **ProductKey** of the product to which the device belongs.'."\n", 'type' => 'string', 'example' => 'a1BwAGV****', 'title' => ''], 'Sn' => ['description' => 'The serial number (SN) of the device.'."\n" ."\n" .'> If you did not specify an SN for the device, this parameter is empty.'."\n", 'type' => 'string', 'example' => 'QC4******001', 'title' => ''], 'DeviceName' => ['description' => 'The DeviceName of the device.'."\n" ."\n" .'> Keep the information confidential.'."\n", 'type' => 'string', 'example' => 'light', 'title' => ''], 'DeviceSecret' => ['description' => 'The DeviceSecret of the device.'."\n" ."\n" .'> Keep the information confidential.'."\n", 'type' => 'string', 'example' => 'b4d43f7******10ba5e5', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 200 => [ ['errorCode' => 'iot.device.DeviceApplyIsNotFound', 'errorMessage' => 'The application ID for the device does not exist.', 'description' => ''], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageNo\\": 1,\\n \\"TotalPage\\": 100,\\n \\"PageSize\\": 10,\\n \\"DeviceList\\": {\\n \\"device\\": [\\n {\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"Sn\\": \\"QC4******001\\",\\n \\"DeviceName\\": \\"light\\",\\n \\"DeviceSecret\\": \\"b4d43f7******10ba5e5\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n100\\n10\\n1\\nE4C0FF92-2A86-41DB-92D3-73B60310D25E\\na1BwAGV****\\n\\n \\n b4d43f7******10ba5e5\\n QC4******001\\n a1BwAGV****\\n light\\n \\n\\ntrue\\n","errorExample":""}]', 'title' => 'QueryImportedDeviceByApplyId', 'summary' => 'Queries multiple devices that are added at the same time by application ID.', 'description' => '## QPS limits'."\n" ."\n" .'You can call this API operation up to 50 times per second per account.'."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryImportedDeviceByApplyId', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryJob' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console. '."\n" ."\n" .'> '."\n" .'- If an ID value exists, you must specify this ID; otherwise, the invocation will fail. '."\n" .'- If the **Instance Overview** page or ID value does not exist, you do not need to specify it. '."\n" ."\n" .'> '."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~). ', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'JobId', 'in' => 'query', 'schema' => ['description' => 'The job ID. This is the globally unique identifier of the job. ', 'type' => 'string', 'required' => true, 'example' => '450407b***', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [error codes](~~87387~~). '."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails. ', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => 'A6BEAB33-03E6-4CE0-A94F-9E24C5512BAD', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: The invocation failed. ', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The job details returned when the call succeeds. For more information, see the following parameter guide.', 'type' => 'object', 'properties' => [ 'Type' => ['description' => 'Task Type. Valid values: '."\n" .'- **INVOKE_SERVICE**: batch service invocation task for devices. '."\n" .'- **SET_PROPERTY**: batch property setting task for devices. '."\n" .'- **PUB**: Pub batch message push task. '."\n" .'- **CUSTOM_JOB**: custom task. ', 'type' => 'string', 'example' => 'SET_PROPERTY', 'title' => ''], 'Status' => ['description' => 'The task status. Valid values:'."\n" ."\n" .'- **INITIALIZING**: Initialization.'."\n" .'- **WAITING**: Waiting for scheduling.'."\n" .'- **IN_PROGRESS**: Executing.'."\n" .'- **COMPLETED**: Completed.'."\n" .'- **CANCELLING**: Canceling.'."\n" .'- **CANCELLED**: Canceled.'."\n" .'- **REMOVING**: Deleting.'."\n" .'- **TIMED_OUT**: Timed out.', 'type' => 'string', 'example' => 'CANCELLED', 'title' => ''], 'Description' => ['description' => 'The description of the task.', 'type' => 'string', 'example' => 'jobDescription', 'title' => ''], 'JobName' => ['description' => 'Task Name.', 'type' => 'string', 'example' => 'tes', 'title' => ''], 'UtcModified' => ['description' => 'Updated At timestamp of the task information. ', 'type' => 'string', 'example' => '2020-12-13T04:10:00.000Z', 'title' => ''], 'JobId' => ['description' => 'Job ID. The globally unique identifier of the task. ', 'type' => 'string', 'example' => '450407b***', 'title' => ''], 'UtcCreate' => ['description' => 'Creation Time of the task. ', 'type' => 'string', 'example' => '2020-12-13T04:09:51.000Z', 'title' => ''], 'ScheduledTime' => ['description' => 'The scheduled time of the job, in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1557062301656', 'title' => ''], 'JobDocument' => ['description' => 'The rule file for task execution delivered to the device.', 'type' => 'string', 'example' => '{ "serviceIdentifier": "test_service", "params": { "key1": "value1", "key2": "value2" } } ', 'title' => ''], 'RolloutConfig' => [ 'description' => 'Configuration of the job push rate for the task. ', 'type' => 'object', 'properties' => [ 'MaximumPerMinute' => ['description' => 'The number of jobs pushed per minute for the task. ', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'MessageQoS' => ['description' => 'The message type for sending messages. This parameter is included only for custom tasks and Pub batch message push tasks. Valid values: '."\n" ."\n" .'- **QoS0**: indicates that the message is sent at most once. '."\n" .'- **QoS1**: indicates that the message is sent at least once. If a QoS1 message does not receive a PUBACK response, it is resent to the device upon reconnection. ', 'type' => 'string', 'example' => 'Qos1', 'title' => ''], ], 'title' => '', 'example' => '', ], 'TimeoutConfig' => [ 'description' => 'The timeout configuration for job execution under the task.', 'type' => 'object', 'properties' => [ 'InProgressTimeoutInMinutes' => ['description' => 'The timeout duration for job execution under the task, in minutes.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], ], 'title' => '', 'example' => '', ], 'JobFile' => [ 'description' => 'The download information of the job file.', 'type' => 'object', 'properties' => [ 'FileUrl' => ['description' => 'The download URL of the job file. The URL is valid for 30 minutes.', 'type' => 'string', 'example' => 'https://iotx-***.oss-cn-shanghai.aliyuncs.com/job***/7u***.sh?Expires=16***&OSSAccessKeyId=LTA***&Signature=TTTejn***', 'title' => ''], 'SignMethod' => ['description' => 'The sign method. Valid values are MD5 and SHA256.', 'type' => 'string', 'example' => 'SHA256', 'title' => ''], 'Sign' => ['description' => 'The signature. For files uploaded via URL, this is the signature parameter generated using the corresponding signing method.', 'type' => 'string', 'example' => 'TTTejn***', 'title' => ''], ], 'title' => '', 'example' => '', ], 'TargetConfig' => [ 'description' => 'The target device configuration for the Job.', 'type' => 'object', 'properties' => [ 'TargetProduct' => ['description' => 'The ProductKey of the product to which the target devices belong. ', 'type' => 'string', 'example' => 'nCwfSBzc***', 'title' => ''], 'TargetGroup' => ['description' => 'The identifier (GroupID) of the group to which the target devices belong.', 'type' => 'string', 'example' => '1234', 'title' => ''], 'TargetType' => ['description' => 'The configuration type of the target devices. Valid values: '."\n" .'- DEVICE_LIST: device list. '."\n" .'- GROUP_ID: device group ID. '."\n" .'- PRODUCT_KEY: ProductKey of the product. ', 'type' => 'string', 'example' => 'DEVICE_LIST', 'title' => ''], 'TargetDevices' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'targetDevices' => [ 'description' => 'The list of target devices.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'DeviceName' => ['description' => 'The device name.', 'type' => 'string', 'example' => 'a1Ix***', 'title' => ''], 'ProductKey' => ['description' => 'The ProductKey of the product to which the device belongs.', 'type' => 'string', 'example' => 'nCwfSBzc***', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"A6BEAB33-03E6-4CE0-A94F-9E24C5512BAD\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Type\\": \\"SET_PROPERTY\\",\\n \\"Status\\": \\"CANCELLED\\",\\n \\"Description\\": \\"jobDescription\\",\\n \\"JobName\\": \\"tes\\",\\n \\"UtcModified\\": \\"2020-12-13T04:10:00.000Z\\",\\n \\"JobId\\": \\"450407b***\\",\\n \\"UtcCreate\\": \\"2020-12-13T04:09:51.000Z\\",\\n \\"ScheduledTime\\": 1557062301656,\\n \\"JobDocument\\": \\"{ \\\\\\"serviceIdentifier\\\\\\": \\\\\\"test_service\\\\\\", \\\\\\"params\\\\\\": { \\\\\\"key1\\\\\\": \\\\\\"value1\\\\\\", \\\\\\"key2\\\\\\": \\\\\\"value2\\\\\\" } } \\",\\n \\"RolloutConfig\\": {\\n \\"MaximumPerMinute\\": 10,\\n \\"MessageQoS\\": \\"Qos1\\"\\n },\\n \\"TimeoutConfig\\": {\\n \\"InProgressTimeoutInMinutes\\": 5\\n },\\n \\"JobFile\\": {\\n \\"FileUrl\\": \\"https://iotx-***.oss-cn-shanghai.aliyuncs.com/job***/7u***.sh?Expires=16***&OSSAccessKeyId=LTA***&Signature=TTTejn***\\",\\n \\"SignMethod\\": \\"SHA256\\",\\n \\"Sign\\": \\"TTTejn***\\"\\n },\\n \\"TargetConfig\\": {\\n \\"TargetProduct\\": \\"nCwfSBzc***\\",\\n \\"TargetGroup\\": \\"1234\\",\\n \\"TargetType\\": \\"DEVICE_LIST\\",\\n \\"TargetDevices\\": {\\n \\"targetDevices\\": [\\n {\\n \\"DeviceName\\": \\"a1Ix***\\",\\n \\"ProductKey\\": \\"nCwfSBzc***\\"\\n }\\n ]\\n }\\n }\\n }\\n}","type":"json"}]', 'title' => 'Task Management ', 'summary' => 'Query job details.', 'description' => '## QPS Limit'."\n" ."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 5. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking the API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters Documentation](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryJob'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QueryJobStatistics' => [ 'methods' => ['get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID.'."\n" ."\n" .'You can view the current instance ID on the **Instance Overview** page in the IoT Platform console. If an ID exists, you must specify it; otherwise, the invocation will fail.'."\n" ."\n" .'> If your public instance does not have an ID, see [How to obtain an instance ID](~~267533~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'JobId', 'in' => 'query', 'schema' => ['description' => 'The job ID. This is the globally unique identifier of the job.', 'type' => 'string', 'required' => true, 'example' => 'sGWotgRkut***10001', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [error codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => '512FF8FD-A97F-4AAF-B0A2-7BE3D3A19BB3', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'Details about job statuses returned when the invocation succeeds. For more information, see the following parameter guide.', 'type' => 'object', 'properties' => [ 'Rejected' => ['description' => 'The total quantity of jobs that were denied by devices under the corresponding job.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TimeOut' => ['description' => 'The total quantity of jobs that timed out under the corresponding job.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], 'Failed' => ['description' => 'The total quantity of jobs that failed under the corresponding job.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Queued' => ['description' => 'The total quantity of jobs queued for execution under the corresponding job.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'Succeeded' => ['description' => 'The total quantity of jobs that succeeded under the corresponding job.', 'type' => 'integer', 'format' => 'int32', 'example' => '22', 'title' => ''], 'Sent' => ['description' => 'The total quantity of jobs that have been pushed under the corresponding job.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], 'Total' => ['description' => 'The total quantity of jobs under the corresponding job.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], 'InProgress' => ['description' => 'The total quantity of jobs that are in progress under the corresponding job.', 'type' => 'integer', 'format' => 'int32', 'example' => '13', 'title' => ''], 'Cancelled' => ['description' => 'The total quantity of jobs that were canceled under the corresponding job.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"512FF8FD-A97F-4AAF-B0A2-7BE3D3A19BB3\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Rejected\\": 1,\\n \\"TimeOut\\": 5,\\n \\"Failed\\": 1,\\n \\"Queued\\": 2,\\n \\"Succeeded\\": 22,\\n \\"Sent\\": 3,\\n \\"Total\\": 50,\\n \\"InProgress\\": 13,\\n \\"Cancelled\\": 3\\n }\\n}","type":"json"}]', 'title' => 'Query job statistics information', 'summary' => 'Invoke this API to query the statistics information of jobs in each status under a specified job.', 'description' => '## How-To'."\n" ."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account when calling this API is 5.'."\n" ."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking the API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters Documentation](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryJobStatistics', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryJobStatistics'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QueryLicenseDeviceList' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'> You must specify this parameter for a public instance of the new version or an Enterprise Edition instance. You do not need to specify this parameter for a public instance of the previous version.'."\n" ."\n" .'For more information, see the [Overview](~~356505~~) topic of IoT instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot-ws4***', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. Valid values: 1 to 100. Default value: 20.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''], ], [ 'name' => 'LicenseCode', 'in' => 'query', 'schema' => ['description' => 'The license type that specifies the audio and video specifications. Valid values: **480P** and **720P**.'."\n", 'type' => 'string', 'required' => false, 'example' => '720P', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the devices belong.'."\n" ."\n" .'You can go to the IoT Platform console or call the [QueryProductList](~~69271~~) operation to view the information about all products of the instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'es****', 'title' => ''], ], [ 'name' => 'PageId', 'in' => 'query', 'schema' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the device.'."\n" ."\n" .'You can call the [QueryDevice](~~69905~~) operation to query the **IotId** values of all devices that belong to a specific product.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', 'schema' => ['description' => 'The start time of the time range in which the license is bound to the devices. The timestamp follows the UNIX time format. It is the number of seconds that have elapsed since 00:00:00 Thursday, January 1, 1970.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1620634297000', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', 'schema' => ['description' => 'The end time of the time range in which the license is bound to the devices.The timestamp follows the UNIX time format. It is the number of seconds that have elapsed since 00:00:00 Thursday, January 1, 1970.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1620934297000', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the request fails. For more information, see the **"Error codes"** section in this topic.'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the request fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '291438BA-6E10-4C4C-B761-243B9A0D324F', 'title' => ''], 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The response message.'."\n", 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'PageId' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Total' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'DeviceList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'item' => [ 'description' => 'The information about the devices.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ExpiryTime' => ['description' => 'The expiration time of the license.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1690934297000', 'title' => ''], 'ProductKey' => ['description' => 'The **ProductKey** of the product to which the device belongs.'."\n", 'type' => 'string', 'example' => 'es****', 'title' => ''], 'ProductName' => ['description' => 'The ProductName of the product.'."\n", 'type' => 'string', 'example' => '测试产品', 'title' => ''], 'DeviceName' => ['description' => 'The DeviceName of the device.'."\n", 'type' => 'string', 'example' => 'device1', 'title' => ''], 'GmtCreate' => ['description' => 'The time when the license was bound to the device.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1620634297000', 'title' => ''], 'LicenseCode' => ['description' => 'The license type that indicates the audio and video specifications. Valid values: **480P** and **720P**.'."\n", 'type' => 'string', 'example' => '720P', 'title' => ''], 'IotId' => ['description' => 'The device ID.'."\n", 'type' => 'string', 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.rtc.service.notSigned', 'errorMessage' => 'The RTC service is not activated.', 'description' => 'The Real-Time Communication service is not activated.'], ['errorCode' => 'iot.rtc.invalid.license.code', 'errorMessage' => 'invalid license code', 'description' => ''], ['errorCode' => 'iot.rtc.invalid.product.key', 'errorMessage' => 'invalid product key', 'description' => 'invalid product key'], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"291438BA-6E10-4C4C-B761-243B9A0D324F\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageSize\\": 2,\\n \\"PageId\\": 1,\\n \\"Total\\": 10,\\n \\"DeviceList\\": {\\n \\"item\\": [\\n {\\n \\"ExpiryTime\\": 1690934297000,\\n \\"ProductKey\\": \\"es****\\",\\n \\"ProductName\\": \\"测试产品\\",\\n \\"DeviceName\\": \\"device1\\",\\n \\"GmtCreate\\": 1620634297000,\\n \\"LicenseCode\\": \\"720P\\",\\n \\"IotId\\": \\"Q7uOhVRdZRRlDnTLv****00100\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n739536F1-9EB3-511E-960A-524C473EE87A\\n\\n 1\\n 20\\n 2\\n \\n \\n QTGl****000000\\n 480P\\n 1653996767000\\n xinde\\n 1748604768000\\n a1****ls\\n device001\\n \\n \\n eJt****000000\\n 480P\\n 1653996767000\\n xinde\\n 1748604768000\\n a1****ls\\n fefe\\n \\n \\n\\ntrue\\n","errorExample":""}]', 'title' => 'QueryLicenseDeviceList', 'summary' => 'Queries the devices that are bound to a license.', 'description' => '## QPS limits'."\n" ."\n" .'You can call this API operation up to 10 times per second per account.'."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QueryLicenseDeviceList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryLoRaJoinPermissions' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID.'."\n" ."\n" .'You can view the current instance ID on the **Instance Overview** page in the IoT Platform console. If an ID exists, you must specify it. Otherwise, the invocation will fail.'."\n" ."\n" .'> If your public instance does not have an ID, see [How to Obtain an Instance ID](~~267533~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation failed. For more information, see [error codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ProductKey' => ['description' => 'The ProductKey of the product to which the device using this Credential belongs.', 'type' => 'string', 'example' => 'a1BwAGV****', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the call fails. ', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request. ', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" ."\n" .'- **true**: The invocation succeeded.'."\n" ."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'JoinPermissions' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'JoinPermission' => [ 'description' => 'The join credential data (**JoinPermission**) returned upon successful invocation.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Enabled' => ['description' => 'The enable or disable status of the join credential. Valid values:'."\n" ."\n" .'- **true**: Enabled.'."\n" .'- **false**: Disabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'JoinPermissionType' => ['description' => 'The type of the join credential. Valid values:'."\n" ."\n" .'- **LOCAL**: Dedicated credential.'."\n" .'- **ROAMING**: Roaming credential.', 'type' => 'string', 'example' => 'LOCAL', 'title' => ''], 'JoinPermissionId' => ['description' => 'The join permission ID, which is the unique identifier of the join credential.', 'type' => 'string', 'example' => '80***', 'title' => ''], 'JoinPermissionName' => ['description' => 'The name of the join credential.', 'type' => 'string', 'example' => 'ForTest', 'title' => ''], 'OwnerAliyunPk' => ['description' => 'The Alibaba Cloud account ID of the creator of the join credential.', 'type' => 'string', 'example' => '1375364789****', 'title' => ''], 'ClassMode' => ['description' => 'The communication pattern used by the join credential. Valid values:'."\n" ."\n" .'- **A**: The end device allows bidirectional communication.'."\n" .'- **B**: The end device opens a receive window at preset times.'."\n" .'- **C**: The end device keeps the receive window open continuously and closes it only during transmission.', 'type' => 'string', 'example' => 'A', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"JoinPermissions\\": {\\n \\"JoinPermission\\": [\\n {\\n \\"Enabled\\": true,\\n \\"JoinPermissionType\\": \\"LOCAL\\",\\n \\"JoinPermissionId\\": \\"80***\\",\\n \\"JoinPermissionName\\": \\"ForTest\\",\\n \\"OwnerAliyunPk\\": \\"1375364789****\\",\\n \\"ClassMode\\": \\"A\\"\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'Query the List of LoRaWAN Credentials', 'summary' => 'Invoke this API to query the list of LoRaWAN join credentials. ', 'description' => '## Limits'."\n" ."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account when calling this API is 50.'."\n" ."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters Documentation](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryLoRaJoinPermissions', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryLoRaJoinPermissions'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QueryMessageInfo' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'Instance ID.You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify it. Otherwise, the invocation fails.'."\n" .'- If no ID exists, you do not need to specify it.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [How to obtain an instance ID](~~267533~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t***', 'title' => ''], ], [ 'name' => 'UniMsgId', 'in' => 'query', 'schema' => ['description' => 'The unique identifier (UUID) assigned by IoT Platform to the message.'."\n" ."\n" .'You can log on to the [IoT Platform console](http://iot.console.aliyun.com/) and obtain the message ID on the **Monitoring and O&M > Simple Log Service** page.', 'type' => 'string', 'required' => true, 'example' => '323455***', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'RequestId' => ['description' => 'The Unique Identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => 'BB71E443-4447-4024-A000-EDE09922891E', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" ."\n" .'- **true**: The invocation succeeded, indicating that the message details were queried successfully.'."\n" .'- **false**: The invocation failed, indicating that the query for message details failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Message' => [ 'description' => 'The detailed message information returned after a successful invocation.', 'type' => 'object', 'properties' => [ 'TopicFullName' => ['description' => 'The topic to which the message belongs.', 'type' => 'string', 'example' => '/a1Q5XoY****/device1/user/get', 'title' => ''], 'MessageContent' => ['description' => 'The original message converted into binary data and then Base64-encoded.', 'type' => 'string', 'example' => 'eyJsYXN0VGltZSI6IjIwMjEtMDYtMjQgMTY6Mj**', 'title' => ''], 'UniMsgId' => ['description' => 'The UUID assigned by the IoT Platform to the message.', 'type' => 'string', 'example' => '323455***', 'title' => ''], 'TransformedMessageContent' => ['description' => 'The message content after successful transformation, if message parsing is configured for the product.', 'type' => 'string', 'example' => 'test', 'title' => ''], 'GenerateTime' => ['description' => 'The time when the message was generated, in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1624419431000', 'title' => ''], 'TransformedTopicFullName' => ['description' => 'The topic after successful transformation when message parsing is configured for the product.', 'type' => 'string', 'example' => '/w******j/device01/user/testmsg', 'title' => ''], 'UserProperties' => [ 'description' => 'The list of Custom Properties defined by the user when using the MQTT 5.0 communication protocol.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The Key field of a user-defined property.', 'type' => 'string', 'example' => 'key1', 'title' => ''], 'Value' => ['description' => 'The value corresponding to the **Key** field of a user-defined property.', 'type' => 'string', 'example' => 'value1', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'MqttProperties' => [ 'description' => 'The list of attribute properties configured when using the MQTT 5.0 communication protocol. For more information, see [MQTT 5.0 attributes](~~2330876~~).'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'Attribute name.', 'type' => 'string', 'example' => 'attrkey', 'title' => ''], 'Value' => ['description' => 'Attribute value.', 'type' => 'string', 'example' => 'attrvalue', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"BB71E443-4447-4024-A000-EDE09922891E\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Message\\": {\\n \\"TopicFullName\\": \\"/a1Q5XoY****/device1/user/get\\",\\n \\"MessageContent\\": \\"eyJsYXN0VGltZSI6IjIwMjEtMDYtMjQgMTY6Mj**\\",\\n \\"UniMsgId\\": \\"323455***\\",\\n \\"TransformedMessageContent\\": \\"test\\",\\n \\"GenerateTime\\": 1624419431000,\\n \\"TransformedTopicFullName\\": \\"/w******j/device01/user/testmsg\\",\\n \\"UserProperties\\": [\\n {\\n \\"Key\\": \\"key1\\",\\n \\"Value\\": \\"value1\\"\\n }\\n ],\\n \\"MqttProperties\\": [\\n {\\n \\"Key\\": \\"attrkey\\",\\n \\"Value\\": \\"attrvalue\\"\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'Query details of device mobile originated and mobile terminated messages', 'summary' => 'Query the details of upstream and downstream messages for a device, including the message content, message generation time, and the topic used to send the message.', 'description' => '## How-To '."\n" .'Messages with QoS=0 and QoS=1 are stored for a maximum of 1 Day and 7 Days, respectively. Before calling this API, confirm that you are querying messages within their storage period. Otherwise, the query will fail.'."\n" ."\n" .'## queries per second (QPS) limit '."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 10.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking this API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters documentation](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryMessageInfo', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryMessageInfo'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QueryOTAFirmware' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'FirmwareId', 'in' => 'query', 'schema' => ['description' => 'The unique ID of the OTA update package.'."\n" ."\n" .'An update package ID is returned when you call the [CreateOTAFirmware](~~147311~~) operation to create the update package.'."\n" ."\n" .'You can call the [ListOTAFirmware](~~147450~~) operation and view the update package ID in the response.'."\n", 'type' => 'string', 'required' => true, 'example' => 's8SSHiKjpBfrM3BSN0z803****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'A01829CE-75A1-4920-B775-921146A1AB79', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'FirmwareInfo' => [ 'description' => 'The update package information returned if the call succeeds. For more information, see **FirmwareInfo**.'."\n", 'type' => 'object', 'properties' => [ 'ModuleName' => ['description' => 'The name of the module.'."\n" ."\n" .'OTA updates are based on the firmware modules of a device. For more information, see [Add a custom OTA module to an update package](~~202664~~).'."\n", 'type' => 'string', 'example' => 'WifiConfigModify', 'title' => ''], 'Type' => ['description' => 'The type of the OTA update package. Valid values:'."\n" ."\n" .'* **0**: The uploaded file contains a full update package. IoT Platform pushes the full update package to a device for update.'."\n" .'* **1**: The uploaded file contains only the differences between the latest update package and previous update package. IoT Platform pushes only the differences to a device for update.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'Status' => ['description' => 'The status of the OTA update package. Valid values:'."\n" ."\n" .'* **-1**: no verification is required'."\n" .'* **0**: unverified'."\n" .'* **1**: verified'."\n" .'* **2**: verifying'."\n" .'* **3**: failed to be verified'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'ProductName' => ['description' => 'The name of the product to which the OTA update package belongs.'."\n", 'type' => 'string', 'example' => 'MyProduct', 'title' => ''], 'FirmwareUrl' => ['description' => 'The URL of the update package file that is stored in Object Storage Service (OSS).'."\n" ."\n" .'> This parameter is available if the OTA update package contains a single file.'."\n", 'type' => 'string', 'example' => 'https://ota-***.aliyuncs.com/ota/572ef2fd12ca4791a5b21a9eb948****/5E962CF83DB1495E8337E9C8A4D1****.bin?Expires=1577587360&OSSAccessKeyId=cS8uRRy54Rsz****&Signature=farzC8%2FVMN4HYdEtXvdiC2OevH****', 'title' => ''], 'UtcCreate' => ['description' => 'The time when the OTA update package was created. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2019-12-28T02:42:22.000Z', 'title' => ''], 'FirmwareSize' => ['description' => 'The size of the OTA update package file. Unit: bytes.'."\n" ."\n" .'> This parameter is available if the OTA update package contains a single file.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '924', 'title' => ''], 'FirmwareName' => ['description' => 'The name of the OTA update package.'."\n", 'type' => 'string', 'example' => 't3q5rkNm', 'title' => ''], 'FirmwareSign' => ['description' => 'The signature of the OTA update package.'."\n" ."\n" .'> This parameter is available if the OTA update package contains a single file.'."\n", 'type' => 'string', 'example' => '3d04ab6462633508606e5f3daac8****', 'title' => ''], 'ProductKey' => ['description' => 'The **ProductKey** of the product to which the OTA update package belongs.'."\n", 'type' => 'string', 'example' => 'a19mzPZ****', 'title' => ''], 'UtcModified' => ['description' => 'The time when the update task was last modified. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2019-12-28T02:42:41.000Z', 'title' => ''], 'SrcVersion' => ['description' => 'The version number of the original update package to be updated.'."\n" ."\n" .'> This parameter is returned if you perform a delta update. For more information about update package types, see the description of the **Type** parameter.'."\n", 'type' => 'string', 'example' => '1.0.0', 'title' => ''], 'VerifyProgress' => ['description' => 'The verification status of the OTA update package. Valid values:'."\n" ."\n" .'* **0**: unverified'."\n" .'* **100**: verified'."\n" .'* A value N between 0 and 100 indicates that the update task is N percent completed. You can check the response parameter **Status** to see the verification status.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'FirmwareDesc' => ['description' => 'The description of the OTA update package.'."\n", 'type' => 'string', 'example' => 'modified-WiFi-module', 'title' => ''], 'SignMethod' => ['description' => 'The signature method of the OTA update package.'."\n", 'type' => 'string', 'example' => 'MD5', 'title' => ''], 'DestVersion' => ['description' => 'The version number of the OTA update package.'."\n", 'type' => 'string', 'example' => '4.0.0', 'title' => ''], 'FirmwareId' => ['description' => 'The unique ID of the OTA update package.'."\n", 'type' => 'string', 'example' => 'UfuxnwygsuSkVE0VCN****0100', 'title' => ''], 'Udi' => ['description' => 'The custom information that was pushed to the device. The information can be up to 4,096 characters in length. No limit is applies to the content format.'."\n" ."\n" .'After you add the update package and create an update task, IoT Platform sends the custom information to the specified device when IoT Platform pushes the update notification.'."\n", 'type' => 'string', 'example' => '{"ota_notice":"升级底层摄像头驱动,解决视频图像模糊的问题。"}', 'title' => ''], 'MultiFiles' => [ 'description' => 'The information about the OTA update package files. This parameter is available if the OTA update package contains multiple files.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Url' => ['description' => 'The URL of the update package file that is stored in Object Storage Service (OSS).'."\n", 'type' => 'string', 'example' => 'https://ota-***.aliyuncs.com/ota/572ef2fd12ca4791a5b21a9eb948****/5E962CF83DB1495E8337E9C8A4D1****.bin?Expires=1577587360&OSSAccessKeyId=cS8uRRy54Rsz****&Signature=farzC8%2FVMN4HYdEtXvdiC2OevH****', 'title' => ''], 'FileMd5' => ['description' => 'The MD5 value of the OTA update package file.'."\n", 'type' => 'string', 'example' => '3d04ab6462633508606e5f3d****', 'title' => ''], 'SignValue' => ['description' => 'The signature of the OTA update package file.'."\n", 'type' => 'string', 'example' => '3d04ab6462633508606e5f3d****', 'title' => ''], 'Name' => ['description' => 'The name of the OTA update package file.'."\n", 'type' => 'string', 'example' => 'firmware1', 'title' => ''], 'Size' => ['description' => 'The size of the OTA update package file. Unit: bytes.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"A01829CE-75A1-4920-B775-921146A1AB79\\",\\n \\"Success\\": true,\\n \\"FirmwareInfo\\": {\\n \\"ModuleName\\": \\"WifiConfigModify\\",\\n \\"Type\\": 0,\\n \\"Status\\": 2,\\n \\"ProductName\\": \\"MyProduct\\",\\n \\"FirmwareUrl\\": \\"https://ota-***.aliyuncs.com/ota/572ef2fd12ca4791a5b21a9eb948****/5E962CF83DB1495E8337E9C8A4D1****.bin?Expires=1577587360&OSSAccessKeyId=cS8uRRy54Rsz****&Signature=farzC8%2FVMN4HYdEtXvdiC2OevH****\\",\\n \\"UtcCreate\\": \\"2019-12-28T02:42:22.000Z\\",\\n \\"FirmwareSize\\": 924,\\n \\"FirmwareName\\": \\"t3q5rkNm\\",\\n \\"FirmwareSign\\": \\"3d04ab6462633508606e5f3daac8****\\",\\n \\"ProductKey\\": \\"a19mzPZ****\\",\\n \\"UtcModified\\": \\"2019-12-28T02:42:41.000Z\\",\\n \\"SrcVersion\\": \\"1.0.0\\",\\n \\"VerifyProgress\\": 0,\\n \\"FirmwareDesc\\": \\"modified-WiFi-module\\",\\n \\"SignMethod\\": \\"MD5\\",\\n \\"DestVersion\\": \\"4.0.0\\",\\n \\"FirmwareId\\": \\"UfuxnwygsuSkVE0VCN****0100\\",\\n \\"Udi\\": \\"{\\\\\\"ota_notice\\\\\\":\\\\\\"升级底层摄像头驱动,解决视频图像模糊的问题。\\\\\\"}\\",\\n \\"MultiFiles\\": [\\n {\\n \\"Url\\": \\"https://ota-***.aliyuncs.com/ota/572ef2fd12ca4791a5b21a9eb948****/5E962CF83DB1495E8337E9C8A4D1****.bin?Expires=1577587360&OSSAccessKeyId=cS8uRRy54Rsz****&Signature=farzC8%2FVMN4HYdEtXvdiC2OevH****\\",\\n \\"FileMd5\\": \\"3d04ab6462633508606e5f3d****\\",\\n \\"SignValue\\": \\"3d04ab6462633508606e5f3d****\\",\\n \\"Name\\": \\"firmware1\\",\\n \\"Size\\": 200\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', 'title' => 'QueryOTAFirmware', 'summary' => 'Queries the details of a specified OTA update package, including the name, type, and status of the update package.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 20 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryOTAFirmware', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryOTAJob' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'JobId', 'in' => 'query', 'schema' => ['description' => 'The ID of the update batch.'."\n" ."\n" .'After you call the [CreateOTAVerifyJob](~~147480~~), [CreateOTAStaticUpgradeJob](~~147496~~), or [CreateOTADynamicUpgradeJob](~~147887~~) API operation to create the update batch, you can obtain the **JobId** parameter. You can also view the batch ID on the **Update Package Details** page of the IoT Platform console.'."\n", 'type' => 'string', 'required' => true, 'example' => 'wahVIzGkCMuAUE2gDERM02****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '30F1BB8D-EDBF-44FD-BBC0-BE97DEA73991', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The update batch information returned if the call is successful. For more information, see the following parameters.'."\n", 'type' => 'object', 'properties' => [ 'UtcCreate' => ['description' => 'The time when the update batch was created. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2019-12-28T02:43:10.000Z', 'title' => ''], 'RetryInterval' => ['description' => 'The automatic retry interval after a device fails to be updated. Unit: minutes.'."\n" ."\n" .'This parameter is returned if a retry policy is set when you create the update batch.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''], 'JobType' => ['description' => 'The type of the batch. Valid values:'."\n" ."\n" .'* **VERFIY_FIRMWARE**: update package verification.'."\n" .'* **UPGRADE_FIRMWARE**: batch update.'."\n", 'type' => 'string', 'example' => 'UPGRADE_FIRMWARE', 'title' => ''], 'SelectionType' => ['description' => 'The update policy of the update batch. Valid values:'."\n" ."\n" .'* **DYNAMIC**: dynamic update. This value is returned if you call the [CreateOTADynamicUpgradeJob](~~147887~~) API operation to create an update batch.'."\n" .'* **STATIC**: static update. This value is returned if you call the [CreateOTAStaticUpgradeJob](~~147496~~) API operation to create an update batch.'."\n", 'type' => 'string', 'example' => 'STATIC', 'title' => ''], 'OverwriteMode' => ['description' => 'Specifies whether to overwrite the previous update task. Valid values:'."\n" ."\n" .'* **1**: The previous update task is not overwritten. If a device already has an update task, the previous update task is implemented.'."\n" .'* **2**: The previous update task is overwritten. Only the current update task is implemented.'."\n" ."\n" .'The update task that is in progress is not overwritten.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TargetSelection' => ['description' => 'The scope of the update batch. Valid values: '."\n" ."\n" .'- **ALL**: updates all devices.'."\n" .'- **SPECIFIC**: updates specified devices.'."\n" .'- **GRAY**: performs a phased update.'."\n" ."\n" .'> The value ALL is returned if you call the [CreateOTADynamicUpgradeJob](/help/en/iot-platform/latest/av6dui) API operation to create an update batch.', 'type' => 'string', 'example' => 'SPECIFIC', 'title' => ''], 'TimeoutInMinutes' => ['description' => 'The timeout period of the device update. Unit: minutes.'."\n" ."\n" .'This parameter is returned if the timeout period is set when you create the update batch.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], 'GrayPercent' => ['description' => 'The phase ratio of the phased update.'."\n" ."\n" .'This parameter is returned only if you perform a phased update.'."\n", 'type' => 'string', 'example' => '50.00', 'title' => ''], 'NeedPush' => ['description' => 'Specifies whether to automatically push update tasks from IoT Platform to devices.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'JobStatus' => ['description' => 'The status of the update batch.'."\n" ."\n" .'* **PLANNED**: The update batch is being planned. The batch is created, but the scheduled time has not arrived. This parameter is returned only if you perform a static update.'."\n" .'* **IN_PROGRESS**: The update batch is running.'."\n" .'* **COMPLETED**: The update batch is completed.'."\n" .'* **CANCELED**: The update batch is canceled.'."\n", 'type' => 'string', 'example' => 'IN_PROGRESS', 'title' => ''], 'JobDesc' => ['description' => 'The description of the update batch.'."\n", 'type' => 'string', 'example' => 'batch upgrade', 'title' => ''], 'UtcModified' => ['description' => 'The time when the update batch was last modified. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2019-12-28T02:43:10.000Z', 'title' => ''], 'UtcStartTime' => ['description' => 'The start time of the update batch. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2019-12-28T02:43:10.000Z', 'title' => ''], 'MultiModuleMode' => ['description' => 'Specifies whether the device supports simultaneous updates of multiple modules.'."\n" ."\n" .'* **false** (default): no.'."\n" .'* **true**: yes.'."\n" ."\n" .'For more information, see [Overview](~~58328~~).'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], 'UtcEndTime' => ['description' => 'The end time of the update batch. The time is displayed in UTC.'."\n" ."\n" .'This parameter is returned only after the update batch is completed.'."\n", 'type' => 'string', 'example' => '2019-12-29T02:43:10.000Z', 'title' => ''], 'Name' => ['description' => 'The name of the update package.'."\n", 'type' => 'string', 'example' => 'Firmware2', 'title' => ''], 'DestVersion' => ['description' => 'The destination firmware version of the update.'."\n", 'type' => 'string', 'example' => '1.0.1', 'title' => ''], 'UtcScheduleFinishTime' => ['description' => 'The end time of the scheduled update batch. This parameter is returned only if the update batch is scheduled and the end time of the scheduled update batch is specified.'."\n", 'type' => 'string', 'example' => '2019-12-30T02:43:10.000Z', 'title' => ''], 'MaximumPerMinute' => ['description' => 'The maximum number of devices to which the download URL of the update package is pushed per minute.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1000', 'title' => ''], 'DynamicMode' => ['description' => 'The mode of dynamic update. Valid values:'."\n" ."\n" .'* **1**: constantly updates the devices that meet the conditions.'."\n" .'* **2**: updates only the devices that subsequently submit the latest firmware versions.'."\n" ."\n" .'This parameter is returned only if you perform a dynamic update.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'RetryCount' => ['description' => 'The number of automatic retries after a device fails to be updated.'."\n" ."\n" .'This parameter is returned if a retry policy is set when you create the update batch.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'ProductKey' => ['description' => 'The ProductKey of the product to which the update package belongs.'."\n", 'type' => 'string', 'example' => 'a19mzPZ****', 'title' => ''], 'GroupName' => ['description' => 'The name of the device group to be updated.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], 'GroupId' => ['description' => 'The ID of the device group to be updated.'."\n", 'type' => 'string', 'example' => 'CtjzCkNuOxUR***', 'title' => ''], 'UtcScheduleTime' => ['description' => 'The start time of the scheduled update batch. This parameter is returned only for scheduled update batches.'."\n", 'type' => 'string', 'example' => '2019-12-29T02:43:10.000Z', 'title' => ''], 'JobId' => ['description' => 'The ID of the update batch.'."\n", 'type' => 'string', 'example' => 'HvKuBpuk3rdk6E92CP****0200', 'title' => ''], 'DownloadProtocol' => ['description' => 'The download protocol of the update package.'."\n", 'type' => 'string', 'example' => 'HTTPS', 'title' => ''], 'NeedConfirm' => ['description' => 'Specifies whether to confirm the update by using your mobile app.'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], 'FirmwareId' => ['description' => 'The ID of the update package.'."\n", 'type' => 'string', 'example' => 'UfuxnwygsuSkVE0VCN****0100', 'title' => ''], 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'OtaTagDTO' => [ 'description' => 'The tags of the update batch.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The key of each tag.'."\n", 'type' => 'string', 'example' => 'key1', 'title' => ''], 'Value' => ['description' => 'The value of the tag.'."\n", 'type' => 'string', 'example' => 'value1', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'SrcVersions' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'SrcVersion' => [ 'description' => 'The list of firmware versions to be updated.'."\n", 'type' => 'array', 'items' => ['description' => '', 'type' => 'string', 'example' => '{"SrcVersion": ["1.0.0"]}', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"30F1BB8D-EDBF-44FD-BBC0-BE97DEA73991\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"UtcCreate\\": \\"2019-12-28T02:43:10.000Z\\",\\n \\"RetryInterval\\": 60,\\n \\"JobType\\": \\"UPGRADE_FIRMWARE\\",\\n \\"SelectionType\\": \\"STATIC\\",\\n \\"OverwriteMode\\": 1,\\n \\"TargetSelection\\": \\"SPECIFIC\\",\\n \\"TimeoutInMinutes\\": 5,\\n \\"GrayPercent\\": \\"50.00\\",\\n \\"NeedPush\\": true,\\n \\"JobStatus\\": \\"IN_PROGRESS\\",\\n \\"JobDesc\\": \\"batch upgrade\\",\\n \\"UtcModified\\": \\"2019-12-28T02:43:10.000Z\\",\\n \\"UtcStartTime\\": \\"2019-12-28T02:43:10.000Z\\",\\n \\"MultiModuleMode\\": false,\\n \\"UtcEndTime\\": \\"2019-12-29T02:43:10.000Z\\",\\n \\"Name\\": \\"Firmware2\\",\\n \\"DestVersion\\": \\"1.0.1\\",\\n \\"UtcScheduleFinishTime\\": \\"2019-12-30T02:43:10.000Z\\",\\n \\"MaximumPerMinute\\": 1000,\\n \\"DynamicMode\\": 1,\\n \\"RetryCount\\": 1,\\n \\"ProductKey\\": \\"a19mzPZ****\\",\\n \\"GroupName\\": \\"test\\",\\n \\"GroupId\\": \\"CtjzCkNuOxUR***\\",\\n \\"UtcScheduleTime\\": \\"2019-12-29T02:43:10.000Z\\",\\n \\"JobId\\": \\"HvKuBpuk3rdk6E92CP****0200\\",\\n \\"DownloadProtocol\\": \\"HTTPS\\",\\n \\"NeedConfirm\\": false,\\n \\"FirmwareId\\": \\"UfuxnwygsuSkVE0VCN****0100\\",\\n \\"Tags\\": {\\n \\"OtaTagDTO\\": [\\n {\\n \\"Key\\": \\"key1\\",\\n \\"Value\\": \\"value1\\"\\n }\\n ]\\n },\\n \\"SrcVersions\\": {\\n \\"SrcVersion\\": [\\n \\"{\\\\\\"SrcVersion\\\\\\": [\\\\\\"1.0.0\\\\\\"]}\\"\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n\\n 5\\n batch upgrade\\n HTTPS\\n 2019-12-28T02:43:10.000Z\\n 2019-12-29T02:43:10.000Z\\n a19mzPZ****\\n 2019-12-28T02:43:10.000Z\\n IN_PROGRESS\\n 2019-12-28T02:43:10.000Z\\n STATIC\\n SPECIFIC\\n UPGRADE_FIRMWARE\\n \\n \\n 60\\n 1\\n 1\\n true\\n 1000\\n \\n 1.0.0\\n \\n firmware2\\n true\\n false\\n UfuxnwygsuSkVE0VCN****0100\\n HvKuBpuk3rdk6E92CP****0200\\n 1.0.1\\n\\n30F1BB8D-EDBF-44FD-BBC0-BE97DEA73991\\ntrue\\n","errorExample":""}]', 'title' => 'QueryOTAJob', 'summary' => 'Queries the details of an update batch.', 'description' => 'After you call the [CreateOTAVerifyJob](~~147480~~), [CreateOTAStaticUpgradeJob](~~147496~~), or [CreateOTADynamicUpgradeJob](~~147887~~) API operation to create an update batch, the **JobId** parameter is returned. You can use this parameter to query the details of the update batch.'."\n" ."\n" .'## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS). '."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryOTAJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryPageByApplyId' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Maximum value: 50. Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'ApplyId', 'in' => 'query', 'schema' => ['description' => 'The ID of the application. You can view the application ID in the response of the [BatchRegisterDeviceWithApplyId](~~69514~~) or [BatchRegisterDevice](~~69473~~) operation.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1295006', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', 'schema' => ['description' => 'The number of the page to return. Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](/help/en/iot-platform/latest/bce100).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'Total' => ['description' => 'The total number of devices.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'PageCount' => ['description' => 'The total number of pages.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Page' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'ApplyDeviceList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'ApplyDeviceInfo' => [ 'description' => 'The registered device list information returned if the call succeeds. The **ApplyDeviceInfo** parameter includes the details of the registered devices.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'DeviceName' => ['description' => 'The DeviceName of the device.'."\n", 'type' => 'string', 'example' => 'light', 'title' => ''], 'DeviceId' => ['description' => 'The ID of the device (expired).'."\n" ."\n" .'> This parameter is no longer used. Do not use this parameter to identify a device. You can use the **IotId** parameter or a combination of the **ProductKey** and **DeviceName** parameters to identify a device.'."\n", 'type' => 'string', 'example' => 'gQG2GJ2y10m6hIk8****', 'title' => ''], 'IotId' => ['description' => 'The ID of the device. The ID is the unique identifier that is issued by IoT Platform to the device.'."\n", 'type' => 'string', 'example' => 'vWxNur6BUApsqjv9****000100', 'title' => ''], 'DeviceSecret' => ['description' => 'The DeviceSecret of the device.'."\n", 'type' => 'string', 'example' => 'SkfeXXKrTgp1DbDxYr74mfJ5cnui****', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PageSize\\": 10,\\n \\"Total\\": 2,\\n \\"PageCount\\": 1,\\n \\"Page\\": 1,\\n \\"ApplyDeviceList\\": {\\n \\"ApplyDeviceInfo\\": [\\n {\\n \\"DeviceName\\": \\"light\\",\\n \\"DeviceId\\": \\"gQG2GJ2y10m6hIk8****\\",\\n \\"IotId\\": \\"vWxNur6BUApsqjv9****000100\\",\\n \\"DeviceSecret\\": \\"SkfeXXKrTgp1DbDxYr74mfJ5cnui****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n1\\n\\n \\n vWxNur6BUApsqjv9****\\n APItest\\n tXXEtily4XuV7WS1fosJoDkhRIIU****\\n vWxNur6BUApsqjv****4000100\\n \\n \\n hoiwszKPYmHk074H****\\n awfg\\n BYpg1b2nmuq21BO7fxOogYQQZd9z****\\n hoiwszKPYmHk074HA****000100\\n \\n\\n1\\n10\\n762F7AAD-8B87-4C65-BBF3-4575B002B384\\ntrue\\n2\\n","errorExample":""}]', 'title' => 'QueryPageByApplyId', 'summary' => 'Queries the information of multiple devices that you have registered.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryPageByApplyId', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryProduct' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'> * If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'> * If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product that you want to query. A ProductKey is a GUID that is issued by IoT Platform to a product. You can use the IoT Platform console or call the [QueryProductList](~~69271~~) operation to view the information about all products within the current account.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E4F94B97-1D64-4080-BFD2-67461667AA43', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The product information returned if the call is successful.'."\n", 'type' => 'object', 'properties' => [ 'Owner' => ['description' => 'Indicates whether the operation was called by the owner of the product.'."\n" ."\n" .'* **true**: yes.'."\n" .'* **false**: no.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'ProductName' => ['description' => 'The name of the product.'."\n", 'type' => 'string', 'example' => '路灯', 'title' => ''], 'ProductSecret' => ['description' => 'The ProductSecret of the product.'."\n", 'type' => 'string', 'example' => 'U5tW7i44uilc****', 'title' => ''], 'DataFormat' => ['description' => 'The data format that was used by a communication protocol to transmit data between the devices and IoT Platform. This parameter is available if the AliyunCommodityCode parameter is set to iothub_senior.'."\n" ."\n" .'Valid values:'."\n" ."\n" .'* **0**: custom. A custom serial data format was used. In this case, the device can submit raw data, such as binary data streams. IoT Platform converts the raw data into standard Alink JSON data by using a specified data parsing script.'."\n" .'* **1**: Alink JSON. Alink JSON data is transmitted between the devices and IoT Platform. Alink is a data exchange protocol that is pre-defined by IoT Platform.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'CategoryName' => ['description' => 'The name of the product category.'."\n" ."\n" .'This parameter is returned if the product uses the TSL model of a standard category that is pre-defined by IoT Platform.'."\n" ."\n" .'This parameter is available if the AliyunCommodityCode parameter is set to iothub_senior.'."\n", 'type' => 'string', 'example' => '路灯照明', 'title' => ''], 'ProductStatus' => ['description' => 'The status of the product.'."\n" ."\n" .'* **DEVELOPMENT_STATUS**: The product is being developed.'."\n" .'* **RELEASE_STATUS**: The product was published.'."\n", 'type' => 'string', 'example' => 'DEVELOPMENT_STATUS', 'title' => ''], 'AliyunCommodityCode' => ['description' => 'The type of the product. This parameter indicates whether a Thing Specification Language (TSL) model was used.'."\n" ."\n" .'Valid values:'."\n" ."\n" .'* **iothub_senior**: A TSL model was used.'."\n" .'* **iothub**: No TSL model was used.'."\n", 'type' => 'string', 'example' => 'iothub_senior', 'title' => ''], 'DeviceCount' => ['description' => 'The number of devices under the product.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'AuthType' => ['description' => 'The authentication method that was used to connect the devices of the product to IoT Platform. Valid values:'."\n" ."\n" .'* **secret**: DeviceSecrets were used to authenticate the devices.'."\n" .'* **id2**: IoT Internet Device ID was used to authenticate the devices.'."\n" .'* **x509**: X.509 certificates were used to authenticate the devices.'."\n", 'type' => 'string', 'example' => 'secret', 'title' => ''], 'ProductKey' => ['description' => 'The ProductKey of the product. When you create a product, a ProductKey is the globally unique identifier (GUID) that is issued by IoT Platform to the product.'."\n", 'type' => 'string', 'example' => 'a1T27vz****', 'title' => ''], 'NodeType' => ['description' => 'The node type of the product. This parameter is available if the AliyunCommodityCode parameter is set to iothub_senior. Valid values:'."\n" ."\n" .'* **0**: device. Sub-devices cannot be attached to a device. A device can connect to IoT Platform directly or as a sub-device of a gateway.'."\n" .'* **1**: gateway. Sub-devices can be attached to a gateway. A gateway can manage sub-devices, maintain the topological relationships with sub-devices, and synchronize the topological relationships to IoT Platform.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'Description' => ['description' => 'The description of the product.'."\n", 'type' => 'string', 'example' => '智能路灯', 'title' => ''], 'ValidateType' => ['description' => 'The level of the data verification. Valid values:'."\n" ."\n" .'* **2**: no verification. IoT Platform does not verify the data. All data is forwarded.'."\n" ."\n" .' In the IoT Platform console, the data is not displayed on the TSL Data tab of the Device Details page.'."\n" ."\n" .'* **1**: low-level verification. IoT Platform verifies only the identifier and dataType fields of the data. All data is forwarded.'."\n" ."\n" .'* **0**: high-level verification. IoT Platform verifies all fields of the data. Only the data that passes the verification is forwarded.'."\n" ."\n" .' The products that were created before October 14, 2020 support only high-level verification.'."\n" ."\n" .'The products that were created on October 14, 2020 or later support low-level verification or no verification.'."\n" ."\n" .'After verification, you can view the data that passes or fails the verification.'."\n" ."\n" .'* In the IoT Platform console, the data is displayed on the **TSL Data** tab of the **Device Details** page. The data that fails the verification is not displayed.'."\n" .'* You can view the data that fails the verification in the **checkFailedData** parameter of the forwarded data. For more information, see [Data formats](~~73736~~).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Id2' => ['description' => 'Indicates whether IoT Internet Device ID was enabled. Valid values:'."\n" ."\n" .'* **true**: IoT Internet Device ID was enabled.'."\n" .'* **false**: IoT Internet Device ID was disabled.'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], 'NetType' => ['description' => 'The network connection method. Valid values:'."\n" ."\n" .'* **3**: Wi-Fi.'."\n" .'* **6**: cellular network (2G/3G/4G/5G).'."\n" .'* **7**: Ethernet.'."\n" .'* **8**: others.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], 'GmtCreate' => ['description' => 'The time when the product was created. The value is a timestamp in milliseconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1581595942000', 'title' => ''], 'ProtocolType' => ['description' => 'The type of the protocol that was used by the sub-devices to connect with a gateway.'."\n" ."\n" .'This parameter is available if the AliyunCommodityCode parameter is set to iothub_senior and the NodeType parameter is set to 1. Valid values:'."\n" ."\n" .'* **modbus**: Modbus.'."\n" .'* **opc-ua**: OPC UA.'."\n" .'* **customize**: custom protocol.'."\n" .'* **ble**: BLE.'."\n" .'* **zigbee**: ZigBee.'."\n", 'type' => 'string', 'example' => 'modbus', 'title' => ''], 'CategoryKey' => ['description' => 'The identifier of the category to which the product belongs.'."\n" ."\n" .'This parameter is returned if the product uses the TSL model of a standard category that is pre-defined by IoT Platform.'."\n" ."\n" .'This parameter is available if the AliyunCommodityCode parameter is set to iothub_senior.'."\n", 'type' => 'string', 'example' => 'Lighting', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4F94B97-1D64-4080-BFD2-67461667AA43\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Owner\\": true,\\n \\"ProductName\\": \\"路灯\\",\\n \\"ProductSecret\\": \\"U5tW7i44uilc****\\",\\n \\"DataFormat\\": 1,\\n \\"CategoryName\\": \\"路灯照明\\",\\n \\"ProductStatus\\": \\"DEVELOPMENT_STATUS\\",\\n \\"AliyunCommodityCode\\": \\"iothub_senior\\",\\n \\"DeviceCount\\": 0,\\n \\"AuthType\\": \\"secret\\",\\n \\"ProductKey\\": \\"a1T27vz****\\",\\n \\"NodeType\\": 0,\\n \\"Description\\": \\"智能路灯\\",\\n \\"ValidateType\\": 1,\\n \\"Id2\\": false,\\n \\"NetType\\": 3,\\n \\"GmtCreate\\": 1581595942000,\\n \\"ProtocolType\\": \\"modbus\\",\\n \\"CategoryKey\\": \\"Lighting\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', 'title' => 'QueryProduct', 'summary' => 'Queries the details of a product.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryProduct', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryProductCertInfo' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the ID of the instance on the **Overview** page in the IoT Platform console.****'."\n" ."\n" .'> If your instance has an ID, you must specify the ID for this parameter. If you do not specify the instance ID, the call fails. If no Overview page or ID is generated for your instance, you do not need to configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a2YwD23****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'MissingProductKey', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the request fails.'."\n", 'type' => 'string', 'example' => 'ProductKey is mandatory for this action.', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '57b144cf-09fc-4916-a272-a62902d5b207', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'ProductCertInfo' => [ 'description' => 'The returned certificate information that includes the value of the **IssueModel** parameter.'."\n", 'type' => 'object', 'properties' => [ 'IssueModel' => ['description' => 'The source from which the X.509 certificate is issued.'."\n" ."\n" .'* **1**: The X.509 certificate is issued by IoT Platform.'."\n" .'* **3**: The X.509 certificate is issued by a third-party platform.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"MissingProductKey\\",\\n \\"ErrorMessage\\": \\"ProductKey is mandatory for this action.\\",\\n \\"RequestId\\": \\"57b144cf-09fc-4916-a272-a62902d5b207\\",\\n \\"Success\\": true,\\n \\"ProductCertInfo\\": {\\n \\"IssueModel\\": 1\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n57b144cf-09fc-4916-a272-a62902d5b207\\ntrue\\n\\n 1\\n\\n","errorExample":""}]', 'title' => 'QueryProductCertInfo', 'summary' => 'Queries the X.509 certificate information of a product.', 'description' => '## QPS limits'."\n" ."\n" .'You can call this API operation up to 30 times per second per account.'."\n" ."\n" .'>The RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryProductCertInfo', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryProductList' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n\n" .'> * If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n" .'> * If no **Overview** page or ID is generated for your instance, you do not need to configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Valid values: 1 to 200.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '2', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group to which the product belongs. You can log on to the [Resource Management](https://resourcemanager.console.aliyun.com/resource-groups) console to view the details of the resource group.'."\n" ."\n" .'> You can specify a value for this parameter only if you have activated Resource Management.'."\n" ."\n" .'If you leave this parameter empty, the information about all products in the current account is queried.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4ph****', 'title' => ''], ], [ 'name' => 'AliyunCommodityCode', 'in' => 'query', 'schema' => ['description' => 'The type of the product. Valid values:'."\n" ."\n" .'* **iothub_senior**: A Thing Specification Language (TSL) model is used for the product.'."\n" .'* **iothub**: No TSL model is used for the product.'."\n" ."\n" .'> If you do not configure this parameter, all products are returned.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iothub_senior', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', 'schema' => ['description' => 'The number of the page to return.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the request fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '4B4ECF2C-6222-42EC-A4B5-C12202E71CEA', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The product information returned if the call is successful. For more information, see the following parameters.'."\n", 'type' => 'object', 'properties' => [ 'CurrentPage' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'Total' => ['description' => 'The total number of products.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '184', 'title' => ''], 'PageCount' => ['description' => 'The total number of returned pages.', 'type' => 'integer', 'format' => 'int32', 'example' => '92', 'title' => ''], 'List' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'ProductInfo' => [ 'description' => 'The details of the products.'."\n" ."\n" .'> The returned product information is sorted in reverse-chronological order based on the time when the products were created.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'AuthType' => ['description' => 'The authentication method that was used to connect the devices of the product to IoT Platform. Valid values:'."\n" ."\n" .'* **secret**: DeviceSecrets were used to authenticate the devices.'."\n" .'* **id2**: IoT Internet Device ID was used to authenticate the devices.'."\n" .'* **x509**: X.509 certificates were used to authenticate the devices.'."\n", 'type' => 'string', 'example' => 'secret', 'title' => ''], 'ProductKey' => ['description' => 'The ProductKey of the product. When you create a product, a ProductKey is a globally unique identifier (GUID) that is issued by IoT Platform to the product.'."\n", 'type' => 'string', 'example' => 'a1T27vz****', 'title' => ''], 'ProductName' => ['description' => 'The name of the service.'."\n", 'type' => 'string', 'example' => '路灯', 'title' => ''], 'Description' => ['description' => 'The description of the product.'."\n", 'type' => 'string', 'example' => 'This is a test product.', 'title' => ''], 'NodeType' => ['description' => 'The node type of the product. This parameter is available only if the AliyunCommodityCode parameter is set to iothub_senior. Valid values:'."\n" ."\n" .'* **0**: device. Sub-devices cannot be attached to a device. A device can be directly connected to IoT Platform or connected to IoT Platform as a sub-device of a gateway.'."\n" .'* **1**: gateway. Sub-devices can be attached to a gateway. A gateway can manage sub-devices, maintain topological relationships with sub-devices, and synchronize topological relationships to IoT Platform.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'GmtCreate' => ['description' => 'The time when the product was created. The value is a timestamp in milliseconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1581595942000', 'title' => ''], 'DataFormat' => ['description' => 'The data format that was used by a communication protocol to transmit data between the devices and IoT Platform. This parameter is available only if the AliyunCommodityCode parameter is set to iothub_senior.'."\n" ."\n" .'Valid values:'."\n" ."\n" .'* **0**: custom. A custom serial data format was used. In this case, the device can submit raw data, such as binary data streams. IoT Platform converts the raw data into standard Alink JSON data by using a specified data parsing script.'."\n" .'* **1**: Alink JSON. Alink JSON data is transmitted between the devices and IoT Platform. Alink is a data exchange protocol that is pre-defined by IoT Platform.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'DeviceCount' => ['description' => 'The number of devices in the product.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '128', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"4B4ECF2C-6222-42EC-A4B5-C12202E71CEA\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 2,\\n \\"Total\\": 184,\\n \\"PageCount\\": 92,\\n \\"List\\": {\\n \\"ProductInfo\\": [\\n {\\n \\"AuthType\\": \\"secret\\",\\n \\"ProductKey\\": \\"a1T27vz****\\",\\n \\"ProductName\\": \\"路灯\\",\\n \\"Description\\": \\"This is a test product.\\",\\n \\"NodeType\\": 0,\\n \\"GmtCreate\\": 1581595942000,\\n \\"DataFormat\\": 1,\\n \\"DeviceCount\\": 128\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', 'title' => 'QueryProductList', 'summary' => 'Queries all products.', 'description' => '## QPS limits'."\n" ."\n" .'* Each Alibaba Cloud account can run up to 50 queries per second (QPS).'."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the Alibaba Cloud account.'."\n" ."\n" .'* If the product of the value of the **CurrentPage** parameter and the value of the **PageSize** parameter is greater than or equal to 100,000, the QPS of this operation decreases.'."\n" ."\n" .' In this case, each Alibaba Cloud account can run up to 2 QPS.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryProductList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryProductTopic' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product.'."\n", 'type' => 'string', 'required' => true, 'example' => 'HMyB*******', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'B953EAFF-CFF6-4FF8-BC94-8B89F018E4DD', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'itemNode' => true, 'description' => '', 'type' => 'object', 'properties' => [ 'ProductTopicInfo' => [ 'description' => 'The list of topic category information returned when the call succeeds. For more information, see **ProductTopicInfo** below. ', 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Operation' => ['description' => 'The operation permission granted to devices on this topic category. Valid values: '."\n" .'- **0**: Publish '."\n" .'- **1**: Subscribe '."\n" .'- **2**: Publish and subscribe', 'type' => 'string', 'example' => '1', 'title' => ''], 'ProductKey' => ['description' => 'The **ProductKey** of the product. ', 'type' => 'string', 'example' => 'HMyB***', 'title' => ''], 'Codec' => ['description' => 'Indicates whether data compression or decompression is enabled for the custom topic. Valid values: '."\n" ."\n" .'- **compress**: Compresses data. '."\n" .'- **decompress**: Decompresses data. '."\n" ."\n" .'For more information about data compression, see [Data Compression](~~477405~~). ', 'type' => 'string', 'example' => 'compress', 'title' => ''], 'TopicShortName' => ['description' => 'The custom topic category of the product. ', 'type' => 'string', 'example' => '/HMyB***/${deviceName}/user/get', 'title' => ''], 'EnableProxySubscribe' => ['description' => 'Indicates whether proxy subscription is enabled. Valid values: '."\n" ."\n" .'- **true**: Enabled. '."\n" .'- **false**: Disabled. '."\n" ."\n" .'After proxy subscription is enabled, when a device establishes a connection with the IoT Platform, the IoT Platform queries the topics for which proxy subscription is enabled and helps the device complete the subscription. ', 'type' => 'boolean', 'example' => 'false', 'title' => ''], 'Id' => ['description' => 'The ID of the topic category. ', 'type' => 'string', 'example' => '821****', 'title' => ''], 'Desc' => ['description' => 'The description of the topic category. ', 'type' => 'string', 'example' => 'topicDesc', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"B953EAFF-CFF6-4FF8-BC94-8B89F018E4DD\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ProductTopicInfo\\": [\\n {\\n \\"Operation\\": \\"1\\",\\n \\"ProductKey\\": \\"HMyB***\\",\\n \\"Codec\\": \\"compress\\",\\n \\"TopicShortName\\": \\"/HMyB***/${deviceName}/user/get\\",\\n \\"EnableProxySubscribe\\": false,\\n \\"Id\\": \\"821****\\",\\n \\"Desc\\": \\"topicDesc\\"\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'Query custom topic categories of a specified product ', 'summary' => 'Invoke this API to query the custom topic categories of a specified product. ', 'description' => '## QPS Limit '."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 3. '."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. '."\n", 'requestParamsDescription' => 'When invoking the API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryProductTopic', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QueryProjectShareDeviceList' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'> If your instance has an ID, you must specify this parameter. Otherwise, the request fails. If no Overview page exists or no instance ID is displayed, you do not need to specify this parameter.'."\n" ."\n" .'For more information, see the [Overview](~~356505~~) topic of IoT instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'formData', 'schema' => ['description' => 'The number of entries per page. Valid values: 1 to 50. Default value: 20.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'formData', 'schema' => ['description' => 'The **ProductKey** of the product to which the devices belong.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV**** ', 'title' => ''], ], [ 'name' => 'PageId', 'in' => 'formData', 'schema' => ['description' => 'The page number. Valid values: 1 to 10000.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'formData', 'schema' => ['description' => 'The keyword in the DeviceName of the devices that you want to query. Fuzzy match is supported.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the request fails.'."\n", 'type' => 'string', 'example' => 'An internal error occurred. Try again later.', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '671D0F8F-FDC7-4B12-93FA-336C079C965A', 'title' => ''], 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The result of the request.'."\n", 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], 'PageId' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Total' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], 'DeviceList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'items' => [ 'description' => 'The information about devices that you queried.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ProductKey' => ['description' => 'The **ProductKey** of the product to which the device belongs.'."\n", 'type' => 'string', 'example' => 'a1BwAGV****', 'title' => ''], 'DeviceName' => ['description' => 'The DeviceName of the device.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], 'Sharable' => ['description' => 'Indicates whether the project was shared to the device.'."\n" ."\n" .'* **1**: The project was shared.'."\n" .'* **0**: The project failed to be shared.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], 'IotId' => ['description' => 'The ID of the device. The ID is the unique identifier that is issued by IoT Platform to the device.'."\n", 'type' => 'string', 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ['errorCode' => 'iot.soundcode.InvalidIotInstanceId', 'errorMessage' => 'invalid iot instance id', 'description' => 'invalid iot instance id'], ['errorCode' => 'iot.speech.InvalidIotProjectCode', 'errorMessage' => 'invalid project code', 'description' => ''], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"An internal error occurred. Try again later.\\",\\n \\"RequestId\\": \\"671D0F8F-FDC7-4B12-93FA-336C079C965A\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageSize\\": 20,\\n \\"PageId\\": 1,\\n \\"Total\\": 200,\\n \\"DeviceList\\": {\\n \\"items\\": [\\n {\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"DeviceName\\": \\"test\\",\\n \\"Sharable\\": 1,\\n \\"IotId\\": \\"Q7uOhVRdZRRlDnTLv****00100\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n671D0F8F-FDC7-4B12-93FA-336C079C965A\\n\\n 1\\n 20\\n 200\\n \\n \\n Q7uOhVRdZRRlDnTLv****00100\\n 1\\n a1BwAGV****\\n test\\n \\n \\n\\ntrue\\n","errorExample":""}]', 'title' => 'QueryProjectShareDeviceList', 'summary' => 'Queries the devices to which a project is shared.', 'description' => '## QPS limits'."\n" ."\n" .'You can call this API operation up to three times per second per account.'."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], ], 'QuerySceneRule' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. Do not pass this parameter for public instances; pass it for Enterprise instances.', 'example' => 'iot_instc_pu****_c*-v64********', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'RuleName', 'in' => 'query', 'schema' => ['description' => 'The name of the scene orchestration rule.', 'example' => 'test', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of records displayed per page in the return result. Maximum value: 30. Minimum value: 1. Default value: 10.', 'example' => '10', 'format' => 'int32', 'required' => true, 'type' => 'integer', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', 'schema' => ['description' => 'The page number from which to start displaying results. Minimum value: 1.', 'example' => '1', 'format' => 'int32', 'required' => true, 'type' => 'integer', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'properties' => [ 'Code' => ['description' => 'The return code of the API. "Success" indicates success; other values indicate error codes. For more information, see [error code](~~135200~~).', 'example' => 'Success', 'type' => 'string', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'example' => 'request parameter error', 'type' => 'string', 'title' => ''], 'RequestId' => ['description' => 'The Unique Identifier that Alibaba Cloud generates for this request. ', 'example' => 'D4C3331B-0FA8-4A05-AFE2-54F698EDEAF7', 'type' => 'string', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. true indicates success; false indicates failure.', 'example' => 'true', 'type' => 'boolean', 'title' => ''], 'Data' => [ 'description' => 'The Data returned when the request Succeeded. ', 'properties' => [ 'CurrentPage' => ['description' => 'The current page number.', 'example' => '1', 'format' => 'int32', 'type' => 'integer', 'title' => ''], 'PageSize' => ['description' => 'The number of records displayed per page in the return result.', 'example' => '10', 'format' => 'int32', 'type' => 'integer', 'title' => ''], 'Total' => ['description' => 'The total quantity of scene orchestration rules.', 'example' => '1', 'format' => 'int32', 'type' => 'integer', 'title' => ''], 'RuleList' => [ 'description' => 'The List of scene orchestration rules. ', 'items' => [ 'properties' => [ 'RuleStatus' => ['description' => 'The status of the scene orchestration rule in the cloud. '."\n" ."\n" .'- 0: Indicates stopped. '."\n" ."\n" .'- 1: Indicates started. ', 'example' => '1', 'format' => 'int32', 'type' => 'integer', 'title' => ''], 'GmtCreate' => ['description' => 'The Creation Time of the scene orchestration rule. ', 'example' => '1582004185000', 'format' => 'int64', 'type' => 'integer', 'title' => ''], 'GmtModified' => ['description' => 'The Time when the scene orchestration rule was last Updated. ', 'example' => '1582098176000', 'format' => 'int64', 'type' => 'integer', 'title' => ''], 'RuleDescription' => ['description' => 'The Description of the scene orchestration rule. ', 'example' => '测试', 'type' => 'string', 'title' => ''], 'RuleId' => ['description' => 'The ID of the scene orchestration rule. ', 'example' => 'f041397879ad4d89822811d741******', 'type' => 'string', 'title' => ''], 'RuleName' => ['description' => 'The Name of the scene orchestration rule. ', 'example' => 'test', 'type' => 'string', 'title' => ''], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], 'type' => 'array', 'title' => '', 'example' => '', ], ], 'type' => 'object', 'title' => '', 'example' => '', ], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"D4C3331B-0FA8-4A05-AFE2-54F698EDEAF7\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 10,\\n \\"Total\\": 1,\\n \\"RuleList\\": [\\n {\\n \\"RuleStatus\\": 1,\\n \\"GmtCreate\\": 1582004185000,\\n \\"GmtModified\\": 1582098176000,\\n \\"RuleDescription\\": \\"测试\\",\\n \\"RuleId\\": \\"f041397879ad4d89822811d741******\\",\\n \\"RuleName\\": \\"test\\"\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'Query the list of scene orchestration rules', 'summary' => 'Invoke this API to query the list of scene orchestration rules. ', 'description' => '## Condition '."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account when calling this API is 10. '."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. ', 'requestParamsDescription' => 'When invoking the API, in addition to the specific Request Parameters described in this topic, you must also pass the Common Request Parameters. For more information about common parameters, see [Common Request Parameters documentation](~~135196~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QuerySceneRule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySceneRule'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QuerySchedulePeriodList' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'Instance ID.You can view the **ID** of your current instance on the **Instance Overview** page in the IoT Platform console. '."\n" ."\n" .'> '."\n" .'- If an ID exists, you must specify it; otherwise, the invocation fails. '."\n" .'- If no ID exists, you do not need to specify it. '."\n" ."\n" .'> '."\n" ."\n" .'For more information about instances, see [How to obtain an instance ID](~~267533~~). ', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ScheduleCode', 'in' => 'formData', 'schema' => ['description' => 'UUID of the schedule. ', 'type' => 'string', 'required' => true, 'example' => 'Md3ZiTL888K9llXDy7890***********', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'formData', 'schema' => ['description' => 'The number of entries to return per page. Valid values: 1 to 50. Default value: 20. ', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '20', 'default' => '20', 'title' => ''], ], [ 'name' => 'PageId', 'in' => 'formData', 'schema' => ['description' => 'The number of the page to return in the result. Valid values: 1 to 10,000. Default value: 1. ', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10000', 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'Error code returned when the invocation fails. For more information, see [error codes](~~87387~~). '."\n", 'type' => 'string', 'example' => 'iot.soundcodeservice.NotSigned', 'title' => ''], 'ErrorMessage' => ['description' => 'Error message returned when the invocation fails. '."\n", 'type' => 'string', 'example' => 'sound code service has not been signed', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => '66FF51D3-***-49F1-B1A2-***', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" ."\n" .'- **true**: The invocation succeeded. '."\n" ."\n" .'- **false**: The invocation failed. ', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of time segments returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], 'Total' => ['description' => 'The total number of time segments returned by the query.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], 'PageId' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'List' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Items' => [ 'description' => 'The list of time segments.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'EndTime' => ['description' => 'The end time of the time segment.', 'type' => 'string', 'example' => '00:10', 'title' => ''], 'StartTime' => ['description' => 'The start time of the time segment.', 'type' => 'string', 'example' => '00:00', 'title' => ''], 'SoundCodeContent' => ['description' => 'Sound code parse content for the time segment. ', 'type' => 'string', 'example' => 'www.taobao.com', 'title' => ''], 'Description' => ['description' => 'The description of the time segment.', 'type' => 'string', 'example' => 'test', 'title' => ''], 'PeriodCode' => ['description' => 'UUID of the time segment. ', 'type' => 'string', 'example' => 'Md3ZiTL888K9llXDy7890***********', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.soundcode.InvalidParam', 'errorMessage' => 'invalid param', 'description' => 'invalid param'], ['errorCode' => 'iot.scheduleperiod.InvalidIotInstanceId', 'errorMessage' => 'invalid IotInstanceId', 'description' => ''], ], 403 => [ ['errorCode' => 'iot.soundcodeservice.NotSigned', 'errorMessage' => 'sound code service has not been signed', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageSize\\": 20,\\n \\"Total\\": 200,\\n \\"PageId\\": 1,\\n \\"List\\": {\\n \\"Items\\": [\\n {\\n \\"EndTime\\": \\"00:10\\",\\n \\"StartTime\\": \\"00:00\\",\\n \\"SoundCodeContent\\": \\"www.taobao.com\\",\\n \\"Description\\": \\"test\\",\\n \\"PeriodCode\\": \\"Md3ZiTL888K9llXDy7890***********\\"\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', 'title' => 'QuerySchedulePeriodList ', 'summary' => 'Invoke this API to query the list of audio code scheduling time segments.', 'description' => '## Queries per second (QPS) limit '."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 10. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking the API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters Documentation](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QuerySchedulePeriodList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySchedulePeriodList'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QueryShareProductNameByProductKey' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'ShareTaskCode', 'in' => 'formData', 'schema' => ['description' => 'The share code of the sharing task.'."\n" ."\n" .'For more information about the share code of a sharing task, see [Broadcast shared phrases on shared devices](~~607661~~).', 'type' => 'string', 'required' => true, 'example' => '52******_7**e_4**3_9**e_61**********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'formData', 'schema' => ['description' => 'The **ProductKey** of the product to which the shared device belongs.', 'type' => 'string', 'required' => true, 'example' => 'a2YwD2****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The status code of the invocation result:'."\n" .'- If the invocation succeeded, an empty value is returned.'."\n" .'- If the invocation failed, an error code is returned. For more information, see **Error codes** below.', 'type' => 'string', 'example' => 'iot.speech.InvalidIotInstanceId', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation failed.', 'type' => 'string', 'example' => 'Invalid instance ID.', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generated for this request.', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ 'ProductName' => ['description' => 'The name of the product.', 'type' => 'string', 'example' => '播报音响', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.speech.InvalidIotInstanceId', 'errorMessage' => 'Invalid instance ID.', 'description' => 'Invalid instance ID.'], ['errorCode' => 'iot.check.InvalidFormattedParameter', 'errorMessage' => 'The parameter format is invalid.', 'description' => 'The parameter format is invalid.'], ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.speech.InvalidIotInstanceId\\",\\n \\"ErrorMessage\\": \\"Invalid instance ID.\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ProductName\\": \\"播报音响\\"\\n }\\n}","type":"json"}]', 'title' => 'QueryShareProductNameByProductKey', 'summary' => 'Invoke this API to query the name of the product to which a shared device belongs in a sharing task by using the ProductKey of the product.', 'description' => '## Queries per second (QPS) limit'."\n" ."\n" .'Each Alibaba Cloud account can send up to 5 queries per second (QPS) to invoke this API.'."\n" ."\n" .'> All Resource Access Management (RAM) users under an Alibaba Cloud account share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When you invoke this API, you must specify both the common request parameters and the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QueryShareProductNameByProductKey', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryShareProductNameByProductKey'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QuerySharePromotionActivityAuditResult' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'SharePromotionActivityId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the promotional activity. '."\n" ."\n" .'This value is returned in the **Data** field of the response from the **CreateSharePromotionActivity** API. ', 'type' => 'string', 'required' => true, 'example' => '61******_****_4901_****_47***********', 'title' => ''], ], [ 'name' => 'ShareTaskCode', 'in' => 'formData', 'schema' => ['description' => 'The share code of the sharing job. '."\n" ."\n" .'For information about the share code of a sharing job, see [Use shared devices to broadcast shared audio content](~~607661~~). ', 'type' => 'string', 'required' => true, 'example' => '52******_7**e_4**3_9**e_61**********', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID. You can view the ID of the current instance on the **Instance Overview** tab in the IoT Platform console. '."\n" ."\n" .'> '."\n" .'- If an ID exists, you must specify this **ID**. Otherwise, the invocation fails. '."\n" .'- If no ID exists, you do not need to specify this parameter. '."\n" ."\n" .'> '."\n" ."\n" .'For more information about instances, see [Overview](~~356505~~). ', 'type' => 'string', 'required' => false, 'example' => 'iot-cv3********', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The status code of the invocation result: '."\n" .'- If the invocation succeeds, an empty value is returned. '."\n" .'- If the invocation fails, an error code is returned. For more information, see **error code** below. ', 'type' => 'string', 'example' => 'iot.speech.InvalidIotInstanceId', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails. ', 'type' => 'string', 'example' => 'Invalid instance ID.', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request. ', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: The invocation failed. ', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The review result data returned after a successful invocation. ', 'type' => 'object', 'properties' => [ 'AuditResult' => ['description' => 'The review result. '."\n" ."\n" .'- **1**: Pending review. '."\n" .'- **2**: Pass. '."\n" .'- **3**: Deny. ', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.speech.InvalidIotInstanceId', 'errorMessage' => 'Invalid instance ID.', 'description' => 'Invalid instance ID.'], ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ['errorCode' => 'iot.check.InvalidFormattedParameter', 'errorMessage' => 'The parameter format is invalid.', 'description' => 'The parameter format is invalid.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.speech.InvalidIotInstanceId\\",\\n \\"ErrorMessage\\": \\"Invalid instance ID.\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"AuditResult\\": 2\\n }\\n}","type":"json"}]', 'title' => 'QuerySharePromotionActivityAuditResult ', 'summary' => 'Invoke this API to query the review result of a promotional activity for the Qianli Chuanyin sharing job. ', 'description' => '## How-To '."\n" .'For detailed instructions on using promotional activities, see the **How-To** section in the documentation for the **CreateSharePromotionActivity** API. '."\n" ."\n" .'## queries per second (QPS) Limit '."\n" ."\n" .'The maximum queries per second (QPS) limit for this API is 20 per Alibaba Cloud account. '."\n" ."\n" .'> All Resource Access Management (RAM) users under an Alibaba Cloud account share the quota of that Alibaba Cloud account. ', 'requestParamsDescription' => 'When calling this API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySharePromotionActivityAuditResult'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QueryShareTaskDeviceList' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'ShareTaskId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the sharing task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'Md3ZiTL888K9llXDy7890***********', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'> If your instance has an ID, you must specify this parameter. Otherwise, the request fails. If no Overview page exists or no instance ID is displayed, you do not need to specify this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~) of IoT instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot-e3***', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'formData', 'schema' => ['description' => 'The number of entries per page. Valid values: 1 to 50. Default value: 20.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], ], [ 'name' => 'PageId', 'in' => 'formData', 'schema' => ['description' => 'The page number. Valid values: 1 to 10000.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'formData', 'schema' => ['description' => 'The keyword in the DeviceName of the device that you want to query. Fuzzy match is supported.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the request fails.'."\n", 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The result of the request.'."\n", 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], 'PageId' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Total' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], 'DeviceList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'items' => [ 'description' => 'The devices in the sharing task.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ProductKey' => ['description' => 'The **ProductKey** of the product to which the device belongs.'."\n", 'type' => 'string', 'example' => 'a1BwAGV****', 'title' => ''], 'GmtAdded' => ['description' => 'The time when the device was added to the sharing task.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1620624606000', 'title' => ''], 'DeviceName' => ['description' => 'The DeviceName of the device.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], 'IotId' => ['description' => 'The ID of the device. The ID is the unique identifier that is issued by IoT Platform to the device.'."\n", 'type' => 'string', 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'RequestParamError', 'errorMessage' => 'The request params error.', 'description' => ''], ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ['errorCode' => 'iot.soundcode.InvalidIotInstanceId', 'errorMessage' => 'invalid iot instance id', 'description' => 'invalid iot instance id'], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageSize\\": 20,\\n \\"PageId\\": 1,\\n \\"Total\\": 200,\\n \\"DeviceList\\": {\\n \\"items\\": [\\n {\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"GmtAdded\\": 1620624606000,\\n \\"DeviceName\\": \\"test\\",\\n \\"IotId\\": \\"Q7uOhVRdZRRlDnTLv****00100\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"\\nE55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\n\\n 1\\n 20\\n 200\\n \\n \\n Q7uOhVRdZRRlDnTLv****00100\\n 1620624606000\\n a1BwAGV****\\n test\\n \\n \\n\\ntrue\\n","errorExample":""}]', 'title' => 'QueryShareTaskDeviceList', 'summary' => 'Queries the devices in a sharing task.', 'description' => '## QPS limits'."\n" ."\n" .'You can call this API operation up to three times per second per account.'."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QueryShareTaskDeviceList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QuerySolutionDeviceGroupPage' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID.'."\n" ."\n" .'You must specify the instance ID. Otherwise, the invocation fails. You can view your instance ID on the **Instance Overview** page in the IoT Platform console.'."\n" .'>'."\n" .'If your public instance does not have an ID, see [How to Obtain an Instance ID](~~267533~~).'."\n" .'>', 'example' => 'iot_instc_pu****_c*-v64********', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'ProjectCode', 'in' => 'query', 'schema' => ['description' => 'The project ID, which is the unique identifier of the project. You can obtain the project ID from the [Project Management Console](https://iot.console.aliyun.com/things-service/projects).', 'example' => '4de2c367****8c585e5992**', 'required' => true, 'type' => 'string', 'title' => ''], ], [ 'name' => 'FuzzyGroupName', 'in' => 'query', 'schema' => ['description' => 'The group name for fuzzy query.', 'example' => 'test', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The maximum number of entries to return per page. Valid values: 1 to 50. Default value: 20.', 'example' => '20', 'format' => 'int32', 'maximum' => '100', 'minimum' => '1', 'required' => true, 'type' => 'integer', 'title' => ''], ], [ 'name' => 'PageId', 'in' => 'query', 'schema' => ['description' => 'The current page number, starting from 1. Maximum value: 10000.', 'example' => '1', 'format' => 'int32', 'maximum' => '10000', 'minimum' => '1', 'required' => true, 'type' => 'integer', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).', 'example' => 'iot.tcloud.ProjectNotFound', 'type' => 'string', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.'."\n", 'example' => 'project not found', 'type' => 'string', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request. ', 'example' => '66FF51D3-***-49F1-B1A2-***', 'type' => 'string', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" ."\n" .'- **true**: The invocation succeeded.'."\n" ."\n" .'- **false**: The invocation failed.'."\n", 'example' => 'true', 'type' => 'boolean', 'title' => ''], 'Data' => [ 'description' => 'The returned group list. ', 'properties' => [ 'PageSize' => ['description' => 'The number of groups returned per page. '."\n", 'example' => '20', 'format' => 'int32', 'type' => 'integer', 'title' => ''], 'PageId' => ['description' => 'The current page number, starting from 1. '."\n", 'example' => '1', 'format' => 'int32', 'type' => 'integer', 'title' => ''], 'Total' => ['description' => 'The total number of data entries returned by the query. '."\n", 'example' => '100', 'format' => 'int32', 'type' => 'integer', 'title' => ''], 'List' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'itemName' => [ 'description' => 'Group list data.', 'type' => 'array', 'items' => [ 'properties' => [ 'GroupId' => ['description' => 'The group ID.', 'example' => '4de2c367****8c585e5992** ', 'type' => 'string', 'title' => ''], 'GroupName' => ['description' => 'Group Name.'."\n", 'example' => 'test***', 'type' => 'string', 'title' => ''], 'GmtCreate' => ['description' => 'The creation time of the group.'."\n", 'example' => '1356565656', 'format' => 'int64', 'type' => 'integer', 'title' => ''], 'GmtModified' => ['description' => 'The time when the group was last modified.', 'example' => '1357865658', 'format' => 'int64', 'type' => 'integer', 'title' => ''], 'GroupDesc' => ['description' => 'Group description.', 'example' => 'description', 'type' => 'string', 'title' => ''], 'DeviceCount' => ['description' => 'The number of devices in the group.'."\n", 'example' => '100', 'format' => 'int64', 'type' => 'integer', 'title' => ''], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'type' => 'object', 'title' => '', 'example' => '', ], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.tcloud.ProjectNotFound\\",\\n \\"ErrorMessage\\": \\"project not found\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageSize\\": 20,\\n \\"PageId\\": 1,\\n \\"Total\\": 100,\\n \\"List\\": {\\n \\"itemName\\": [\\n {\\n \\"GroupId\\": \\"4de2c367****8c585e5992** \\",\\n \\"GroupName\\": \\"test***\\",\\n \\"GmtCreate\\": 1356565656,\\n \\"GmtModified\\": 1357865658,\\n \\"GroupDesc\\": \\"description\\",\\n \\"DeviceCount\\": 100\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', 'title' => 'Query the list of project groups', 'summary' => 'Query the group list under the specified project. ', 'requestParamsDescription' => 'When invoking the API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters Documentation](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QuerySolutionDeviceGroupPage', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySolutionDeviceGroupPage'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QuerySoundCodeLabelBatchFailedResult' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'BatchCode', 'in' => 'formData', 'schema' => ['description' => 'UUID of the batch.', 'example' => 'Md3ZiTL888K9llXDy7890***********', 'required' => true, 'type' => 'string', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID.You can view the **ID** of your current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If your instance has an ID, you must specify this parameter. Otherwise, the invocation fails.'."\n" .'- If your instance does not have an ID, you do not need to specify this parameter.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [How to obtain an instance ID](~~267533~~).'."\n", 'example' => 'iot_instc_pu****_c*-v64********', 'required' => false, 'type' => 'string', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).'."\n", 'example' => 'iot.soundcodeservice.NotSigned', 'type' => 'string', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.'."\n", 'example' => 'sound code service has not been signed', 'type' => 'string', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.'."\n", 'example' => '66FF51D3-***-49F1-B1A2-***', 'type' => 'string', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" ."\n" .'- **true**: The invocation succeeded.'."\n" ."\n" .'- **false**: The invocation failed.'."\n", 'example' => 'true', 'type' => 'boolean', 'title' => ''], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Items' => [ 'description' => 'The list of sound code labels that failed in the batch.', 'type' => 'array', 'items' => [ 'properties' => [ 'ResultCode' => ['description' => 'The error code.', 'example' => '7541', 'type' => 'string', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message.', 'example' => 'sound code label exist', 'type' => 'string', 'title' => ''], 'Label' => ['description' => 'The label.', 'example' => 'test', 'type' => 'string', 'title' => ''], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.soundcode.InvalidParam', 'errorMessage' => 'invalid param', 'description' => 'invalid param'], ['errorCode' => 'iot.soundcode.InvalidIotInstanceId', 'errorMessage' => 'invalid iot instance id', 'description' => 'invalid iot instance id'], ], 403 => [ ['errorCode' => 'iot.soundcodeservice.NotSigned', 'errorMessage' => 'sound code service has not been signed', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Items\\": [\\n {\\n \\"ResultCode\\": \\"7541\\",\\n \\"ErrorMessage\\": \\"sound code label exist\\",\\n \\"Label\\": \\"test\\"\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'QuerySoundCodeLabelBatchFailedResult'."\n", 'summary' => 'Invokes this API operation to query the list of sound code labels that failed to be created in a specified sound code label batch.'."\n", 'description' => '## Queries per second (QPS) limit'."\n" ."\n" .'Each Alibaba Cloud account can send up to 1 request per second (QPS) to call this API operation.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When you call this API operation, you must specify both the common request parameters and the operation-specific request parameters described in this topic. For more information about common request parameters, see [Common Request Parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QuerySoundCodeLabelBatchFailedResult', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySoundCodeLabelBatchFailedResult'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QuerySoundCodeLabelBatchList' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify this **ID**; otherwise, the invocation fails.'."\n" .'- If the **Instance Overview** page or **ID** does not exist, this parameter is not required.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ScheduleCode', 'in' => 'formData', 'schema' => ['description' => 'The UUID of the schedule.', 'type' => 'string', 'required' => true, 'example' => 'Md3ZiTL888K9llXDy7890***********', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'formData', 'schema' => ['description' => 'Specifies the number of entries per page in the returned results. Valid values: 1 to 50. Default value: 20.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '20', 'default' => '20', 'title' => ''], ], [ 'name' => 'PageId', 'in' => 'formData', 'schema' => ['description' => 'Specifies the page number of the returned results to display. Valid values: 1 to 10,000. Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10000', 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [error codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.soundcodeservice.NotSigned', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => 'sound code service has not been signed', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => '66FF51D3-***-49F1-B1A2-***', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" ."\n" .'- **true**: The invocation succeeded.'."\n" ."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'Returned data.', 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of segments returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], 'Total' => ['description' => 'The total number of segments returned by the query.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], 'PageId' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'List' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Items' => [ 'description' => 'The batch list.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The batch status.'."\n" ."\n" .'- **RUNNING**: running.'."\n" .'- **SUCCESS**: Succeeded.'."\n" .'- **PARTIAL_FAILED**: Partially succeeded.'."\n" .'- **INTERRUPT**: break.', 'type' => 'string', 'example' => 'RUNNING', 'title' => ''], 'Description' => ['description' => 'The batch description.', 'type' => 'string', 'example' => 'test', 'title' => ''], 'BatchCode' => ['description' => 'The UUID of the batch.', 'type' => 'string', 'example' => 'Md3ZiTL888K9llXDy7890***********', 'title' => ''], 'GmtCreate' => ['description' => 'The batch creation time.', 'type' => 'integer', 'format' => 'int64', 'example' => '1620634297000', 'title' => ''], 'SuccessNum' => ['description' => 'The number of successfully created items.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Total' => ['description' => 'The total quantity of items created in the batch.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.soundcode.InvalidParam', 'errorMessage' => 'invalid param', 'description' => 'invalid param'], ['errorCode' => 'iot.soundcode.InvalidIotInstanceId', 'errorMessage' => 'invalid iot instance id', 'description' => 'invalid iot instance id'], ], 403 => [ ['errorCode' => 'iot.soundcodeservice.NotSigned', 'errorMessage' => 'sound code service has not been signed', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageSize\\": 20,\\n \\"Total\\": 200,\\n \\"PageId\\": 1,\\n \\"List\\": {\\n \\"Items\\": [\\n {\\n \\"Status\\": \\"RUNNING\\",\\n \\"Description\\": \\"test\\",\\n \\"BatchCode\\": \\"Md3ZiTL888K9llXDy7890***********\\",\\n \\"GmtCreate\\": 1620634297000,\\n \\"SuccessNum\\": 1,\\n \\"Total\\": 20\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', 'title' => 'QuerySoundCodeLabelBatchList', 'summary' => 'Invoke this API to query the list of voice label batches for a specified schedule.', 'description' => '## QPS limit'."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 10.'."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters document](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QuerySoundCodeLabelBatchList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySoundCodeLabelBatchList'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QuerySoundCodeLabelList' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID.You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify this parameter. Otherwise, the invocation will fail.'."\n" .'- If no ID exists, you do not need to specify this parameter.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [How to obtain an instance ID](~~267533~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ScheduleCode', 'in' => 'formData', 'schema' => ['description' => 'The UUID of the schedule.', 'type' => 'string', 'required' => true, 'example' => 'Md3ZiTL888K9llXDy7890***********', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'formData', 'schema' => ['description' => 'Specifies the number of entries to return per page. Valid values: 1 to 50. Default value: 20.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '20', 'default' => '20', 'title' => ''], ], [ 'name' => 'PageId', 'in' => 'formData', 'schema' => ['description' => 'Specifies the page number of the returned results to display. Valid values: 1 to 10,000. Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10000', 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation failed. For more information, see [error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.soundcodeservice.NotSigned', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation failed.'."\n", 'type' => 'string', 'example' => 'sound code service has not been signed', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => '66FF51D3-***-49F1-B1A2-***', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" ."\n" .'- **true**: The invocation succeeded.'."\n" ."\n" .'- **false**: Failed to invoke.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'Returned data.', 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of time segments returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], 'Total' => ['description' => 'The total number of time segments returned by the query.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], 'PageId' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'List' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Items' => [ 'description' => 'The list of sound code labels.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Label' => ['description' => 'The label.', 'type' => 'string', 'example' => 'test', 'title' => ''], 'SoundCode' => ['description' => 'The unique identifier of the sound code.', 'type' => 'string', 'example' => 'Md3ZiTL888K9llXDy7890***********', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.soundcode.InvalidParam', 'errorMessage' => 'invalid param', 'description' => 'invalid param'], ['errorCode' => 'iot.soundcode.InvalidIotInstanceId', 'errorMessage' => 'invalid iot instance id', 'description' => 'invalid iot instance id'], ], 403 => [ ['errorCode' => 'iot.soundcodeservice.NotSigned', 'errorMessage' => 'sound code service has not been signed', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageSize\\": 20,\\n \\"Total\\": 200,\\n \\"PageId\\": 1,\\n \\"List\\": {\\n \\"Items\\": [\\n {\\n \\"Label\\": \\"test\\",\\n \\"SoundCode\\": \\"Md3ZiTL888K9llXDy7890***********\\"\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', 'title' => 'QuerySoundCodeLabelList', 'summary' => 'Invoke this API to query the list of sound code labels for a specified schedule.', 'description' => '## Queries per second (QPS) limit '."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 10. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking the API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters document](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QuerySoundCodeLabelList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySoundCodeLabelList'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QuerySoundCodeList' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'Instance ID.You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console. '."\n" ."\n" .'> '."\n" .'- If an instance ID exists, you must specify this parameter. Otherwise, the invocation fails. '."\n" .'- If no instance ID exists, you do not need to specify this parameter. '."\n" ."\n" .'> '."\n" ."\n" .'For more information about instances, see [How to obtain an instance ID](~~267533~~). ', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'formData', 'schema' => ['description' => 'The number of entries to return per page. Valid values: 1 to 50. Default value: 20. '."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '20', 'default' => '20', 'title' => ''], ], [ 'name' => 'PageId', 'in' => 'formData', 'schema' => ['description' => 'The number of the page to return in the result. Valid values: 1 to 10,000. Default value: 1. ', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10000', 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'Error code returned when the invocation fails. For more information, see [error codes](~~87387~~). '."\n", 'type' => 'string', 'example' => 'iot.soundcodeservice.NotSigned', 'title' => ''], 'ErrorMessage' => ['description' => 'Error message returned when the invocation fails. '."\n", 'type' => 'string', 'example' => 'sound code service has not been signed', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request. ', 'type' => 'string', 'example' => '66FF51D3-***-49F1-B1A2-***', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" ."\n" .'- **true**: The invocation succeeded. '."\n" ."\n" .'- **false**: The invocation failed. ', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The returned data. ', 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of corpus entries returned per page. '."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], 'Total' => ['description' => 'The total number of corpus entries returned by the query. '."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], 'PageId' => ['description' => 'The current page number. ', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'List' => [ 'itemNode' => true, 'description' => '', 'type' => 'object', 'properties' => [ 'Items' => [ 'description' => 'The list of audio codes. ', 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'OpenType' => ['description' => 'The scheduling openness type. '."\n" ."\n" .'- Internal (default): The value is **INNER**. Only devices under the same instance as the schedule can request audio code decoding. '."\n" ."\n" .'- Public: The value is **OPEN**. You can configure a whitelist via email to allow devices from other instances to request audio code decoding. Usage for cross-instance decoding is billed to the instance where the audio code resides. ', 'type' => 'string', 'example' => 'OPEN', 'title' => ''], 'GmtCreate' => ['description' => 'The creation time of the audio code. ', 'type' => 'integer', 'format' => 'int64', 'example' => '1620634297000', 'title' => ''], 'Duration' => ['description' => 'The duration of the audio code. ', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'SoundCodeContent' => ['description' => 'Sound code marketing content. ', 'type' => 'string', 'example' => 'www.taobao.com', 'title' => ''], 'Name' => ['description' => 'Name of the sound code. ', 'type' => 'string', 'example' => 'test1', 'title' => ''], 'SoundCode' => ['description' => 'UUID of the sound code. ', 'type' => 'string', 'example' => 'Md3ZiTL888K9llXDy7890***********', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.soundcode.InvalidIotInstanceId', 'errorMessage' => 'invalid iot instance id', 'description' => 'invalid iot instance id'], ['errorCode' => 'iot.soundcode.InvalidParam', 'errorMessage' => 'invalid param', 'description' => 'invalid param'], ], 403 => [ ['errorCode' => 'iot.soundcodeservice.NotSigned', 'errorMessage' => 'sound code service has not been signed', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageSize\\": 20,\\n \\"Total\\": 100,\\n \\"PageId\\": 1,\\n \\"List\\": {\\n \\"Items\\": [\\n {\\n \\"OpenType\\": \\"OPEN\\",\\n \\"GmtCreate\\": 1620634297000,\\n \\"Duration\\": 2,\\n \\"SoundCodeContent\\": \\"www.taobao.com\\",\\n \\"Name\\": \\"test1\\",\\n \\"SoundCode\\": \\"Md3ZiTL888K9llXDy7890***********\\"\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', 'title' => 'QuerySoundCodeList ', 'summary' => 'Invoke this API to query the list of voice codes. ', 'description' => '## Queries per second (QPS) limit '."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account when invoking this API is 10. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. ', 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters documentation](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QuerySoundCodeList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySoundCodeList'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QuerySoundCodeScheduleList' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID.You can view the **ID** of your current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an instance ID exists, you must specify this parameter. Otherwise, the invocation will fail.'."\n" .'- If no instance ID exists, you do not need to specify this parameter.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [How to Obtain an Instance ID](~~267533~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'formData', 'schema' => ['description' => 'Specifies the number of entries to return per page. Valid values: 1 to 50. Default value: 20.'."\n" ."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '1', 'default' => '20', 'title' => ''], ], [ 'name' => 'PageId', 'in' => 'formData', 'schema' => ['description' => 'Specifies the page number of the return result to display. Valid values: 1 to 10,000. Default value: 1.'."\n" ."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10000', 'minimum' => '1', 'example' => '20', 'default' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'Error code returned when the invocation fails. For more information, see [error codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.soundcodeservice.NotSigned', 'title' => ''], 'ErrorMessage' => ['description' => 'Error message returned when the invocation fails.'."\n", 'type' => 'string', 'example' => 'sound code service has not been signed', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => '66FF51D3-***-49F1-B1A2-***', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" ."\n" .'- **true**: The invocation succeeded.'."\n" ."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'Returned data.', 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of schedules returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], 'Total' => ['description' => 'The total number of schedules returned by the query.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], 'PageId' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'List' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Items' => [ 'description' => 'The schedule list.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'OpenType' => ['description' => 'The schedule openness type.'."\n" ."\n" .'- Internal (default): The value is **INNER**, which allows only devices under the same instance as the schedule to request acoustic code decoding.'."\n" ."\n" .'- Public: The value is **OPEN**, which allows cross-instance devices to request acoustic code decoding by configuring a whitelist via email. Usage for cross-instance decoding is billed to the instance where the acoustic code resides.', 'type' => 'string', 'example' => 'INNER', 'title' => ''], 'EndTime' => ['description' => 'Daily end time of the schedule.', 'type' => 'string', 'example' => '23:59', 'title' => ''], 'Status' => ['description' => 'The schedule status.', 'type' => 'string', 'example' => 'WORKING', 'title' => ''], 'StartTime' => ['description' => 'Daily start time of the schedule.', 'type' => 'string', 'example' => '00:00', 'title' => ''], 'EndDate' => ['description' => 'End date of the schedule.', 'type' => 'string', 'example' => '2022-03-28', 'title' => ''], 'Description' => ['description' => 'Schedule Description.', 'type' => 'string', 'example' => 'test', 'title' => ''], 'ScheduleCode' => ['description' => 'UUID of the schedule.', 'type' => 'string', 'example' => 'Md3ZiTL888K9llXDy7890***********', 'title' => ''], 'GmtCreate' => ['description' => 'Schedule Creation Time.', 'type' => 'integer', 'format' => 'int64', 'example' => '1620634297000', 'title' => ''], 'StartDate' => ['description' => 'The start working date of the schedule.', 'type' => 'string', 'example' => '2022-03-28', 'title' => ''], 'Name' => ['description' => 'Schedule Name.', 'type' => 'string', 'example' => 'test', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.soundcodeschedule.InvalidIotInstanceId', 'errorMessage' => 'invalid schedule IotInstanceId', 'description' => ''], ['errorCode' => 'iot.soundcode.InvalidParam', 'errorMessage' => 'invalid param', 'description' => 'invalid param'], ], 403 => [ ['errorCode' => 'iot.soundcodeservice.NotSigned', 'errorMessage' => 'sound code service has not been signed', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageSize\\": 20,\\n \\"Total\\": 100,\\n \\"PageId\\": 1,\\n \\"List\\": {\\n \\"Items\\": [\\n {\\n \\"OpenType\\": \\"INNER\\",\\n \\"EndTime\\": \\"23:59\\",\\n \\"Status\\": \\"WORKING\\",\\n \\"StartTime\\": \\"00:00\\",\\n \\"EndDate\\": \\"2022-03-28\\",\\n \\"Description\\": \\"test\\",\\n \\"ScheduleCode\\": \\"Md3ZiTL888K9llXDy7890***********\\",\\n \\"GmtCreate\\": 1620634297000,\\n \\"StartDate\\": \\"2022-03-28\\",\\n \\"Name\\": \\"test\\"\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', 'title' => 'QuerySoundCodeScheduleList', 'summary' => 'Invoke this API to query the acoustic code scheduling list.', 'description' => '## Queries per second (QPS) limit '."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 10. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling the API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters Documentation](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QuerySoundCodeScheduleList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySoundCodeScheduleList'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QuerySpeech' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'SpeechCode', 'in' => 'formData', 'schema' => ['description' => 'Corpus ID. This is the value returned in the **Data** field after a successful call to [CreateSpeech](~~217571~~). '."\n", 'type' => 'string', 'required' => true, 'example' => '4de2c367****8c585e5992** ', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'Instance ID. '."\n" ."\n" .'You must specify an instance ID; otherwise, the invocation will fail. You can view your instance ID on the **Instance Overview** page in the IoT Platform console. '."\n" .'> '."\n" .'If your public instance does not have an ID, see [How to obtain an instance ID](~~267533~~). '."\n" .'> ', 'type' => 'string', 'required' => false, 'example' => ' iot_instc_pu****_c*-v64********', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [error codes](~~87387~~). '."\n", 'type' => 'string', 'example' => 'iot.speechsolution.NotSigned', 'title' => ''], 'ErrorMessage' => ['description' => 'The error code returned when the invocation fails. For more information, see [error codes](~~87387~~). '."\n", 'type' => 'string', 'example' => 'speech solution has not been signed', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => '66FF51D3-***-49F1-B1A2-***', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" ."\n" .'- **true**: The invocation succeeded. '."\n" ."\n" .'- **false**: The invocation failed. ', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'Corpus details.', 'type' => 'object', 'properties' => [ 'Voice' => ['description' => 'Voice for corpus playback. ', 'type' => 'string', 'example' => 'Siyue', 'title' => ''], 'BizCode' => ['description' => 'Corpus identity. When a device invokes multiple corpora for combined playback, this identity is used to specify which corpus to play. '."\n", 'type' => 'string', 'example' => 'identifying', 'title' => ''], 'SpeechCode' => ['description' => 'Corpus ID.'."\n", 'type' => 'string', 'example' => '4de2c367****8c585e5992** ', 'title' => ''], 'SpeechType' => ['description' => 'Corpus type, which can be either custom or common.', 'type' => 'string', 'example' => 'custom', 'title' => ''], 'Text' => ['description' => 'Corpus content.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], 'SpeechRate' => ['description' => 'Playback speed. '."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'Volume' => ['description' => 'Volume level.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], 'AudioFormat' => ['description' => 'Audio format. Only **wav**, **mp3**, and **amr** formats are supported.', 'type' => 'string', 'example' => 'wav', 'title' => ''], 'EnableSoundCode' => ['description' => 'Indicates whether the sound code is enabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'SoundCodeConfig' => [ 'description' => 'Sound code configuration.', 'type' => 'object', 'properties' => [ 'AdditionalDuration' => ['description' => 'The sound code playback duration after the corpus playback ends, in seconds. Valid values range from 1 to 15.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], 'SoundCodeContent' => ['description' => 'Marketing content of the sound code, such as the product detail URL.', 'type' => 'string', 'example' => 'www.taobao.com', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.speechsolution.NotSigned\\",\\n \\"ErrorMessage\\": \\"speech solution has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Voice\\": \\"Siyue\\",\\n \\"BizCode\\": \\"identifying\\",\\n \\"SpeechCode\\": \\"4de2c367****8c585e5992** \\",\\n \\"SpeechType\\": \\"custom\\",\\n \\"Text\\": \\"test\\",\\n \\"SpeechRate\\": 0,\\n \\"Volume\\": 50,\\n \\"AudioFormat\\": \\"wav\\",\\n \\"EnableSoundCode\\": true,\\n \\"SoundCodeConfig\\": {\\n \\"AdditionalDuration\\": 3,\\n \\"SoundCodeContent\\": \\"www.taobao.com\\"\\n }\\n }\\n}","type":"json"}]', 'title' => 'QuerySpeech ', 'summary' => 'Invoke this API to query corpus details, including the playback voice, corpus type, and volume level.'."\n", 'requestParamsDescription' => 'When invoking the API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters Documentation](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QuerySpeech', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySpeech'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QuerySpeechDevice' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'Instance ID. '."\n" ."\n" .'You must specify an instance ID. Otherwise, the invocation fails. You can view your instance ID on the **Instance Overview** page in the IoT Platform console. '."\n" .'> '."\n" .'If your public instance does not have an ID, see [How to Obtain an Instance ID](~~267533~~). '."\n" .'> '."\n", 'example' => 'iot_instc_pu****_c*-v64********', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'ProjectCode', 'in' => 'formData', 'schema' => ['description' => 'Project ID, which is the unique identifier of the project. You can obtain the project ID from the [Project Management Console](https://iot.console.aliyun.com/things-service/projects). ', 'example' => '4de2c367****8c585e5992**', 'required' => true, 'type' => 'string', 'title' => ''], ], [ 'name' => 'AvailableSpace', 'in' => 'formData', 'schema' => ['description' => 'The free space of the device, in KB. The value can be any positive number. '."\n" .'> The **AvailableSpaceScope** field must be specified together for this parameter to take effect. ', 'example' => '500', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'AvailableSpaceScope', 'in' => 'formData', 'schema' => ['description' => 'The query condition for device free space. '."\n" ."\n" .'- **greater**: Greater than. '."\n" .'- **smaller**: Smaller than. '."\n" .'- **equal**: Equal to. '."\n" ."\n" .'Sample: If **AvailableSpace** is set to **500** and **AvailableSpaceScope** is set to **smaller**, the system returns a list of devices whose free space is smaller than 500 KB. ', 'example' => 'smaller', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'formData', 'schema' => ['description' => 'The maximum number of entries to return per page. Valid values: 1 to 50. Default value: 20. ', 'example' => '20', 'format' => 'int32', 'maximum' => '50', 'minimum' => '1', 'required' => false, 'type' => 'integer', 'default' => '20', 'title' => ''], ], [ 'name' => 'PageId', 'in' => 'formData', 'schema' => ['description' => 'The current page number, starting from 1. Maximum value: 10000. ', 'example' => '1', 'format' => 'int32', 'maximum' => '10000', 'minimum' => '1', 'required' => false, 'type' => 'integer', 'default' => '1', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'formData', 'schema' => ['description' => 'The device name query condition, which supports leftmost prefix matching. ', 'example' => 'test', 'required' => false, 'type' => 'string', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~). ', 'example' => 'iot.system.SystemException', 'type' => 'string', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails. ', 'example' => 'speech solution has not been signed', 'type' => 'string', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generated for this request.', 'example' => 'AF71BF1D-B552-47CD-B34B-352557627992', 'type' => 'string', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" ."\n" .'- **true**: The invocation succeeded. '."\n" ."\n" .'- **false**: The invocation failed. ', 'example' => 'true', 'type' => 'boolean', 'title' => ''], 'Data' => [ 'description' => 'The query result.', 'properties' => [ 'PageSize' => ['description' => 'The number of data entries returned per page.', 'example' => '20', 'format' => 'int32', 'type' => 'integer', 'title' => ''], 'Total' => ['description' => 'The total number of returned data entries.', 'example' => '200', 'format' => 'int32', 'type' => 'integer', 'title' => ''], 'PageId' => ['description' => 'The current page number.', 'example' => '1', 'format' => 'int32', 'type' => 'integer', 'title' => ''], 'List' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Items' => [ 'description' => 'The returned device list.', 'type' => 'array', 'items' => [ 'properties' => [ 'ProductKey' => ['description' => 'The ProductKey of the product to which the device belongs.', 'example' => 'a1BwAGV****', 'type' => 'string', 'title' => ''], 'AvailableSpace' => ['description' => 'The actual free space of the device, in KB.', 'example' => '200', 'format' => 'float', 'type' => 'number', 'title' => ''], 'DeviceName' => ['description' => 'Device name. ', 'example' => 'test', 'type' => 'string', 'title' => ''], 'IotId' => ['description' => 'The ID issued by the IoT Platform to the device, which serves as the UUID of the device.', 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'type' => 'string', 'title' => ''], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'type' => 'object', 'title' => '', 'example' => '', ], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"speech solution has not been signed\\",\\n \\"RequestId\\": \\"AF71BF1D-B552-47CD-B34B-352557627992\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageSize\\": 20,\\n \\"Total\\": 200,\\n \\"PageId\\": 1,\\n \\"List\\": {\\n \\"Items\\": [\\n {\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"AvailableSpace\\": 200,\\n \\"DeviceName\\": \\"test\\",\\n \\"IotId\\": \\"Q7uOhVRdZRRlDnTLv****00100\\"\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', 'title' => 'Query the list of announcement devices ', 'summary' => 'Query the list of broadcast devices.', 'description' => '## Queries per second (QPS) limit'."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 10. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When you invoke this API, in addition to the specific request parameters described in this topic, you must also pass common parameters. For more information about common parameters, see [Common Parameters document](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QuerySpeechDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySpeechDevice'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QuerySpeechLicenseAvailableQuota' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID. You can view the **ID** of your current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify this **ID**; otherwise, the invocation fails.'."\n" .'- If the **Instance Overview** page or the **ID** does not exist, you do not need to specify this parameter.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-2w****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation failed. For more information, see **Error codes** below.', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'Data' => ['description' => 'The available license quota returned.', 'type' => 'integer', 'format' => 'int64', 'example' => '120', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation failed.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ['errorCode' => 'iot.system.IllegalRequest', 'errorMessage' => 'The request parameter is invalid.', 'description' => 'The request parameter is invalid.'], ['errorCode' => 'iot.system.InstanceNotFound', 'errorMessage' => 'The instance ID does not exist.', 'description' => 'The instance ID does not exist.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"Data\\": 120,\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'QuerySpeechLicenseAvailableQuota', 'summary' => 'Invoke this API to query the remaining available quota of the current license.', 'description' => '## Queries per second (QPS) limit'."\n" ."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 5.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling this API, you must specify both the common request parameters and the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QuerySpeechLicenseAvailableQuota', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySpeechLicenseAvailableQuota'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QuerySpeechLicenseDeviceList' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'> You must specify this parameter for a public instance of the new version or an Enterprise Edition instance. You do not need to specify this parameter for a public instance of the previous version.'."\n" ."\n" .'For more information, see the [Overview](~~356505~~) topic of IoT instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot-e3***', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. Valid values: 1 to 50. Default value: 20.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'maximum' => '100', 'minimum' => '1', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'formData', 'schema' => ['description' => 'The **ProductKey** of the product to which the devices belong.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'PageId', 'in' => 'query', 'schema' => ['description' => 'The page number. Valid values: 1 to 10000.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'formData', 'schema' => ['description' => 'The keyword in the DeviceName of the device whose information you want to query. Fuzzy match is supported.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'CheckGroupId', 'in' => 'formData', 'schema' => ['description' => 'The ID of a device group. The InSpecifiedGroup response parameter indicates whether the devices belong to the specified group.'."\n", 'type' => 'string', 'required' => false, 'example' => '4de2c367****8c585e5992**', 'title' => ''], ], [ 'name' => 'LicenseStatusList', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'The license status.'."\n" ."\n" .'* **NORMAL**: The license is valid.'."\n" .'* **EXPIRE**: The license is expired.'."\n" .'* **EXPIRING**: The license is about to expire.'."\n", 'type' => 'array', 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'required' => false, 'example' => 'NORMAL', 'maxItems' => 3, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the request fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The result of the request.'."\n", 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], 'PageId' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Total' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], 'DeviceList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'item' => [ 'description' => 'The information about devices.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ExpiryTime' => ['description' => 'The expiration time of the license.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1620624606000', 'title' => ''], 'ProductKey' => ['description' => 'The **ProductKey** of the product to which the device belongs.'."\n", 'type' => 'string', 'example' => 'a1BwAGV****', 'title' => ''], 'LicenseStatus' => ['description' => 'The license status.'."\n" ."\n" .'* **NORMAL**: The license is valid.'."\n" .'* **EXPIRE**: The license is expired.'."\n" .'* **EXPIRING**: The license is about to expire.'."\n", 'type' => 'string', 'example' => 'NORMAL', 'title' => ''], 'ProductName' => ['description' => 'The ProductName of the product to which the device belongs.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], 'DeviceName' => ['description' => 'The DeviceName of the device.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], 'InSpecifiedGroup' => ['description' => 'Indicates whether the device belongs to the specified device group.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'DeviceStatus' => ['description' => 'The status of the device.'."\n" ."\n" .'* **ONLINE**: The device is online.'."\n" .'* **OFFLINE**: The device is offline.'."\n" .'* **UNACTIVE**: The device is not activated.'."\n" .'* **DISABLE**: The device is disabled.'."\n" .'* **DELETE**: The device is deleted.'."\n", 'type' => 'string', 'example' => 'ONLINE', 'title' => ''], 'IotId' => ['description' => 'The ID of the device. The ID is the unique identifier that is issued by IoT Platform to the device.'."\n", 'type' => 'string', 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'RequestParamError', 'errorMessage' => 'The request params error.', 'description' => ''], ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ['errorCode' => 'iot.soundcode.InvalidIotInstanceId', 'errorMessage' => 'invalid iot instance id', 'description' => 'invalid iot instance id'], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageSize\\": 20,\\n \\"PageId\\": 1,\\n \\"Total\\": 200,\\n \\"DeviceList\\": {\\n \\"item\\": [\\n {\\n \\"ExpiryTime\\": 1620624606000,\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"LicenseStatus\\": \\"NORMAL\\",\\n \\"ProductName\\": \\"test\\",\\n \\"DeviceName\\": \\"test\\",\\n \\"InSpecifiedGroup\\": true,\\n \\"DeviceStatus\\": \\"ONLINE\\",\\n \\"IotId\\": \\"Q7uOhVRdZRRlDnTLv****00100\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"\\nE55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\n\\n 1\\n 20\\n 200\\n \\n \\n Q7uOhVRdZRRlDnTLv****00100\\n test\\n NORMAL\\n ONLINE\\n 1620624606000\\n true\\n a1BwAGV****\\n test\\n \\n \\n\\ntrue\\n","errorExample":""}]', 'title' => 'QuerySpeechLicenseDeviceList', 'summary' => 'Queries the information about devices that are bound to Speech Sending Service licenses.', 'description' => '## QPS limits'."\n" ."\n" .'You can call this API operation up to three times per second per account.'."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QuerySpeechLicenseDeviceList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QuerySpeechList' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'ProjectCode', 'in' => 'formData', 'schema' => ['description' => 'The project ID, which is the unique identifier of the project. You can obtain the project ID from the [Project Management Console](https://iot.console.aliyun.com/things-service/projects).', 'type' => 'string', 'required' => true, 'example' => '4de2c367****8c585e5992**', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'formData', 'schema' => ['description' => 'The number of corpus entries to return per page. Valid values: 1 to 50. Default value: 20.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '20', 'default' => '20', 'title' => ''], ], [ 'name' => 'PageId', 'in' => 'formData', 'schema' => ['description' => 'The current page number, starting from 1, with a maximum value of 10000.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10000', 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID.'."\n" .'You must specify an instance ID. Otherwise, the invocation fails. You can view your instance ID on the **Instance Overview** page in the IoT Platform console.'."\n" .'>'."\n" .'If your public instance does not have an ID, see [How to obtain an instance ID](~~267533~~).'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'AudioFormat', 'in' => 'formData', 'schema' => ['description' => 'The audio format. Only **wav**, **mp3**, and **amr** formats are supported.', 'type' => 'string', 'required' => false, 'example' => 'wav', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [error codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.speechsolution.NotSigned', 'title' => ''], 'ErrorMessage' => ['description' => 'The error code returned when the invocation fails. For more information, see [error codes](~~87387~~).', 'type' => 'string', 'example' => 'speech solution has not been signed', 'title' => ''], 'RequestId' => ['description' => 'The Unique Identifier that Alibaba Cloud generates for this request. ', 'type' => 'string', 'example' => '66FF51D3-***-49F1-B1A2-***', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The returned corpus list. ', 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of corpus entries returned per page. '."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], 'Total' => ['description' => 'The total number of corpus entries returned by the query. '."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], 'PageId' => ['description' => 'The current page number, starting from 1, with a maximum value of 10000. ', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'List' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Items' => [ 'description' => 'Information about the corpus list.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Voice' => ['description' => 'The audio scenario of the corpus.', 'type' => 'string', 'example' => 'Siyue', 'title' => ''], 'BizCode' => ['description' => 'The corpus identifier.'."\n", 'type' => 'string', 'example' => 'identifying', 'title' => ''], 'SpeechCode' => ['description' => 'The corpus ID.'."\n", 'type' => 'string', 'example' => '4de2c367****8c585e5992** ', 'title' => ''], 'SpeechType' => ['description' => 'The corpus type, which can be either Custom or Common.', 'type' => 'string', 'example' => 'custom', 'title' => ''], 'Text' => ['description' => 'The text content of the corpus.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], 'AudioFormat' => ['description' => 'Audio format. Only **wav**, **mp3**, and **amr** formats are supported.', 'type' => 'string', 'example' => 'wav', 'title' => ''], 'SpeechList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Items' => [ 'description' => 'The corpus list of the common corpus package.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Text' => ['description' => 'The text content of the corpus.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], 'Voice' => ['description' => 'The voice scenario of the corpus.', 'type' => 'string', 'example' => 'Siyue', 'title' => ''], 'BizCode' => ['description' => 'The corpus identity.'."\n", 'type' => 'string', 'example' => 'identifying', 'title' => ''], 'SpeechCode' => ['description' => 'The ID of the corpus identity.'."\n", 'type' => 'string', 'example' => '4de2c367****8c585e5992** ', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.speechsolution.NotSigned\\",\\n \\"ErrorMessage\\": \\"speech solution has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageSize\\": 20,\\n \\"Total\\": 100,\\n \\"PageId\\": 1,\\n \\"List\\": {\\n \\"Items\\": [\\n {\\n \\"Voice\\": \\"Siyue\\",\\n \\"BizCode\\": \\"identifying\\",\\n \\"SpeechCode\\": \\"4de2c367****8c585e5992** \\",\\n \\"SpeechType\\": \\"custom\\",\\n \\"Text\\": \\"test\\",\\n \\"AudioFormat\\": \\"wav\\",\\n \\"SpeechList\\": {\\n \\"Items\\": [\\n {\\n \\"Text\\": \\"test\\",\\n \\"Voice\\": \\"Siyue\\",\\n \\"BizCode\\": \\"identifying\\",\\n \\"SpeechCode\\": \\"4de2c367****8c585e5992** \\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', 'title' => 'Query corpus list', 'summary' => 'Query the corpus list of a specified project. ', 'requestParamsDescription' => 'When you invoke the API, in addition to the API-specific Request Parameters described in this topic, you must also pass in Common Request Parameters. For more information about common parameters, see [Common Parameters document](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QuerySpeechList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySpeechList'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QuerySpeechPushJob' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'Instance ID. '."\n" ."\n" .'You must specify an instance ID. Otherwise, the invocation will fail. You can view your instance ID on the **Instance Overview** page in the IoT Platform console. '."\n" .'> '."\n" .'If your public instance does not have an ID, see [How to obtain an instance ID](~~267533~~). '."\n" .'> ', 'type' => 'string', 'required' => false, 'example' => 'iot-060*****', 'title' => ''], ], [ 'name' => 'ProjectCode', 'in' => 'formData', 'schema' => ['description' => 'The project ID, which is the UUID of the project. You can obtain the project ID from the [Management Console](https://iot.console.aliyun.com/things-service/projects).', 'type' => 'string', 'required' => true, 'example' => '0Ykj************************Av0I', 'title' => ''], ], [ 'name' => 'PushMode', 'in' => 'formData', 'schema' => ['description' => 'The pattern of the push task. If this parameter is not specified, tasks in all patterns are queried.'."\n" ."\n" .'- **SINGLE_DEVICE**: push to a single device.'."\n" .'- **ALL**: push to all devices.'."\n" .'- **GROUP_DEVICE**: push to a group of devices.', 'type' => 'string', 'required' => false, 'example' => 'ALL', 'title' => ''], ], [ 'name' => 'JobCode', 'in' => 'query', 'schema' => ['description' => 'The Push Task ID. After you invoke [PushSpeech](~~217573~~) successfully, the **Data** field in the response contains the Push Task ID.', 'type' => 'string', 'required' => false, 'example' => 'tBUm***********************QPGT', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'formData', 'schema' => ['description' => 'Specifies the maximum number of entries returned per page. Valid values: 1 to 50. Default value is 20.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '20', 'default' => '20', 'title' => ''], ], [ 'name' => 'PageId', 'in' => 'formData', 'schema' => ['description' => 'The current page number, starting from 1, with a maximum value of 10000. ', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10000', 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''], ], [ 'name' => 'StatusList', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of statuses of corpus push tasks to query. If this parameter is not specified, tasks in all statuses are queried.'."\n" ."\n" .'- **RUNNING**: running.'."\n" .'- **CANCEL**: canceled.'."\n" .'- **SUCCESS**: succeeded.'."\n" .'- **TIMEOUT**: timed out.', 'type' => 'array', 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'required' => false, 'example' => 'RUNNING', 'maxItems' => 10, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'Error code returned when the invocation fails. For more information, see [error codes](~~87387~~). ', 'type' => 'string', 'example' => 'iot.speechsolution.NotSigned', 'title' => ''], 'ErrorMessage' => ['description' => 'Error code returned when the invocation fails. For more information, see [error codes](~~87387~~). ', 'type' => 'string', 'example' => 'speech solution has not been signed', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request. ', 'type' => 'string', 'example' => 'AF71BF1D-B552-47CD-B34B-352557627992', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" ."\n" .'- **true**: The invocation succeeded. '."\n" ."\n" .'- **false**: The invocation failed. ', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The list of corpus push task statuses returned. ', 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of data entries returned on the current page. ', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], 'Total' => ['description' => 'The total number of corpus push tasks returned by the query. ', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], 'PageId' => ['description' => 'The current page number. ', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'List' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Items' => [ 'description' => 'Information about the corpus push task list.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the corpus push task.'."\n" ."\n" .'- **RUNNING**: running '."\n" .'- **CANCEL**: cancel '."\n" .'- **SUCCESS**: Succeeded '."\n" .'- **TIMEOUT**: timeout ', 'type' => 'string', 'example' => 'RUNNING', 'title' => ''], 'SuccessDeviceNum' => ['description' => 'Number of devices for which corpus push succeeded.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'SpeechNum' => ['description' => 'Number of corpus entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'DeviceName' => ['description' => 'Device name.', 'type' => 'string', 'example' => 'test', 'title' => ''], 'FailDeviceNum' => ['description' => 'Number of devices for which push failed.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PushMode' => ['description' => 'Push pattern.'."\n" ."\n" .'- **SINGLE_DEVICE**: Push to a single device.'."\n" .'- **ALL**: Push to all devices.'."\n" .'- **GROUP_DEVICE**: Push to a device group.', 'type' => 'string', 'example' => 'ALL', 'title' => ''], 'SpeechStatus' => ['description' => 'Indicates whether the pushed speech corpus is complete.'."\n" ."\n" .'- **true**: Complete.'."\n" .'- **false**: Incomplete.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'ProductKey' => ['description' => 'UUID of the product.', 'type' => 'string', 'example' => 'den0ZLt****', 'title' => ''], 'GroupName' => ['description' => 'Group Name.', 'type' => 'string', 'example' => '测试分组', 'title' => ''], 'GroupId' => ['description' => 'Group ID.', 'type' => 'string', 'example' => 'test_group', 'title' => ''], 'ExpiredTime' => ['description' => 'Expiration Time of the push task.', 'type' => 'integer', 'format' => 'int64', 'example' => '1620634297000', 'title' => ''], 'RunningDeviceNum' => ['description' => 'Number of running devices.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'Code' => ['description' => 'Push Task ID.', 'type' => 'string', 'example' => 'tBUm***********************QPGT', 'title' => ''], 'TotalDeviceNum' => ['description' => 'Total number of devices.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], 'CreatedTime' => ['description' => 'Creation Time of the Push Task.', 'type' => 'integer', 'format' => 'int64', 'example' => '1620634297000', 'title' => ''], 'IotId' => ['description' => 'Device ID.', 'type' => 'string', 'example' => '0iOf*****************n001', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.speechsolution.NotSigned\\",\\n \\"ErrorMessage\\": \\"speech solution has not been signed\\",\\n \\"RequestId\\": \\"AF71BF1D-B552-47CD-B34B-352557627992\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageSize\\": 20,\\n \\"Total\\": 200,\\n \\"PageId\\": 1,\\n \\"List\\": {\\n \\"Items\\": [\\n {\\n \\"Status\\": \\"RUNNING\\",\\n \\"SuccessDeviceNum\\": 1,\\n \\"SpeechNum\\": 1,\\n \\"DeviceName\\": \\"test\\",\\n \\"FailDeviceNum\\": 1,\\n \\"PushMode\\": \\"ALL\\",\\n \\"SpeechStatus\\": true,\\n \\"ProductKey\\": \\"den0ZLt****\\",\\n \\"GroupName\\": \\"测试分组\\",\\n \\"GroupId\\": \\"test_group\\",\\n \\"ExpiredTime\\": 1620634297000,\\n \\"RunningDeviceNum\\": 2,\\n \\"Code\\": \\"tBUm***********************QPGT\\",\\n \\"TotalDeviceNum\\": 3,\\n \\"CreatedTime\\": 1620634297000,\\n \\"IotId\\": \\"0iOf*****************n001\\"\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', 'title' => 'Query the list of speech corpus push tasks ', 'summary' => 'Query the list of corpus push tasks for a specified project. ', 'requestParamsDescription' => 'When invoking the API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters Documentation](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QuerySpeechPushJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySpeechPushJob'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QuerySpeechPushJobDevice' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'JobCode', 'in' => 'formData', 'schema' => ['description' => 'The push job ID. After you successfully call [PushSpeech](~~217573~~), the **Data** field in the response contains the push job ID. '."\n", 'type' => 'string', 'required' => true, 'example' => 'tBUm***********************QPGT', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'formData', 'schema' => ['description' => 'The maximum number of entries to return per page. Valid values: 1 to 50. Default value: 20. ', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '20', 'default' => '20', 'title' => ''], ], [ 'name' => 'PageId', 'in' => 'formData', 'schema' => ['description' => 'The current page number, starting from 1. Maximum value: 10000. ', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10000', 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'formData', 'schema' => ['description' => 'The device name. ', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'Status', 'in' => 'formData', 'schema' => ['description' => 'The push job status. If this parameter is not specified, all types are queried. '."\n" ."\n" .'- **RUNNING**: running '."\n" .'- **SENDING**: sending '."\n" .'- **CANCEL**: canceled '."\n" .'- **SUCCESS**: succeeded '."\n" .'- **TIMEOUT**: timeout ', 'type' => 'string', 'required' => false, 'example' => 'SUCCESS', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID. '."\n" ."\n" .'You must specify the instance ID. Otherwise, the invocation fails. You can view your instance ID on the **Instance Overview** page in the IoT Platform console. '."\n" .'> '."\n" .'If your public instance does not have an ID, see [How to Obtain an Instance ID](~~267533~~). '."\n" .'> '."\n", 'type' => 'string', 'required' => false, 'example' => 'iot-060*****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~). ', 'type' => 'string', 'example' => 'iot.speechsolution.NotSigned', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails. ', 'type' => 'string', 'example' => 'speech solution has not been signed', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => 'AF71BF1D-B552-47CD-B34B-352557627992', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" ."\n" .'- **true**: The invocation succeeded. '."\n" ."\n" .'- **false**: The invocation failed. ', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The devices under the specified corpus push task that are returned.', 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of data entries displayed on the current page.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], 'Total' => ['description' => 'The total number of data entries returned by the query.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], 'PageId' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'List' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Items' => [ 'description' => 'Details of the devices under the specified corpus push task.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the push task.'."\n" ."\n" .'- **RUNNING**: Running.'."\n" .'- **SENDING**: Sending.'."\n" .'- **CANCEL**: Canceled.'."\n" .'- **SUCCESS**: Succeeded.'."\n" .'- **TIMEOUT**: Timeout.', 'type' => 'string', 'example' => 'SUCCESS', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message reported by the device. ', 'type' => 'string', 'example' => 'device storage limited', 'title' => ''], 'DeviceName' => ['description' => 'The device name. ', 'type' => 'string', 'example' => 'test', 'title' => ''], 'GmtModified' => ['description' => 'The most recent modification time.', 'type' => 'integer', 'format' => 'int64', 'example' => '1620624606000', 'title' => ''], 'ErrorCode' => ['description' => 'The error code reported by the device.'."\n" ."\n" .'- 1: Insufficient local space.'."\n" .'- 2: Download failed.'."\n" .'- 3: Corpus is being updated.', 'type' => 'string', 'example' => '2', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.speechsolution.NotSigned\\",\\n \\"ErrorMessage\\": \\"speech solution has not been signed\\",\\n \\"RequestId\\": \\"AF71BF1D-B552-47CD-B34B-352557627992\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageSize\\": 20,\\n \\"Total\\": 200,\\n \\"PageId\\": 1,\\n \\"List\\": {\\n \\"Items\\": [\\n {\\n \\"Status\\": \\"SUCCESS\\",\\n \\"ErrorMessage\\": \\"device storage limited\\",\\n \\"DeviceName\\": \\"test\\",\\n \\"GmtModified\\": 1620624606000,\\n \\"ErrorCode\\": \\"2\\"\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', 'title' => 'Query devices under a specified corpus push job ', 'summary' => 'Query the devices under a specified corpus push task.', 'requestParamsDescription' => 'When invoking the API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters Documentation](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QuerySpeechPushJobDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySpeechPushJobDevice'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QuerySpeechPushJobSpeech' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'JobCode', 'in' => 'formData', 'schema' => ['description' => 'The push task ID. The **Data** field returned after a successful call to [PushSpeech](~~217573~~) contains the push task ID. ', 'type' => 'string', 'required' => true, 'example' => '0Ykj************************Av0I', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'formData', 'schema' => ['description' => 'The maximum number of entries to return per page. Valid values: 1 to 50. Default value: 20. ', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '20', 'default' => '20', 'title' => ''], ], [ 'name' => 'PageId', 'in' => 'formData', 'schema' => ['description' => 'The current page number, starting from 1, with a maximum value of 10000. ', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10000', 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID. '."\n" ."\n" .'You must specify an instance ID; otherwise, the invocation will fail. You can view your instance ID on the **Instance Overview** page in the IoT Platform console. '."\n" .'> '."\n" .'If your public instance does not have an ID, see [How to obtain an instance ID](~~267533~~). '."\n" .'> ', 'type' => 'string', 'required' => false, 'example' => 'iot-060*****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invoke failed. For more information, see [error code](~~87387~~). ', 'type' => 'string', 'example' => 'iot.speechsolution.NotSigned', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invoke failed. ', 'type' => 'string', 'example' => 'speech solution has not been signed', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => 'AF71BF1D-B552-47CD-B34B-352557627992', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invoke succeeded. '."\n" ."\n" .'- **true**: The invoke succeeded. '."\n" ."\n" .'- **false**: The invoke failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The details of corpus entries under the returned corpus push task.', 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of data entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], 'Total' => ['description' => 'The total number of data entries returned by the query.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageId' => ['description' => 'The current page number, starting from 1.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'List' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Items' => [ 'description' => 'The details of corpus entries under the corpus push task.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'SpeechType' => ['description' => 'The corpus type, including custom corpus and common corpus.', 'type' => 'string', 'example' => 'CUSTOM', 'title' => ''], 'Text' => ['description' => 'The text of the Custom corpus. ', 'type' => 'string', 'example' => '支付到账', 'title' => ''], 'Voice' => ['description' => 'The broadcast voice of the Custom corpus. ', 'type' => 'string', 'example' => 'Xiaoyun', 'title' => ''], 'BizCode' => ['description' => 'The identity of the corpus. ', 'type' => 'string', 'example' => 'ZFDZ', 'title' => ''], 'SpeechList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Items' => [ 'description' => 'The list of corpus entries in the common corpus package.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Text' => ['description' => 'The text of the corpus in a common package. ', 'type' => 'string', 'example' => '1', 'title' => ''], 'Voice' => ['description' => 'The voice of the corpus in a common package. ', 'type' => 'string', 'example' => 'Xiaoyun', 'title' => ''], 'BizCode' => ['description' => 'The identity of the corpus in a common package. ', 'type' => 'string', 'example' => 'SYS_TONE_0', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.speechsolution.NotSigned\\",\\n \\"ErrorMessage\\": \\"speech solution has not been signed\\",\\n \\"RequestId\\": \\"AF71BF1D-B552-47CD-B34B-352557627992\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageSize\\": 20,\\n \\"Total\\": 1,\\n \\"PageId\\": 1,\\n \\"List\\": {\\n \\"Items\\": [\\n {\\n \\"SpeechType\\": \\"CUSTOM\\",\\n \\"Text\\": \\"支付到账\\",\\n \\"Voice\\": \\"Xiaoyun\\",\\n \\"BizCode\\": \\"ZFDZ\\",\\n \\"SpeechList\\": {\\n \\"Items\\": [\\n {\\n \\"Text\\": \\"1\\",\\n \\"Voice\\": \\"Xiaoyun\\",\\n \\"BizCode\\": \\"SYS_TONE_0\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', 'title' => 'Query the corpus list of a push task ', 'summary' => 'Query the details of corpus entries under a corpus push task, including the speech voice, corpus type, and corpus text.'."\n", 'requestParamsDescription' => 'When invoking the API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters Documentation](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QuerySpeechPushJobSpeech', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySpeechPushJobSpeech'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QueryStudioAppDomainListOpen' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'ProjectId', 'in' => 'formData', 'schema' => ['description' => 'The project ID. '."\n" .'1. Log on to the [IoT development console](https://account.aliyun.com/login/login.htm?qrCodeFirst=false&oauth_callback=https%3A%2F%2Fstudio.iot.aliyun.com%2F%3Fspm%3Da2c4g.11186623.2.8.1e7830fagdybMb). After selecting the corresponding instance in the upper-left corner of the page, click **Project Management** in the left-side navigation pane. '."\n" .'2. In the standard project list, locate the target project, click its project card, and then check the address bar of your browser.', 'type' => 'string', 'required' => true, 'example' => 'a12******', 'title' => ''], ], [ 'name' => 'AppId', 'in' => 'formData', 'schema' => ['description' => 'The application ID. You can invoke [QueryStudioAppList](~~216816~~) to query it.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a12******', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID.'."\n" ."\n" .'You can view the current instance ID on the **Instance Overview** page in the IoT Platform console. If an ID value exists, you must specify this ID; otherwise, the invocation will fail.'."\n" ."\n" .''."\n" .'> If your public instance does not have an ID, see [How to obtain an instance ID](~~267533~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation failed. For more information about error codes, see [error codes](~~202245~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation failed.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'Information about the list of domain names attached to the application.', 'type' => 'object', 'properties' => [ 'PageNo' => ['description' => 'The page number from which to start displaying results.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TotalPage' => ['description' => 'Total number of pages for paging.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageSize' => ['description' => 'Number of entries displayed per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'Total' => ['description' => 'Total number of domain names.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'List' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'DomainInfo' => [ 'description' => 'List of domain names attached to the application.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Host' => ['description' => 'Domain name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], 'Protocol' => ['description' => 'Request protocol.', 'type' => 'string', 'example' => 'https', 'title' => ''], 'AppId' => ['description' => 'Application ID.', 'type' => 'string', 'example' => 'a12*******', 'title' => ''], 'ProjectId' => ['description' => 'Project ID.', 'type' => 'string', 'example' => 'a123********', 'title' => ''], 'GmtCreate' => ['description' => 'The time when the domain name was attached to the application.', 'type' => 'string', 'example' => '1619598445000', 'title' => ''], 'IsBeian' => ['description' => 'Indicates whether the domain name has completed ICP filing.'."\n" .'- **YES**: Yes.'."\n" .'- **NO**: No.', 'type' => 'string', 'example' => 'YES', 'title' => ''], 'GmtModified' => ['description' => 'The time when the application modified the domain name.', 'type' => 'string', 'example' => '1619598445000', 'title' => ''], 'Id' => ['description' => 'Domain name ID.', 'type' => 'integer', 'format' => 'int32', 'example' => '1548', 'title' => ''], 'TenantId' => ['description' => 'Tenant ID.', 'type' => 'string', 'example' => 'C70B541046F64EAAB*********', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 200 => [ ['errorCode' => 'IoT.Common.NullParameter', 'errorMessage' => 'Parameter cannot be empty.', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageNo\\": 1,\\n \\"TotalPage\\": 1,\\n \\"PageSize\\": 10,\\n \\"Total\\": 1,\\n \\"List\\": {\\n \\"DomainInfo\\": [\\n {\\n \\"Host\\": \\"example.com\\",\\n \\"Protocol\\": \\"https\\",\\n \\"AppId\\": \\"a12*******\\",\\n \\"ProjectId\\": \\"a123********\\",\\n \\"GmtCreate\\": \\"1619598445000\\",\\n \\"IsBeian\\": \\"YES\\",\\n \\"GmtModified\\": \\"1619598445000\\",\\n \\"Id\\": 1548,\\n \\"TenantId\\": \\"C70B541046F64EAAB*********\\"\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', 'title' => 'QueryStudioAppDomainListOpen', 'summary' => 'Invoke this API to obtain the list of domain names attached to an application.', 'description' => '## Limits'."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account when calling this API is 5. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking the API, in addition to the specific Request Parameters described in this topic, you must also pass in Common Request Parameters. For more information about common parameters, see [Common Parameters documentation](~~203277~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryStudioAppDomainListOpen', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryStudioAppDomainListOpen'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QueryStudioAppList' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'ProjectId', 'in' => 'formData', 'schema' => ['description' => 'Project ID. '."\n" .'1. You can log on to the [IoT Application Development Console](https://studio.iot.aliyun.com/?spm=a2c4g.11186623.2.8.15b03118ooIo9y), select the corresponding instance in the upper-left corner of the page, and then click Project Management in the left-side navigation pane. '."\n" .'2. In the standard project list, locate the target project, click the project card, and check the address bar of your browser. ', 'type' => 'string', 'required' => true, 'example' => 'a123********', 'title' => ''], ], [ 'name' => 'PageNo', 'in' => 'formData', 'schema' => ['description' => 'The page number from which to start displaying results. Default value is 1. ', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'formData', 'schema' => ['description' => 'The number of products to display per page in the return result. Maximum value is 200. ', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'default' => '15', 'title' => ''], ], [ 'name' => 'FuzzyName', 'in' => 'formData', 'schema' => ['description' => 'Application name. '."\n" .'- Supports Chinese characters, English letters, digits, underscores (_), hyphens (-), and English parentheses (). '."\n" .'- Must start with a Chinese character, English letter, or digit. '."\n" .'- The length cannot exceed 30 characters (one Chinese character counts as one character). ', 'type' => 'string', 'required' => false, 'example' => 'test1', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'Instance ID. '."\n" ."\n" .'You can view the current instance ID on the **Instance Overview** page in the IoT Platform console. If an ID exists, you must pass this ID; otherwise, the invocation will fail. '."\n" ."\n" .' '."\n" .'> If your public instance does not have an ID, see [How to Obtain an Instance ID](~~267533~~). ', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'Types', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'List of application types. ', 'type' => 'array', 'items' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], 'required' => true, 'example' => '["webApp", "mobileApp"]', 'maxItems' => 9, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For details about error codes, see [error codes](~~202245~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: Failed to invoke. ', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'Details of the application list.', 'type' => 'object', 'properties' => [ 'PageNo' => ['description' => 'The page number from which the results start to be displayed.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TotalPage' => ['description' => 'Total number of pages for paging.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'PageSize' => ['description' => 'Number of entries displayed per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], 'Total' => ['description' => 'Total number of applications.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], 'List' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'AppInfo' => [ 'description' => 'List of applications.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Type' => ['description' => 'Application type.', 'type' => 'string', 'example' => 'webApp', 'title' => ''], 'AppSecret' => ['description' => 'The application key.', 'type' => 'string', 'example' => 'a605*******', 'title' => ''], 'AppKey' => ['description' => 'The application **AppKey**.', 'type' => 'string', 'example' => '322******', 'title' => ''], 'Description' => ['description' => 'Application description.', 'type' => 'string', 'example' => 'This is a test.', 'title' => ''], 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => 'a123********', 'title' => ''], 'ProjectId' => ['description' => 'The ID of the project to which the application belongs.', 'type' => 'string', 'example' => 'a123********', 'title' => ''], 'GmtCreate' => ['description' => 'Creation time of the application.', 'type' => 'string', 'example' => '2020-12-25 16:20:53', 'title' => ''], 'GmtRelease' => ['description' => 'The time when the application was published.', 'type' => 'string', 'example' => '2021-04-15 19:11:32', 'title' => ''], 'GmtModified' => ['description' => 'The time when the application was updated.', 'type' => 'string', 'example' => '2021-04-10 15:06:23', 'title' => ''], 'Name' => ['description' => 'The application name.', 'type' => 'string', 'example' => 'test1', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 200 => [ ['errorCode' => 'IoT.Common.NullParameter', 'errorMessage' => 'Parameter cannot be empty.', 'description' => ''], ['errorCode' => 'IoT.Common.ParamterError', 'errorMessage' => 'The request parameter is invalid.', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageNo\\": 1,\\n \\"TotalPage\\": 10,\\n \\"PageSize\\": 20,\\n \\"Total\\": 200,\\n \\"List\\": {\\n \\"AppInfo\\": [\\n {\\n \\"Type\\": \\"webApp\\",\\n \\"AppSecret\\": \\"a605*******\\",\\n \\"AppKey\\": \\"322******\\",\\n \\"Description\\": \\"This is a test.\\",\\n \\"AppId\\": \\"a123********\\",\\n \\"ProjectId\\": \\"a123********\\",\\n \\"GmtCreate\\": \\"2020-12-25 16:20:53\\",\\n \\"GmtRelease\\": \\"2021-04-15 19:11:32\\",\\n \\"GmtModified\\": \\"2021-04-10 15:06:23\\",\\n \\"Name\\": \\"test1\\"\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', 'title' => 'QueryStudioAppList ', 'summary' => 'You can invoke this API to obtain the application list.', 'description' => '## Limits'."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account when calling this API is 10. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking the API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters documentation](~~203277~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryStudioAppList'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QueryStudioAppPageListOpen' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'formData', 'schema' => ['description' => 'The application ID. You can invoke [QueryStudioAppList](~~216816~~) to query it.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a12*******', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID.'."\n" ."\n" .'You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console. If an ID value exists, you must specify this ID; otherwise, the invocation will fail.'."\n" ."\n" .''."\n" .'> If the public instance does not have an ID value, see [How to Obtain an Instance ID](~~267533~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'IsRelease', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to retrieve application pages. '."\n" .'- **true**: Retrieves published application pages. '."\n" .'- **false (default)**: Retrieves unpublished application pages.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false', 'title' => ''], ], [ 'name' => 'PageNo', 'in' => 'formData', 'schema' => ['description' => 'The page number from which to start displaying results. Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'formData', 'schema' => ['description' => 'The number of entries to display per page in the return result. Minimum value: 1. Maximum value: 50. Default value: 20.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'default' => '50', 'title' => ''], ], [ 'name' => 'ProjectId', 'in' => 'formData', 'schema' => ['description' => 'The project ID. '."\n" .'1. Log on to the [IoT application development console](https://account.aliyun.com/login/login.htm?qrCodeFirst=false&oauth_callback=https%3A%2F%2Fstudio.iot.aliyun.com%2F%3Fspm%3Da2c4g.11186623.2.8.1e7830fagdybMb). After selecting the corresponding instance in the upper-left corner of the page, click Project Management in the left-side navigation pane. '."\n" .'2. In the standard project list, locate the target project, click the project card, and then check the address bar of your browser.', 'type' => 'string', 'required' => true, 'example' => 'a12******', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation failed. For details about error codes, see [error code](~~202245~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation failed.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request. ', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'Information about the application page list. ', 'type' => 'object', 'properties' => [ 'PageNo' => ['description' => 'Specifies the page number from which to start displaying results. ', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TotalPage' => ['description' => 'Total number of pages for paging. ', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageSize' => ['description' => 'Number of entries displayed per page. ', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'Total' => ['description' => 'Total number of pages. ', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'List' => [ 'itemNode' => true, 'description' => '', 'type' => 'object', 'properties' => [ 'PageInfo' => [ 'description' => 'List of application pages. ', 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'GmtCreate' => ['description' => 'The creation time of the page.', 'type' => 'string', 'example' => '2020-12-25T16:21Z', 'title' => ''], 'IsLoginPage' => ['description' => 'Indicates whether the page is the login page. '."\n" .'- **0**: No. '."\n" .'- **1**: Yes.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Path' => ['description' => 'Page path. ', 'type' => 'string', 'example' => '/page/44920', 'title' => ''], 'IsHidden' => ['description' => 'Indicates whether the page is hidden. '."\n" .'- **0**: No. '."\n" .'- **1**: Yes.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'GmtModified' => ['description' => 'The updated at time of the page.', 'type' => 'string', 'example' => '2021-05-08T17:18Z', 'title' => ''], 'Name' => ['description' => 'The page name.', 'type' => 'string', 'example' => 'test1', 'title' => ''], 'PageId' => ['description' => 'Page ID. ', 'type' => 'string', 'example' => '44920', 'title' => ''], 'IsHome' => ['description' => 'Indicates whether the page is the homepage. '."\n" .'- **0**: No. '."\n" .'- **1**: Yes.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Id' => ['description' => 'The UUID of each record.', 'type' => 'integer', 'format' => 'int32', 'example' => '49739', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 200 => [ ['errorCode' => 'IoT.Common.NullParameter', 'errorMessage' => 'Parameter cannot be empty.', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageNo\\": 1,\\n \\"TotalPage\\": 1,\\n \\"PageSize\\": 10,\\n \\"Total\\": 1,\\n \\"List\\": {\\n \\"PageInfo\\": [\\n {\\n \\"GmtCreate\\": \\"2020-12-25T16:21Z\\",\\n \\"IsLoginPage\\": 1,\\n \\"Path\\": \\"/page/44920\\",\\n \\"IsHidden\\": 1,\\n \\"GmtModified\\": \\"2021-05-08T17:18Z\\",\\n \\"Name\\": \\"test1\\",\\n \\"PageId\\": \\"44920\\",\\n \\"IsHome\\": 1,\\n \\"Id\\": 49739\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', 'title' => 'QueryStudioAppPageListOpen', 'summary' => 'Invoke this API to obtain the list of application pages. ', 'description' => '## Limits '."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account when calling this API is 10. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. ', 'requestParamsDescription' => 'When invoking the API, in addition to the specific Request Parameters described in this topic, you must also pass in the Common Request Parameters. For more information about common parameters, see the [Common Parameters document](~~203277~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryStudioAppPageListOpen'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QueryStudioProjectList' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'Name', 'in' => 'formData', 'schema' => ['description' => 'The project name.'."\n" .'- Supports Chinese characters, English letters, digits, underscores (_), hyphens (-), and English parentheses ().'."\n" .'- Must start with a Chinese character, English letter, or digit.'."\n" .'- The length cannot exceed 30 characters (one Chinese character counts as one character).', 'type' => 'string', 'required' => false, 'example' => 'test1', 'title' => ''], ], [ 'name' => 'PageNo', 'in' => 'formData', 'schema' => ['description' => 'The page number from which to start displaying results. Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'formData', 'schema' => ['description' => 'The number of entries to display per page in the return result. Minimum value: 1. Maximum value: 50. Default value: 20.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '20', 'default' => '20', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID.'."\n" ."\n" .'You can view the current instance ID on the **Instance Overview** page in the IoT Platform console. If an ID exists, you must specify this ID; otherwise, the invocation will fail.'."\n" ."\n" .''."\n" .'> If your public instance does not have an ID, see [How to Obtain an Instance ID](~~267533~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information about error codes, see [Error Codes](~~202245~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'Details of the project list.', 'type' => 'object', 'properties' => [ 'PageNo' => ['description' => 'The page number from which to start displaying results.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TotalPage' => ['description' => 'Total number of pages for paging.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'PageSize' => ['description' => 'Number of entries displayed per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], 'Total' => ['description' => 'Total number of projects.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], 'List' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'ProjectInfo' => [ 'description' => 'List of projects.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'GmtCreate' => ['description' => 'Creation time of the project. UNIX timestamp in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1611819839000', 'title' => ''], 'Description' => ['description' => 'Project description.', 'type' => 'string', 'example' => 'This is a test project.', 'title' => ''], 'Name' => ['description' => 'The project name.', 'type' => 'string', 'example' => 'test1', 'title' => ''], 'GmtModified' => ['description' => 'Modification time of the project. UNIX timestamp in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1611819860000', 'title' => ''], 'ProjectId' => ['description' => 'The project ID.', 'type' => 'string', 'example' => 'a123********', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 200 => [ ['errorCode' => 'IoT.Common.NullParameter', 'errorMessage' => 'Parameter cannot be empty.', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageNo\\": 1,\\n \\"TotalPage\\": 10,\\n \\"PageSize\\": 20,\\n \\"Total\\": 200,\\n \\"List\\": {\\n \\"ProjectInfo\\": [\\n {\\n \\"GmtCreate\\": 1611819839000,\\n \\"Description\\": \\"This is a test project.\\",\\n \\"Name\\": \\"test1\\",\\n \\"GmtModified\\": 1611819860000,\\n \\"ProjectId\\": \\"a123********\\"\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', 'title' => 'QueryStudioProjectList', 'summary' => 'You can invoke this API to obtain the project list.', 'description' => '## Limits'."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account when calling this API is 5. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When invoking the API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters Documentation](~~203277~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryStudioProjectList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryStudioProjectList'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QuerySubscribeRelation' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product that is specified for the subscription.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1fyXVF****', 'title' => ''], ], [ 'name' => 'Type', 'in' => 'query', 'schema' => ['description' => 'The type of the subscription. Valid values:'."\n" ."\n" .'* **MNS**'."\n" .'* **AMQP**'."\n", 'type' => 'string', 'required' => true, 'example' => 'AMQP', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Type' => ['description' => 'The type of the subscription. Valid values:'."\n" ."\n" .'* **MNS**'."\n" .'* **AMQP**'."\n", 'type' => 'string', 'example' => 'AMQP', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'DeviceTagFlag' => ['description' => 'Indicates whether messages about device tag changes were pushed. Valid values:'."\n" ."\n" .'* **true**: yes. This parameter takes effect only if the **Type** parameter is set to **AMQP**.'."\n" .'* **false**: no.'."\n" ."\n" .'Default value: **false**.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'OtaVersionFlag' => ['description' => 'Indicates whether messages about the version numbers of OTA modules were pushed. Valid values:'."\n" ."\n" .'* **true**: yes. This parameter takes effect only if the **Type** parameter is set to **AMQP**.'."\n" .'* **false**: no.'."\n" ."\n" .'Default value: **false**.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'DeviceDataFlag' => ['description' => 'Indicates whether upstream device messages were pushed.'."\n" ."\n" .'* **true**: yes.'."\n" .'* **false**: no.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'SubscribeFlags' => ['description' => '', 'type' => 'string', 'example' => '{ "jt808DeviceDataFlag": true }', 'title' => ''], 'OtaEventFlag' => ['description' => 'Indicates whether notifications about the status of OTA update batches were pushed.'."\n" ."\n" .'* **true**: yes.'."\n" .'* **false**: no.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'ThingHistoryFlag' => ['description' => 'Indicates whether upstream historical Thing Specification Language (TSL) data was pushed.'."\n" ."\n" .'* **true**: yes.'."\n" .'* **false**: no.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'DeviceStatusChangeFlag' => ['description' => 'Indicates whether messages about device status changes were pushed.'."\n" ."\n" .'* **true**: yes.'."\n" .'* **false**: no.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'ProductKey' => ['description' => 'The ProductKey of the product that is specified for the subscription.'."\n", 'type' => 'string', 'example' => 'a1fyXVF****', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '21D327AF-A7DE-4E59-B5D1-ACAC8C024555', 'title' => ''], 'MnsConfiguration' => ['description' => 'The configurations of the MNS queue. This parameter is returned if the **Type** parameter is set to **MNS**.'."\n" ."\n" .'For more information, see the "Definition of the MnsConfiguration parameter" section.'."\n", 'type' => 'string', 'example' => '{ "queueName": "mns-test-topic1", "regionName": "cn-shanghai", "role": { "roleArn": "acs:ram::5645***:role/aliyuniotaccessingmnsrole", "roleName": "AliyunIOTAccessingMNSRole" } }', 'title' => ''], 'DeviceTopoLifeCycleFlag' => ['description' => 'Indicates whether messages about topological relationship changes of devices were pushed.'."\n" ."\n" .'* **true**: yes. The value **true** is returned only when you query a gateway product.'."\n" .'* **false**: no.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'DeviceLifeCycleFlag' => ['description' => 'Indicates whether messages about device lifecycle changes were pushed.'."\n" ."\n" .'* **true**: yes.'."\n" .'* **false**: no.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'FoundDeviceListFlag' => ['description' => 'Indicates whether messages were pushed if a gateway detected new sub-devices.'."\n" ."\n" .'* **true**: yes. The value **true** is returned only when you query a gateway product.'."\n" .'* **false**: no.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'OtaJobFlag' => ['description' => 'Indicates whether notifications about OTA batch updates were pushed. Valid values:'."\n" ."\n" .'* **true**: yes. This parameter takes effect only if the **Type** parameter is set to **AMQP**.'."\n" .'* **false**: no.'."\n" ."\n" .'Default value: **false**.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'ConsumerGroupIds' => [ 'type' => 'array', 'items' => ['description' => '', 'type' => 'string', 'example' => '[DEFAULT_GROUP,br45A6A1amoRFGN7x1zP00****]', 'title' => ''], 'description' => 'The IDs of the consumer groups that are created in the AMQP subscription. This parameter is returned if the **Type** parameter is set to **AMQP**.'."\n", 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Type\\": \\"AMQP\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"DeviceTagFlag\\": true,\\n \\"OtaVersionFlag\\": true,\\n \\"DeviceDataFlag\\": true,\\n \\"Success\\": true,\\n \\"SubscribeFlags\\": \\"{ \\\\\\"jt808DeviceDataFlag\\\\\\": true }\\",\\n \\"OtaEventFlag\\": true,\\n \\"ThingHistoryFlag\\": true,\\n \\"DeviceStatusChangeFlag\\": true,\\n \\"ProductKey\\": \\"a1fyXVF****\\",\\n \\"RequestId\\": \\"21D327AF-A7DE-4E59-B5D1-ACAC8C024555\\",\\n \\"MnsConfiguration\\": \\"{ \\\\\\"queueName\\\\\\": \\\\\\"mns-test-topic1\\\\\\", \\\\\\"regionName\\\\\\": \\\\\\"cn-shanghai\\\\\\", \\\\\\"role\\\\\\": { \\\\\\"roleArn\\\\\\": \\\\\\"acs:ram::5645***:role/aliyuniotaccessingmnsrole\\\\\\", \\\\\\"roleName\\\\\\": \\\\\\"AliyunIOTAccessingMNSRole\\\\\\" } }\\",\\n \\"DeviceTopoLifeCycleFlag\\": true,\\n \\"DeviceLifeCycleFlag\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"FoundDeviceListFlag\\": true,\\n \\"OtaJobFlag\\": true,\\n \\"ConsumerGroupIds\\": [\\n \\"[DEFAULT_GROUP,br45A6A1amoRFGN7x1zP00****]\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\nfalse\\n73B9DF43-7780-47DE-8BED-077729D28BD2\\ntrue\\nfalse\\nfalse\\nXs95KifeaSKbi8tKkcoD00****\\ntrue\\nfalse\\nAMQP\\nfalse\\nfalse\\n{ \\"jt808DeviceDataFlag\\": true }\\na1Zkii7****\\n","errorExample":""}]', 'title' => 'QuerySubscribeRelation', 'summary' => 'Queries a Message Service (MNS) or AMQP server-side subscription.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => '**MnsConfiguration定义**'."\n" .'| 名称 | 描述 |'."\n" .'| ------------- |------------ |'."\n" .'|queueName| 消息服务中用来接收信息的队列名称。 |'."\n" .'|regionName | 目标消息服务所在的阿里云地域代码,例如cn-shanghai。 |'."\n" .'|role | 授权角色信息。通过授予物联网平台指定的系统服务角色,您可以授权物联网平台访问您的消息服务。授权角色信息如下:
`{"roleArn":"acs:ram::5645*\\**:role/aliyuniotaccessingmnsrole","roleName": "AliyunIOTAccessingMNSRole"} `
请将`5645*\\**`替换成您的阿里云账号ID。您可以登录控制台,在账号安全设置页面查看您的账号ID。
`AliyunIOTAccessingMNSRole`是访问控制中定义的服务角色。用于授予物联网平台访问消息服务。关于角色的更多信息,请在访问控制RAM控制台的角色管理页面进行角色管理。 |'."\n" ."\n" .'示例:'."\n" .'```'."\n" .'{'."\n" .' "queueName": "mns-test-topic1",'."\n" .' "regionName": "cn-shanghai",'."\n" .' "role": {'."\n" .' "roleArn": "acs:ram::5645***:role/aliyuniotaccessingmnsrole",'."\n" .' "roleName": "AliyunIOTAccessingMNSRole"'."\n" .' }'."\n" .'}'."\n" .'```', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QuerySubscribeRelation', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QuerySummarySceneRuleLog' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. Do not pass this parameter for public instances; pass it for Enterprise instances. ', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'RuleId', 'in' => 'query', 'schema' => ['description' => 'The ID of the scene orchestration rule. You can obtain the rule ID by invoking the [QuerySceneRule](~~169498~~) API. ', 'type' => 'string', 'required' => true, 'example' => 'fec565038d7544978d9aed5c1a******', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', 'schema' => ['description' => 'The start time of the scene orchestration rule logs, in seconds, specified as a UNIX timestamp. '."\n" ."\n" .'> You can query rule execution logs from up to the last 30 days. ', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1582372973', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', 'schema' => ['description' => 'The end time of the scene orchestration rule logs, in seconds, specified as a UNIX timestamp. '."\n" ."\n" .'> You can query rule execution logs from up to the last 30 days. ', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1582373873', 'title' => ''], ], [ 'name' => 'Status', 'in' => 'query', 'schema' => ['description' => 'The execution result of the scene orchestration rule. '."\n" ."\n" .'- 0: indicates failed. '."\n" ."\n" .'- 1: indicates Succeeded. ', 'type' => 'string', 'required' => true, 'example' => '2', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of records displayed per page in the return result. Maximum value: 30. Minimum value: 1. Default value: 10. ', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '10', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', 'schema' => ['description' => 'The page number from which to start displaying results. Minimum value: 1. ', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the API. "Success" indicates success; other values indicate error codes. For details, see [error codes](~~135200~~). ', 'type' => 'string', 'example' => 'Success', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request. ', 'type' => 'string', 'example' => '2279A994-3E7D-4EC6-BD17-FA0D0EC2EC77', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails. ', 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. true indicates success; false indicates failure. ', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data returned when the call succeeds. ', 'type' => 'object', 'properties' => [ 'CurrentPage' => ['description' => 'The current page number. ', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageSize' => ['description' => 'The number of records displayed per page in the returned results. ', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'Total' => ['description' => 'The total number of scene orchestration rule logs. ', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], 'LogList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'LogInfo' => [ 'description' => 'The list of scene orchestration rule logs.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'LogTime' => ['description' => 'The time when the scene orchestration rule log was recorded.', 'type' => 'integer', 'format' => 'int32', 'example' => '1582373706', 'title' => ''], 'Result' => ['description' => 'The execution result of the scene orchestration rule.'."\n" ."\n" .'- true: indicates Succeeded.'."\n" ."\n" .'- false: indicates failed.', 'type' => 'string', 'example' => 'true', 'title' => ''], 'TraceId' => ['description' => 'The trace ID of the scene orchestration rule log.', 'type' => 'string', 'example' => 'a6a5b5df1582373508176121******', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"RequestId\\": \\"2279A994-3E7D-4EC6-BD17-FA0D0EC2EC77\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 10,\\n \\"Total\\": 3,\\n \\"LogList\\": {\\n \\"LogInfo\\": [\\n {\\n \\"LogTime\\": 1582373706,\\n \\"Result\\": \\"true\\",\\n \\"TraceId\\": \\"a6a5b5df1582373508176121******\\"\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', 'title' => 'Query scene orchestration rule logs ', 'summary' => 'Invoke this API to query scene orchestration rule logs. ', 'description' => '## Condition '."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account when calling this API is 10. '."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. ', 'requestParamsDescription' => 'When invoking the API, in addition to the specific Request Parameters described in this topic, you must also pass common parameters. For more information about common parameters, see [Common Parameters documentation](~~135196~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QuerySummarySceneRuleLog', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySummarySceneRuleLog'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QuerySuperDeviceGroup' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'GroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the subgroup. The ID is the globally unique identifier (GUID) for the group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'DMoI2Kby5m62****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '7411716B-A488-4EEB-9AA0-6DB05AD2491F', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'GroupInfo' => [ 'description' => 'The parent group information returned if the call succeeds. For more information, see the following **GroupInfo** parameter.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'GroupId' => ['description' => 'The ID of the parent group.'."\n", 'type' => 'string', 'example' => 'tDQvBJqbUyHskDse', 'title' => ''], 'GroupName' => ['description' => 'The name of the parent group.'."\n", 'type' => 'string', 'example' => 'IOTTEST', 'title' => ''], 'GroupDesc' => ['description' => 'The description of the parent group.'."\n", 'type' => 'string', 'example' => 'A test', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"7411716B-A488-4EEB-9AA0-6DB05AD2491F\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"GroupInfo\\": [\\n {\\n \\"GroupId\\": \\"tDQvBJqbUyHskDse\\",\\n \\"GroupName\\": \\"IOTTEST\\",\\n \\"GroupDesc\\": \\"A test\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n \\r\\n IOTTEST\\r\\n tDQvBJqbUyHskDse\\r\\n A test.\\r\\n \\r\\n 7411716B-A488-4EEB-9AA0-6DB05AD2491F\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'QuerySuperDeviceGroup', 'summary' => 'Queries the information of a parent group by subgroup ID.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QuerySuperDeviceGroup', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryTask' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. '."\n" ."\n" .'You can view the current instance ID on the **Instance Overview** page in the IoT Platform console. If an ID value exists, you must specify it; otherwise, the invocation will fail. '."\n" ."\n" .'> If your public instance does not have an ID, see [How to Obtain an Instance ID](~~267533~~). ', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'TaskId', 'in' => 'query', 'schema' => ['description' => 'The ID of the job under the task. ', 'type' => 'string', 'required' => true, 'example' => 'MSnT9***q010101', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~). ', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails. ', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The globally unique identifier that Alibaba Cloud generates for this request. ', 'type' => 'string', 'example' => '512FF8FD-A97F-4AAF-B0A2-7BE3D3A19BB3', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: The invocation failed. ', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'Details of the job returned when the call succeeds. For more information, see the following parameter descriptions. ', 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the job.'."\n" ."\n" .'- **QUEUED**: Waiting to be scheduled.'."\n" .'- **SENT**: Scheduled.'."\n" .'- **IN_PROGRESS**: Executing.'."\n" .'- **FAILED**: Failed.'."\n" .'- **REJECTED**: Rejected.'."\n" .'- **TIMED_OUT**: Timed out.'."\n" .'- **SUCCEEDED**: Succeeded.'."\n" .'- **CANCELLED**: Cancelled. ', 'type' => 'string', 'example' => 'SUCCEEDED', 'title' => ''], 'Progress' => ['description' => 'The progress of the job. ', 'type' => 'string', 'example' => '80', 'title' => ''], 'DeviceName' => ['description' => 'The device name. ', 'type' => 'string', 'example' => 'mydevice', 'title' => ''], 'Message' => ['description' => 'Information related to task execution, such as error messages. ', 'type' => 'string', 'example' => 'this is message about task execution', 'title' => ''], 'UtcQueueTime' => ['description' => 'The time when the job entered the queue.', 'type' => 'string', 'example' => '2019-05-21T13:03:53.000Z', 'title' => ''], 'ProductKey' => ['description' => 'The ProductKey of the product to which the device belongs. ', 'type' => 'string', 'example' => 'a1S****', 'title' => ''], 'JobName' => ['description' => 'The name of the task to which the job belongs. ', 'type' => 'string', 'example' => 'MyTestJobIax6Eq', 'title' => ''], 'UtcModified' => ['description' => 'The time when the job information was last updated. ', 'type' => 'string', 'example' => '2019-05-21T13:03:56.000Z', 'title' => ''], 'JobId' => ['description' => 'The ID of the job\'s associated task. ', 'type' => 'string', 'example' => 'sGWotgRkutxX*****', 'title' => ''], 'StatusDetail' => ['description' => 'Information reported by the device during job execution. ', 'type' => 'string', 'example' => '{ "msg":"this is message reported by device" }', 'title' => ''], 'TaskId' => ['description' => 'The job ID. This is the globally unique identifier of the job. ', 'type' => 'string', 'example' => 'MSnT9***q010101', 'title' => ''], 'IotId' => ['description' => 'The ID issued by the IoT Platform to the device, serving as its unique identifier. ', 'type' => 'string', 'example' => 'BDjhI****01', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"512FF8FD-A97F-4AAF-B0A2-7BE3D3A19BB3\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Status\\": \\"SUCCEEDED\\",\\n \\"Progress\\": \\"80\\",\\n \\"DeviceName\\": \\"mydevice\\",\\n \\"Message\\": \\"this is message about task execution\\",\\n \\"UtcQueueTime\\": \\"2019-05-21T13:03:53.000Z\\",\\n \\"ProductKey\\": \\"a1S****\\",\\n \\"JobName\\": \\"MyTestJobIax6Eq\\",\\n \\"UtcModified\\": \\"2019-05-21T13:03:56.000Z\\",\\n \\"JobId\\": \\"sGWotgRkutxX*****\\",\\n \\"StatusDetail\\": \\"{ \\\\\\"msg\\\\\\":\\\\\\"this is message reported by device\\\\\\" }\\",\\n \\"TaskId\\": \\"MSnT9***q010101\\",\\n \\"IotId\\": \\"BDjhI****01\\"\\n }\\n}","type":"json"}]', 'title' => 'Query jobs under a specified task ', 'summary' => 'Invoke this API to query the jobs under a specified task. ', 'description' => '## How-To'."\n" ."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account when calling this API is 5.'."\n" ."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. ', 'requestParamsDescription' => 'When you call this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryTask', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryTask'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QueryThingModel' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the resource group.'."\n" ."\n" .'> You cannot specify this parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-acfm4l5tcwd****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'ModelVersion', 'in' => 'query', 'schema' => ['description' => 'The version number of the TSL model.'."\n" ."\n" .'You can call the [ListThingModelVersion](~~150318~~) operation to view the version numbers of the TSL model for a product.'."\n" ."\n" .'If you do not specify this parameter, the TSL model that is in the draft status is queried. If you specify this parameter, the TSL model of the specified version is queried.'."\n", 'type' => 'string', 'required' => false, 'example' => 'v1.0.0', 'title' => ''], ], [ 'name' => 'FunctionBlockId', 'in' => 'query', 'schema' => ['description' => 'The identifier of the custom TSL module. Each identifier is unique in a product.'."\n" ."\n" .'If you do not specify this parameter, the default module is queried.'."\n", 'type' => 'string', 'required' => false, 'example' => 'BatteryModule', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ProductKey' => ['description' => 'The **ProductKey** of the product.'."\n", 'type' => 'string', 'example' => 'a1BwAGV****', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data returned if the call is successful.'."\n", 'type' => 'object', 'properties' => [ 'ThingModelJson' => ['description' => 'The features of the TSL model. The TSL data format of the default module is different from the TSL data format of a custom module.'."\n" ."\n" .'For more information about the data format of the ThingModelJson parameter, see [Data structure of ThingModelJson](~~150457~~).'."\n", 'type' => 'string', 'example' => '{ "productKey":"a1Jw4id***", "_ppk":{ "version":"1.1", "description":"xxx" }, "properties":[ { "identifier": "SimCardType", "dataSpecs": { "max": "1", "dataType": "INT", "unit": "mmHg", "min": "0", "step": "1" }, "std": false, "custom": true, "dataType": "INT", "rwFlag": "READ_ONLY", "productKey": "a1Jw4idFWHX", "required": false, "customFlag": true, "name": "sim卡类型" } ], "services":[], "events":[] }', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ThingModelJson\\": \\"{ \\\\\\"productKey\\\\\\":\\\\\\"a1Jw4id***\\\\\\", \\\\\\"_ppk\\\\\\":{ \\\\\\"version\\\\\\":\\\\\\"1.1\\\\\\", \\\\\\"description\\\\\\":\\\\\\"xxx\\\\\\" }, \\\\\\"properties\\\\\\":[ { \\\\\\"identifier\\\\\\": \\\\\\"SimCardType\\\\\\", \\\\\\"dataSpecs\\\\\\": { \\\\\\"max\\\\\\": \\\\\\"1\\\\\\", \\\\\\"dataType\\\\\\": \\\\\\"INT\\\\\\", \\\\\\"unit\\\\\\": \\\\\\"mmHg\\\\\\", \\\\\\"min\\\\\\": \\\\\\"0\\\\\\", \\\\\\"step\\\\\\": \\\\\\"1\\\\\\" }, \\\\\\"std\\\\\\": false, \\\\\\"custom\\\\\\": true, \\\\\\"dataType\\\\\\": \\\\\\"INT\\\\\\", \\\\\\"rwFlag\\\\\\": \\\\\\"READ_ONLY\\\\\\", \\\\\\"productKey\\\\\\": \\\\\\"a1Jw4idFWHX\\\\\\", \\\\\\"required\\\\\\": false, \\\\\\"customFlag\\\\\\": true, \\\\\\"name\\\\\\": \\\\\\"sim卡类型\\\\\\" } ], \\\\\\"services\\\\\\":[], \\\\\\"events\\\\\\":[] }\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', 'title' => 'QueryThingModel', 'summary' => 'Queries the TSL features of a specified product.', 'description' => 'TSL features include properties, services, and events.'."\n" ."\n" .'If you add custom modules to a TSL model and the value of the **FunctionBlockId** parameter is empty, you can obtain the TSL features of each custom module. If the value of the FunctionBlockId parameter is not empty, you can obtain the TSL features of a specified custom module.'."\n" ."\n" .'For more information about the data format of the **ThingModelJson** parameter, see [Data structure of ThingModelJson](~~150457~~).'."\n" ."\n\n" .'## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS). '."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryThingModel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryThingModelExtendConfig' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1T27vz****', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The resource group ID.'."\n" ."\n" .'>Currently, IoT Platform supports resource group management only at the instance dimension. The **ResourceGroupId** request parameter is invalid and no longer needs to be passed.'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => '123***', 'title' => ''], ], [ 'name' => 'ModelVersion', 'in' => 'query', 'schema' => ['description' => 'The version number of the TSL model.'."\n" ."\n" .'You can call the [ListThingModelVersion](~~150318~~) operation to view the version numbers of the TSL model for a product.'."\n" ."\n" .'If you do not specify this parameter, the last published TSL version is returned.'."\n", 'type' => 'string', 'required' => false, 'example' => 'v1.0.0', 'title' => ''], ], [ 'name' => 'FunctionBlockId', 'in' => 'query', 'schema' => ['description' => 'The identifier of the custom TSL module. Each identifier is unique in a product.'."\n" ."\n" .'If you do not specify this parameter, the system exports the data of the default module.'."\n", 'type' => 'string', 'required' => false, 'example' => 'BatteryModule', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data returned if the call is successful.'."\n", 'type' => 'object', 'properties' => [ 'Configuration' => ['description' => 'The information of the extended TSL parameters. For more information about the definition of extended parameters, see [CreateThingModel](~~150323~~).'."\n", 'type' => 'string', 'example' => '{\\"profile\\":{\\"productKey\\":\\"a114x******\\"},\\"properties\\":[{\\"originalDataType\\":{\\"specs\\":{\\"registerCount\\":1,\\"reverseRegister\\":0,\\"swap16\\":0},\\"type\\":\\"bool\\"},\\"identifier\\":\\"WakeUpData\\",\\"registerAddress\\":\\"0x04\\",\\"scaling\\":1,\\"writeFunctionCode\\":0,\\"operateType\\":\\"inputStatus\\",\\"pollingTime\\":1000,\\"trigger\\":1}]}', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Configuration\\": \\"{\\\\\\\\\\\\\\"profile\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"productKey\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"a114x******\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"properties\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"originalDataType\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"specs\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"registerCount\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"reverseRegister\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"swap16\\\\\\\\\\\\\\":0},\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"bool\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"identifier\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"WakeUpData\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"registerAddress\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0x04\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"scaling\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"writeFunctionCode\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"operateType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"inputStatus\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"pollingTime\\\\\\\\\\\\\\":1000,\\\\\\\\\\\\\\"trigger\\\\\\\\\\\\\\":1}]}\\"\\n }\\n}","type":"json"}]', 'title' => 'Export the Thing Specification Language model extension description configuration of a specified product', 'summary' => 'Query the Thing Specification Language model extension description configuration.'."\n", 'description' => '## Queries per second (QPS) limit'."\n" ."\n" .'The maximum queries per second (QPS) for this API is 20 per Alibaba Cloud account.'."\n" ."\n" .' > All Resource Access Management (RAM) users under an Alibaba Cloud account share the quota of that Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When invoking this API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryThingModelExtendConfig', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryThingModelExtendConfig'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QueryThingModelExtendConfigPublished' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product.'."\n" ."\n" .'You can view the ProductKey on the Product Details page of the IoT Platform console. You can also obtain the ProductKey by calling the [QueryProductList](~~69271~~) operation.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'ModelVersion', 'in' => 'query', 'schema' => ['description' => 'The version number of the TSL model. If you do not specify this parameter, the last published TSL model is returned.'."\n", 'type' => 'string', 'required' => false, 'example' => 'v1.0.0', 'title' => ''], ], [ 'name' => 'FunctionBlockId', 'in' => 'query', 'schema' => ['description' => 'The identifier of the custom TSL module. Each identifier is unique in a product.'."\n" ."\n" .'If you do not specify this parameter, the default module is queried.'."\n", 'type' => 'string', 'required' => false, 'example' => 'BatteryModule', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data returned if the call is successful.'."\n", 'type' => 'object', 'properties' => [ 'Configuration' => ['description' => 'The information about the extended TSL parameters. For more information about the definition of extended parameters, see [CreateThingModel](~~150323~~).'."\n" ."\n" .'For more information, see [Data structure of ThingModelJson](~~150457~~).'."\n", 'type' => 'string', 'example' => '{\\"profile\\":{\\"productKey\\":\\"a114x******\\"},\\"properties\\":[{\\"originalDataType\\":{\\"specs\\":{\\"registerCount\\":1,\\"reverseRegister\\":0,\\"swap16\\":0},\\"type\\":\\"bool\\"},\\"identifier\\":\\"WakeUpData\\",\\"registerAddress\\":\\"0x04\\",\\"scaling\\":1,\\"writeFunctionCode\\":0,\\"operateType\\":\\"inputStatus\\",\\"pollingTime\\":1000,\\"trigger\\":1}]}', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Configuration\\": \\"{\\\\\\\\\\\\\\"profile\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"productKey\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"a114x******\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"properties\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"originalDataType\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"specs\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"registerCount\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"reverseRegister\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"swap16\\\\\\\\\\\\\\":0},\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"bool\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"identifier\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"WakeUpData\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"registerAddress\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0x04\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"scaling\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"writeFunctionCode\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"operateType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"inputStatus\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"pollingTime\\\\\\\\\\\\\\":1000,\\\\\\\\\\\\\\"trigger\\\\\\\\\\\\\\":1}]}\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n\\n {\\"profile\\":{\\"productKey\\":\\"a114x******\\"},\\"properties\\":[{\\"originalDataType\\":{\\"specs\\":{\\"registerCount\\":1,\\"reverseRegister\\":0,\\"swap16\\":0},\\"type\\":\\"bool\\"},\\"identifier\\":\\"WakeUpData\\",\\"registerAddress\\":\\"0x04\\",\\"scaling\\":1,\\"writeFunctionCode\\":0,\\"operateType\\":\\"inputStatus\\",\\"pollingTime\\":1000,\\"trigger\\":1}]}\\n\\n6DDF9D04-24C3-40D8-B490-2A528E59EA67\\ntrue\\n","errorExample":""}]', 'title' => 'QueryThingModelExtendConfigPublished', 'summary' => 'Queries the extended parameters of a published Thing Specification Language (TSL) model.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 20 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryThingModelExtendConfigPublished', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryThingModelPublished' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['description' => 'The resource group ID.'."\n" ."\n" .'> This parameter is not currently required.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfm4l5tcwd***', 'title' => ''], ], [ 'name' => 'ModelVersion', 'in' => 'query', 'schema' => ['description' => 'The version number of the TSL model.'."\n" ."\n" .'You can call the [ListThingModelVersion](~~150318~~) operation to view the version numbers of the TSL model for a product.'."\n" ."\n" .'If you do not specify this parameter, the last published TSL model version is returned.'."\n", 'type' => 'string', 'required' => false, 'example' => 'v1.0.0', 'title' => ''], ], [ 'name' => 'FunctionBlockId', 'in' => 'query', 'schema' => ['description' => 'The identifier of the custom TSL module. Each identifier is unique in a product.'."\n" ."\n" .'If you do not specify this parameter, the default module is queried.'."\n", 'type' => 'string', 'required' => false, 'example' => 'BatteryModule', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ProductKey' => ['description' => 'The ProductKey of the product.'."\n", 'type' => 'string', 'example' => 'a1BwAGV****', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'ThingModelJson' => ['description' => 'Define features for the TSL model. For more information about the data format of the ThingModelJson parameter, see [Data structure of ThingModelJson](~~150457~~).'."\n", 'type' => 'string', 'example' => '{\\"_ppk\\":{\\"version\\":\\"1594253010934\\"},\\"events\\":[],\\"productKey\\":\\"a1BwAGV****\\",\\"properties\\":[{\\"configCode\\":\\"8C03F0EEC63D4897BF2637F89AE36B011594227294067\\",\\"custom\\":true,\\"customFlag\\":true,\\"dataSpecs\\":{\\"custom\\":true,\\"dataType\\":\\"INT\\",\\"max\\":\\"1\\",\\"min\\":\\"0\\",\\"step\\":\\"1\\",\\"unit\\":\\"ppb\\"},\\"dataType\\":\\"INT\\",\\"description\\":\\"1\\",\\"extendConfig\\":\\"{\\\\\\"originalDataType\\\\\\":{\\\\\\"specs\\\\\\":{\\\\\\"registerCount\\\\\\":1,\\\\\\"reverseRegister\\\\\\":0,\\\\\\"swap16\\\\\\":0},\\\\\\"type\\\\\\":\\\\\\"bool\\\\\\"},\\\\\\"identifier\\\\\\":\\\\\\"WakeUpData\\\\\\",\\\\\\"registerAddress\\\\\\":\\\\\\"0x04\\\\\\",\\\\\\"scaling\\\\\\":1,\\\\\\"writeFunctionCode\\\\\\":0,\\\\\\"operateType\\\\\\":\\\\\\"inputStatus\\\\\\",\\\\\\"pollingTime\\\\\\":1000,\\\\\\"trigger\\\\\\":1}\\",\\"identifier\\":\\"WakeUpData\\",\\"name\\":\\"唤醒数据\\",\\"productKey\\":\\"a114xeJGj2p\\",\\"required\\":false,\\"rwFlag\\":\\"READ_ONLY\\",\\"std\\":false}],\\"services\\":[]}', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ThingModelJson\\": \\"{\\\\\\\\\\\\\\"_ppk\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"version\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1594253010934\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"events\\\\\\\\\\\\\\":[],\\\\\\\\\\\\\\"productKey\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"a1BwAGV****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"properties\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"configCode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"8C03F0EEC63D4897BF2637F89AE36B011594227294067\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"custom\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"customFlag\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"dataSpecs\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"custom\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"dataType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"INT\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"max\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"min\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"step\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"unit\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"ppb\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"dataType\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"INT\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"description\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"extendConfig\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"originalDataType\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"specs\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"registerCount\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"reverseRegister\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"swap16\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":0},\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"bool\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"identifier\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"WakeUpData\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"registerAddress\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"0x04\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"scaling\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"writeFunctionCode\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"operateType\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"inputStatus\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"pollingTime\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1000,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"trigger\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1}\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"identifier\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"WakeUpData\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"唤醒数据\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"productKey\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"a114xeJGj2p\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"required\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"rwFlag\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"READ_ONLY\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"std\\\\\\\\\\\\\\":false}],\\\\\\\\\\\\\\"services\\\\\\\\\\\\\\":[]}\\"\\n }\\n}","type":"json"}]', 'title' => 'QueryThingModelPublished', 'summary' => 'Invoke this API to view the details of feature definitions in the published Thing Specification Language model of a specified product.'."\n", 'description' => '## Queries per second (QPS) limit '."\n" .'Each Alibaba Cloud account can send up to 10 queries per second (QPS) to call this API. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When you invoke this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryThingModelPublished', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryThingModelPublished'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'QueryTopicConfig' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Message' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'TopicConfigInfo' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'TopicFullName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Operation' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ProductKey' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Description' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Codec' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'EnableBroadcast' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'EnableProxySubscribe' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.message.broker.ParamCheckError', 'errorMessage' => 'Param check error.', 'description' => ''], ['errorCode' => 'iot.message.broker.ProductCheckError', 'errorMessage' => 'Product check error.', 'description' => ''], ['errorCode' => 'iot.message.broker.SystemError', 'errorMessage' => 'System error.', 'description' => ''], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QueryTopicConfig', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"TopicConfigInfo\\": [\\n {\\n \\"TopicFullName\\": \\"\\",\\n \\"Operation\\": \\"\\",\\n \\"ProductKey\\": \\"\\",\\n \\"Description\\": \\"\\",\\n \\"Codec\\": \\"\\",\\n \\"EnableBroadcast\\": false,\\n \\"EnableProxySubscribe\\": false\\n }\\n ]\\n }\\n}","type":"json"}]', ], 'QueryTopicReverseRouteTable' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The region where your devices reside. The region you specify must match the region that is specified in the console. Example: cn-shanghai.'."\n" ."\n" .'> This parameter is no longer used as an operation-specific request parameter. It is included in common request parameters.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The destination topic that receives messages.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-shanghai', 'title' => ''], ], [ 'name' => 'Topic', 'in' => 'query', 'schema' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'required' => true, 'example' => '/x7aWKW9***/testDataToDataHub/user/update', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'string', 'example' => 'FCC27691-9151-4B93-9622-9C90F30542EC"', 'title' => ''], 'Success' => ['description' => 'The list of source topics returned if the call is successful.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'SrcTopics' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Topic' => [ 'description' => '', 'type' => 'array', 'items' => ['description' => '', 'type' => 'object', 'example' => '["/CXi4***/device1/user/get","/CXi4***/device4/user/get"]', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"FCC27691-9151-4B93-9622-9C90F30542EC\\\\\\"\\",\\n \\"Success\\": true,\\n \\"SrcTopics\\": {\\n \\"Topic\\": [\\n [\\n \\"/CXi4***/device1/user/get\\",\\n \\"/CXi4***/device4/user/get\\"\\n ]\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n\\n /CXi4***/device1/user/get\\n /CXi4***/device4/user/get\\n\\nC5515170-3C1F-4004-A7C1-181E7955BC73\\ntrue\\n","errorExample":""}]', 'title' => 'QueryTopicReverseRouteTable', 'summary' => 'Queries the source topics that are subscribed to by a specified custom topic.', 'description' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'requestParamsDescription' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryTopicReverseRouteTable', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryTopicRouteTable' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'Topic', 'in' => 'query', 'schema' => ['description' => 'The source topic that publishes messages.'."\n", 'type' => 'string', 'required' => true, 'example' => '/x7aWKW94bb8/testDataToDataHub/user/update', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'FCC27691-9151-4B93-9622-9C90F30542EC', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'DstTopics' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Topic' => [ 'description' => 'The list of destination topics returned if the call is successful.'."\n", 'type' => 'array', 'items' => ['description' => '', 'type' => 'object', 'example' => '["/CXi4***/device2/get","/CXi4***/device3/get"]', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"FCC27691-9151-4B93-9622-9C90F30542EC\\",\\n \\"Success\\": true,\\n \\"DstTopics\\": {\\n \\"Topic\\": [\\n [\\n \\"/CXi4***/device2/get\\",\\n \\"/CXi4***/device3/get\\"\\n ]\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n\\n /a1T27vz****/${deviceName}/user/submit/update\\n\\nD6CB2387-0D65-4240-9436-A2E18B434E31\\ntrue\\n","errorExample":""}]', 'title' => 'QueryTopicRouteTable', 'summary' => 'Queries the destination topics that subscribe to a specified source topic.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryTopicRouteTable', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryVehicleDevice' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the **ID** of the instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.****'."\n" .'>* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-2w****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the gateway product to which the device belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1Bw****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The DeviceName of the device.'."\n", 'type' => 'string', 'required' => false, 'example' => 'light', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see the "**Error codes**" section of this topic.'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The device information returned.'."\n", 'type' => 'object', 'properties' => [ 'ProductKey' => ['description' => 'The **ProductKey** of the gateway product to which the device belongs.'."\n", 'type' => 'string', 'example' => 'a1BwAGV****', 'title' => ''], 'ModifiedTime' => ['description' => 'The timestamp when the device was last updated. Unit: milliseconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1657062301656', 'title' => ''], 'DeviceName' => ['description' => 'The DeviceName of the device.'."\n", 'type' => 'string', 'example' => 'light', 'title' => ''], 'Protocol' => ['description' => 'Cloud gateway Protocol Type. Valid values:'."\n" ."\n" .'- **gb32960**: GB/T 32960 protocol.'."\n" .'- **jt808**: JT/T 808 protocol.'."\n" .'- **sl651**: SL 651 protocol.', 'type' => 'string', 'example' => 'gb32960', 'title' => ''], 'CreateTime' => ['description' => 'The timestamp when the device was created. Unit: milliseconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1557062301656', 'title' => ''], 'IotId' => ['description' => 'The ID is a unique identifier that is issued by IoT Platform to the device.'."\n", 'type' => 'string', 'example' => 'dm0001', 'title' => ''], 'JtProtocolDeviceData' => [ 'description' => 'Registration and authentication information returned only for JT/T 808 protocol cloud gateway devices. ', 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the device. Valid values: '."\n" ."\n" .'- **create**: The device has been created. '."\n" .'- **register**: The device has been registered. '."\n" .'- **unregister**: The device has been logged off. ', 'type' => 'string', 'example' => 'create', 'title' => ''], 'RegisterTime' => ['description' => 'The UNIX timestamp indicating when the device was registered. Unit: milliseconds.', 'type' => 'string', 'format' => 'int64', 'example' => '1517062301656', 'title' => ''], 'AuthCode' => ['description' => 'The authentication code for device authentication.', 'type' => 'string', 'example' => '*******', 'title' => ''], 'VehicleColour' => ['description' => 'License plate color. The value must comply with the JT/T 808 protocol standard. For details, see the [JT/T 808-2019 protocol](https://static-aliyun-doc.oss-cn-hangzhou.aliyuncs.com/file-manage-files/zh-CN/20221220/mdsf/JT-T%20808-2019.pdf).', 'type' => 'string', 'example' => '1', 'title' => ''], 'DeviceId' => ['description' => 'Device ID.', 'type' => 'string', 'example' => 'di0001', 'title' => ''], 'VehicleNumber' => ['description' => 'License plate number.', 'type' => 'string', 'example' => '浙A****', 'title' => ''], 'City' => ['description' => 'The city where the device is registered.', 'type' => 'string', 'example' => '杭州', 'title' => ''], 'DeviceModel' => ['description' => 'The Device Model. ', 'type' => 'string', 'example' => 'dm0001', 'title' => ''], 'Manufacturer' => ['description' => 'Device Manufacturer ID.', 'type' => 'string', 'example' => 'mf0001', 'title' => ''], 'Province' => ['description' => 'The province where the device is registered.', 'type' => 'string', 'example' => '浙江', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Iot.Device.NotExistedDevice', 'errorMessage' => 'The device does not exist.', 'description' => ''], ['errorCode' => 'iot.device.NullDeviceName', 'errorMessage' => 'The ProductKey or DeviceName parameter cannot be empty.', 'description' => 'The ProductKey or DeviceName parameter cannot be empty.'], ['errorCode' => 'iot.device.NoPermission', 'errorMessage' => 'The Operation has not permission to the device.', 'description' => ''], ['errorCode' => 'Iot.Device.NoVehicleProtocolDevice', 'errorMessage' => 'The device non vehicle protocol data.', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"ModifiedTime\\": 1657062301656,\\n \\"DeviceName\\": \\"light\\",\\n \\"Protocol\\": \\"gb32960\\",\\n \\"CreateTime\\": 1557062301656,\\n \\"IotId\\": \\"dm0001\\",\\n \\"JtProtocolDeviceData\\": {\\n \\"Status\\": \\"create\\",\\n \\"RegisterTime\\": \\"1517062301656\\",\\n \\"AuthCode\\": \\"*******\\",\\n \\"VehicleColour\\": \\"1\\",\\n \\"DeviceId\\": \\"di0001\\",\\n \\"VehicleNumber\\": \\"浙A****\\",\\n \\"City\\": \\"杭州\\",\\n \\"DeviceModel\\": \\"dm0001\\",\\n \\"Manufacturer\\": \\"mf0001\\",\\n \\"Province\\": \\"浙江\\"\\n }\\n }\\n}","type":"json"}]', 'title' => 'QueryVehicleDevice', 'summary' => 'Invoke this API to query cloud gateway device information. ', 'description' => '## How-To '."\n" .'This API is used to query information about cloud gateway devices that use the JT/T 808 protocol, GB/T 32960 protocol, or SL 651 protocol. '."\n" ."\n" .'For details about the process and communication specifications for connecting devices using cloud gateway protocols, see [Overview of JT/T 808 Protocol Cloud Gateway](~~474256~~), [Overview of GB/T 32960 Protocol Cloud Gateway](~~2248990~~), and [Overview of SL 651 Protocol Cloud Gateway](~~2636038~~). '."\n" ."\n" .'## Queries per second (QPS) limit '."\n" ."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account when calling this API is 50. '."\n" ."\n" .'> All Resource Access Management (RAM) users under an Alibaba Cloud account share the quota of that Alibaba Cloud account. ', 'requestParamsDescription' => 'When calling the API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters Documentation](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryVehicleDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryVehicleDevice'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'RRpc' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'aldfeSe****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The name of the device that receives the request.'."\n", 'type' => 'string', 'required' => true, 'example' => 'device1', 'title' => ''], ], [ 'name' => 'Timeout', 'in' => 'query', 'schema' => ['description' => 'The timeout period of a response. Unit: milliseconds. Valid values: 1000 to 8000.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1000', 'title' => ''], ], [ 'name' => 'ContentType', 'in' => 'query', 'schema' => ['description' => 'The message type used when the server sends a message to the specified device over the JT/T 808 protocol. Valid values: '."\n" ."\n" .'- **0**: Detailed GNSS module positioning data. '."\n" .'- **11**: Road transport license IC card information. '."\n" .'- **65**: Pass-through via serial port 1. '."\n" .'- **66**: Pass-through via serial port 2. '."\n" .'- **240**–**255**: Custom pass-through defined by the user. '."\n" ."\n" .'For detailed instructions on using the JT/T 808 protocol supported by IoT Platform, see [Overview of JT/T 808 Protocol Cloud Gateway](~~474256~~).', 'type' => 'string', 'required' => false, 'example' => '240', 'title' => ''], ], [ 'name' => 'RequestBase64Byte', 'in' => 'formData', 'schema' => ['description' => 'The string that is obtained by performing Base64 encoding on the message. Example: `dGhpcyBpcyBhbiBleGFtcGxl`.'."\n", 'type' => 'string', 'required' => true, 'example' => 'dGhpcyBpcyBhbiBleGFtcGxl', 'title' => ''], ], [ 'name' => 'Topic', 'in' => 'query', 'schema' => ['description' => 'The custom revert-RPC (RRPC) topic. Before you can use a custom RRPC topic, you must configure the device. For more information, see [Use custom topics](~~90570~~).'."\n" ."\n" .'If you do not configure this parameter, the default RRPC topic is used.'."\n", 'type' => 'string', 'required' => false, 'example' => '/a1uZfYb****/A_Vol****/user/update', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'MessageId' => ['description' => 'The ID of the request. The request ID is generated by IoT Platform after the request is sent.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '889455942124347392', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '41C4265E-F05D-4E2E-AB09-E031F501AF7F', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'PayloadBase64Byte' => ['description' => 'The Base64 encoded payload that is returned by the device.'."\n", 'type' => 'string', 'example' => 'd29ybGQgaGVsbG8=', 'title' => ''], 'RrpcCode' => ['description' => 'The response code returned if the call is successful. Valid values:'."\n" ."\n" .'* **UNKNOWN**: A system error occurred.'."\n" .'* **SUCCESS**: The request is successful.'."\n" .'* **TIMEOUT**: The request times out.'."\n" .'* **OFFLINE**: The device is offline.'."\n" .'* **HALFCONN**: The device is offline. If the status of the device is HALFCONN, the device is offline but does not remain offline for a full heartbeat cycle.'."\n", 'type' => 'string', 'example' => 'SUCCESS', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"MessageId\\": 889455942124347400,\\n \\"RequestId\\": \\"41C4265E-F05D-4E2E-AB09-E031F501AF7F\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"PayloadBase64Byte\\": \\"d29ybGQgaGVsbG8=\\",\\n \\"RrpcCode\\": \\"SUCCESS\\"\\n}","type":"json"}]', 'title' => 'Send a Request Message to a Device', 'summary' => 'Send a request message to the specified device and synchronously return the response. ', 'description' => '## How-To '."\n" .'After you invoke this API, if the device does not respond within the configured **Timeout** period, IoT Platform considers the message as failed to send—even if the device has received the message.'."\n" ."\n" .'## QPS Limits'."\n" ."\n" .'A single Alibaba Cloud account can make up to 1000 queries per second (QPS) when calling this API.'."\n" ."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When invoking this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:RRpc', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RRpc'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'ReBindLicenseDevice' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'> You must specify the ID of a public instance of the new version or an Enterprise Edition instance. Otherwise, the request fails. You do not need to specify the ID of a public instance of the previous version.'."\n" ."\n" .'For more information, see [Overview](~~356505~~) of IoT instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot-e3***', 'title' => ''], ], [ 'name' => 'LicenseCode', 'in' => 'query', 'schema' => ['description' => 'The license type. Set the value to **LINK_SPEECH_COMMON_LICENSE**.'."\n", 'type' => 'string', 'required' => true, 'example' => 'LINK_SPEECH_COMMON_LICENSE', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the devices belong.'."\n" ."\n" .'You can go to the IoT Platform console or call the [QueryProductList](~~69271~~) operation to view the information about all products of the instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a2YwD23***', 'title' => ''], ], [ 'name' => 'DeviceNameList', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'The **DeviceNames** of all devices to which you want to rebind a license.'."\n" ."\n" .'You can call the [QueryDevice](~~69905~~) operation to query the **DeviceNames** of all devices that belong to a specific product.'."\n", 'type' => 'array', 'items' => ['description' => 'The **DeviceName** of the device to which you want to rebind a license.'."\n" ."\n" .'You can call the [QueryDevice](~~69905~~) operation to query the **DeviceNames** of all devices that belong to a specific product.'."\n", 'type' => 'string', 'required' => false, 'example' => 'testdevice', 'title' => ''], 'required' => true, 'example' => 'test', 'maxItems' => 10000, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the request fails.'."\n", 'type' => 'string', 'example' => 'An internal error occurred. Try again later.', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'AF71BF1D-B552-47CD-B34B-352557627992', 'title' => ''], 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The result of the batch rebinding operation.'."\n", 'type' => 'object', 'properties' => [ 'SuccessSum' => ['description' => 'The number of devices to which the license is rebound.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''], 'Progress' => ['description' => 'The progress of the batch rebinding operation. The progress is a percentage. Valid values: 1 to 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], 'ResultCsvFile' => ['description' => 'The URL of the file that contains unbound devices. The devices failed to be rebound with the license.'."\n", 'type' => 'string', 'example' => 'http://***', 'title' => ''], 'CheckProgressId' => ['description' => 'The unique ID that can be used to query the progress of the batch rebinding operation.'."\n", 'type' => 'string', 'example' => '123***', 'title' => ''], 'FailSum' => ['description' => 'The number of devices that failed to be rebound to the license.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.rtc.service.notSigned', 'errorMessage' => 'The RTC service is not activated.', 'description' => 'The Real-Time Communication service is not activated.'], ['errorCode' => 'iot.rtc.invalid.license.code', 'errorMessage' => 'invalid license code', 'description' => ''], ['errorCode' => 'iot.rtc.invalid.product.key', 'errorMessage' => 'invalid product key', 'description' => 'invalid product key'], ['errorCode' => 'iot.rtc.license.product.relation.nonexist', 'errorMessage' => 'license product relation non existent', 'description' => ''], ['errorCode' => 'iot.rtc.license.quota.lack', 'errorMessage' => 'license quota is not enough', 'description' => ''], ['errorCode' => 'iot.rtc.license.device.authorization.executing', 'errorMessage' => 'authorization for this license device is in progress', 'description' => ''], ['errorCode' => 'iot.vas.EmptyLicenseDeviceList', 'errorMessage' => 'empty license device list', 'description' => ''], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"An internal error occurred. Try again later.\\",\\n \\"RequestId\\": \\"AF71BF1D-B552-47CD-B34B-352557627992\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"SuccessSum\\": 10,\\n \\"Progress\\": 100,\\n \\"ResultCsvFile\\": \\"http://***\\",\\n \\"CheckProgressId\\": \\"123***\\",\\n \\"FailSum\\": 2\\n }\\n}","errorExample":""},{"type":"xml","example":"\\nAF71BF1D-B552-47CD-B34B-352557627992\\n\\n 123***\\n 100\\n http://***\\n 2\\n 10\\n\\ntrue\\n","errorExample":""}]', 'title' => 'ReBindLicenseDevice', 'summary' => 'Rebinds a license to multiple devices of a specific product.', 'description' => '## QPS limits'."\n" ."\n" .'You can call this API operation up to five times per second per account.'."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], ], 'RefreshDeviceTunnelSharePassword' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID: '."\n" .'- Enterprise instance: You must specify this parameter. You can view your Enterprise instance ID on the **Instance Overview** page in the IoT Platform console. '."\n" .'- Public instance: You do not need to specify this parameter. ', 'example' => 'iot_instc_pu****_c*-v64********', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the gateway belongs. This is the unique identifier of the product. ', 'example' => 'a1Wmy******', 'required' => true, 'type' => 'string', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The device name of the gateway. ', 'example' => 'LEGatewayAuto_B3XM******', 'required' => true, 'type' => 'string', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'properties' => [ 'Code' => ['description' => 'The return code of the API: '."\n" .'- **Success**: Indicates that the call succeeded. '."\n" .'- Other values: Indicate error codes. For more information about error codes, see [Error Codes](~~135200~~). ', 'example' => 'Success', 'type' => 'string', 'title' => ''], 'Password' => ['description' => 'The new tunnel sharing password. ', 'example' => '5f5c96d7e792af75da33a81dc87982ea********', 'type' => 'string', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the call fails. ', 'example' => 'request parameter error', 'type' => 'string', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request. ', 'example' => '46AF6619-EFF3-4B77-A90B-B9EAA0C6D1AF', 'type' => 'string', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call succeeded: '."\n" .'- **true**: Indicates that the call succeeded. '."\n" .'- **false**: Indicates that the call failed. ', 'example' => 'true', 'type' => 'boolean', 'title' => ''], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"Password\\": \\"5f5c96d7e792af75da33a81dc87982ea********\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"46AF6619-EFF3-4B77-A90B-B9EAA0C6D1AF\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'RefreshDeviceTunnelSharePassword ', 'summary' => 'Invoke this API to update the sharing password of a gateway tunnel. ', 'description' => '## Conditions '."\n" .'- If you call this API in an Enterprise instance, you must specify the **IotInstanceId** parameter. Otherwise, the API call fails. '."\n" .'- The maximum queries per second (QPS) for a single Alibaba Cloud account is 20 when calling this API. '."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. ', 'requestParamsDescription' => 'When you call this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Request Parameters](~~135196~~). ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:RefreshDeviceTunnelSharePassword', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RefreshDeviceTunnelSharePassword'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'RefreshStudioAppTokenOpen' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID.'."\n" ."\n" .'You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console. If an ID exists, you must specify this ID. Otherwise, the invocation fails.'."\n" ."\n" .''."\n" .'> If your public instance does not have an ID, see [How to Obtain an Instance ID](~~267533~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'AppId', 'in' => 'formData', 'schema' => ['description' => 'The application ID. You can invoke [QueryStudioAppList](~~216816~~) to query it.', 'type' => 'string', 'required' => true, 'example' => 'a12******', 'title' => ''], ], [ 'name' => 'ProjectId', 'in' => 'formData', 'schema' => ['description' => 'The project ID.'."\n" .'1. You can log on to the [Internet of Things development console](https://account.aliyun.com/login/login.htm?qrCodeFirst=false&oauth_callback=https%3A%2F%2Fstudio.iot.aliyun.com%2F%3Fspm%3Da2c4g.11186623.2.8.1e7830fagdybMb). After selecting the corresponding instance in the upper-left corner of the page, click Project Management in the left-side navigation pane.'."\n" .'2. In the standard project list, locate the target project, click the project card, and view the project ID in the address bar.', 'type' => 'string', 'required' => true, 'example' => 'a123*******', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation failed. For more information about error codes, see [Error Codes](~~202245~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation failed.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generated for this request.', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'Token data.', 'type' => 'object', 'properties' => [ 'Type' => ['description' => 'The type of the token.', 'type' => 'string', 'example' => 'custom', 'title' => ''], 'IsEnable' => ['description' => 'Indicates whether the token is enabled.'."\n" .'- **YES**: Yes.'."\n" .'- **NO**: No.', 'type' => 'string', 'example' => 'YES', 'title' => ''], 'BizId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => 'a12*******', 'title' => ''], 'Token' => ['description' => 'The token value.', 'type' => 'string', 'example' => 'cf245ddebd******', 'title' => ''], 'BizType' => ['description' => 'The application type.', 'type' => 'string', 'example' => 'webApp', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 200 => [ ['errorCode' => 'Studio.App.Token.AppHaveNoToken', 'errorMessage' => 'The application does not have any token.', 'description' => ''], ['errorCode' => 'Studio.App.Token.AppTokenNotActive', 'errorMessage' => 'The application token is not active.', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Type\\": \\"custom\\",\\n \\"IsEnable\\": \\"YES\\",\\n \\"BizId\\": \\"a12*******\\",\\n \\"Token\\": \\"cf245ddebd******\\",\\n \\"BizType\\": \\"webApp\\"\\n }\\n}","type":"json"}]', 'title' => 'RefreshStudioAppTokenOpen', 'summary' => 'Invoke this API to purge the authentication token of an application.', 'description' => '## Limits'."\n" .'Each Alibaba Cloud account can send a maximum of 5 queries per second (QPS) to invoke this API.'."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When you invoke this API, in addition to the API-specific request parameters described in this topic, you must also pass in common parameters. For more information about common parameters, see [Common Parameters](~~203277~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RefreshStudioAppTokenOpen'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'RegisterDevice' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the device belongs. A ProductKey is a GUID that is issued by IoT Platform to a product.'."\n" ."\n" .'You can use the IoT Platform console or call the [QueryProductList](~~69271~~) operation to view the information about all products within the current account.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The DeviceName of the device. The name must be 4 to 32 characters in length, and can contain letters, digits, hyphens (-), underscores (\\_), at signs (@), periods (.), and colons (:).'."\n" ."\n" .'You can use a combination of the DeviceName and ProductKey parameters to identify a device.'."\n" ."\n" .'> If you do not specify this parameter, IoT Platform randomly generates a DeviceName.'."\n", 'type' => 'string', 'required' => false, 'example' => 'light', 'title' => ''], ], [ 'name' => 'DevEui', 'in' => 'query', 'schema' => ['description' => 'The DevEUI of the LoRaWAN device.'."\n" ."\n" .'This parameter is required when you create a LoRaWAN device.'."\n", 'type' => 'string', 'required' => false, 'example' => 'e8SDdgeIlk3nED****', 'title' => ''], ], [ 'name' => 'Nickname', 'in' => 'query', 'schema' => ['description' => 'The alias of the device. The alias must be 4 to 64 characters in length, and can contain letters, digits, and underscores (\\_).'."\n" ."\n" .'> If you do not specify this parameter, IoT Platform does not generate an alias for the device.'."\n", 'type' => 'string', 'required' => false, 'example' => '园区灯', 'title' => ''], ], [ 'name' => 'PinCode', 'in' => 'query', 'schema' => ['description' => 'The PIN code of the LoRaWAN device. This parameter is used to verify the DevEUI.'."\n" ."\n" .'When you create a LoRaWAN device, set **LoraNodeType** to **ALIYUNDEFINED**. This parameter is required.'."\n", 'type' => 'string', 'required' => false, 'example' => 'DIe80dfeg*****', 'title' => ''], ], [ 'name' => 'JoinEui', 'in' => 'query', 'schema' => ['description' => 'The JoinEUI of the LoRaWAN device.'."\n" ."\n" .'When you create a LoRaWAN device, set **LoraNodeType** to **USERDEFINED**. This parameter is required.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Ede4tde8erth****', 'title' => ''], ], [ 'name' => 'AppKey', 'in' => 'query', 'schema' => ['description' => 'The AppKey of the LoRaWAN device.'."\n" ."\n" .'When you create a LoRaWAN device, set **LoraNodeType** to **USERDEFINED**. This parameter is required.'."\n", 'type' => 'string', 'required' => false, 'example' => '674f***', 'title' => ''], ], [ 'name' => 'LoraNodeType', 'in' => 'query', 'schema' => ['description' => 'The type of the LoRaWAN device. Valid values:'."\n" ."\n" .'* **ALIYUNDEFINED**: The device is issued by Alibaba Cloud. You must specify **DevEui** and **PinCode**.'."\n" .'* **USERDEFINED**: The device is user-defined. You must specify **DevEui**, **JoinEui**, and **AppKey**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ALIYUNDEFINED', 'default' => 'ALIYUNDEFINED', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The device information returned if the call is successful.'."\n", 'type' => 'object', 'properties' => [ 'ProductKey' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n", 'type' => 'string', 'example' => 'a1BwAGV****', 'title' => ''], 'DevEui' => ['description' => 'The DevEUI of the LoRaWAN device. This parameter is returned only when you create a LoRaWAN device.'."\n", 'type' => 'string', 'example' => 'e8SDdgeIlk3nED****', 'title' => ''], 'DeviceName' => ['description' => 'The DeviceName of the device.'."\n" ."\n" .'> Keep the information confidential.', 'type' => 'string', 'example' => 'light', 'title' => ''], 'JoinEui' => ['description' => 'The JoinEUI of the LoRaWAN device. This parameter is returned only when you create a LoRaWAN device.'."\n", 'type' => 'string', 'example' => 'Ede4tde8erth****', 'title' => ''], 'DeviceSecret' => ['description' => 'The DeviceSecret of the device.'."\n" ."\n" .'> Keep the information confidential.', 'type' => 'string', 'example' => 'mz2Canp4GB7qRVf1OYPNtRqB2anu****', 'title' => ''], 'Nickname' => ['description' => 'The alias of the device.'."\n" ."\n" .'If you do not specify an alias for the device, this parameter is empty.'."\n", 'type' => 'string', 'example' => '园区灯', 'title' => ''], 'IotId' => ['description' => 'The ID of the device. The ID is the unique identifier that is issued by IoT Platform to the device.'."\n" ."\n" .'> Keep the information confidential.', 'type' => 'string', 'example' => '1O4YPNtRqB2anumz2Canp4GB7q****', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ProductKey\\": \\"a1BwAGV****\\",\\n \\"DevEui\\": \\"e8SDdgeIlk3nED****\\",\\n \\"DeviceName\\": \\"light\\",\\n \\"JoinEui\\": \\"Ede4tde8erth****\\",\\n \\"DeviceSecret\\": \\"mz2Canp4GB7qRVf1OYPNtRqB2anu****\\",\\n \\"Nickname\\": \\"园区灯\\",\\n \\"IotId\\": \\"1O4YPNtRqB2anumz2Canp4GB7q****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n57b144cf-09fc-4916-a272-a62902d5b207\\ntrue\\n\\n device1\\n a1rYuVF****\\n tXHf4ezGEHcwdyMwoCDHGBmk9avi****\\n CqXL5h5ysRTA4NxjABjj0010fa****\\n detectors_in_beijing\\n\\n","errorExample":""}]', 'title' => 'RegisterDevice', 'summary' => 'Registers a device under a product.', 'description' => 'If you call this operation to register a device under a product, the device is added to the product in the IoT Platform console. After the device is registered, IoT Platform issues the IotId parameter to the device. This parameter is a globally unique identifier (GUID) of the device. To perform operations on a device, you must use the IotId parameter to identify the device.'."\n" ."\n" .'You can also use a combination of the ProductKey and DeviceName parameters to identify a device. A ProductKey is issued by IoT Platform to a product when you create the product. A DeviceName is specified or randomly generated when you create a device. The IotId parameter has a higher priority than a combination of the ProductKey and DeviceName parameters.'."\n" ."\n" .'For information about how to register multiple devices under a product at the same time, see [BatchRegisterDeviceWithApplyId](~~69514~~).'."\n" ."\n\n" .'## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 30 queries per second (QPS). '."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:RegisterDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'ReleaseEdgeDriverVersion' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. Do not specify this parameter for public instances. Specify this parameter for Enterprise instances.', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'DriverId', 'in' => 'query', 'schema' => ['description' => 'The driver ID. To obtain the ID, go to the **Driver Management** page in the [Edge Computing console](https://iot.console.aliyun.com/le/instance/list), and move the mouse pointer over the target driver name.'."\n" ."\n" .'You can also call the [QueryEdgeDriver](~~155776~~) API to obtain the driver ID.', 'type' => 'string', 'required' => true, 'example' => 'fec565038d7544978d9aed5c1a******', 'title' => ''], ], [ 'name' => 'DriverVersion', 'in' => 'query', 'schema' => ['description' => 'The driver version number.', 'type' => 'string', 'required' => true, 'example' => '1.2.0', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the API. A value of Success indicates success. Other values indicate error codes. For more information, see [Error Codes](~~135200~~).', 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => '3E56BFDF-3F00-495F-89A1-F891930DDB51', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. A value of true indicates success, and false indicates failure.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"3E56BFDF-3F00-495F-89A1-F891930DDB51\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Publish a specific version of a driver', 'summary' => 'Publish a specific version of a driver.', 'description' => '## Conditions'."\n" .'Each Alibaba Cloud account can send a maximum of 10 queries per second (QPS) to invoke this API.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When you invoke this API, in addition to the API-specific request parameters described in this topic, you must also specify common parameters. For more information about common parameters, see [Common Parameters](~~135196~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:ReleaseEdgeDriverVersion', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ReleaseEdgeDriverVersion'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'ReleaseProduct' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-v64***', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to be published.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E4F94B97-1D64-4080-BFD2-67461667AA43', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"E4F94B97-1D64-4080-BFD2-67461667AA43\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 57b144cf-09fc-4916-a272-a62902d5b207\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'ReleaseProduct', 'summary' => 'Publishes a product.', 'description' => '* After a product is published, you cannot call the [CreateThingModel](~~150323~~), [UpdateThingModel](~~151240~~), [ImportThingModelTSL](~~150320~~), [PublishThingModel](~~150311~~), [DeleteThingModel](~~150312~~), or [CopyThingModel](~~150322~~) operation to edit the Thing Specification Language (TSL) model of the product. To edit the TSL model, you must call the [CancelReleaseProduct](~~213875~~) operation to unpublish the product.'."\n" ."\n" .'* Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:ReleaseProduct', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'RemoveThingTopo' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n\n" .'**Important**'."\n" ."\n" .'* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n" .'* If no **Overview** page or ID is generated for your instance, you do not need to configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the device belongs.'."\n" ."\n" .'> If you specify a value for this parameter, you must also specify a value for the **DeviceName** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The DeviceName of the device.'."\n" ."\n" .'> If you specify a value for this parameter, you must also specify a value for the **ProductKey** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'light', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n" ."\n" .'> If you specify a value for this parameter, you do not need to specify a value for the **ProductKey** or **DeviceName** parameter. The IotId parameter specifies a globally unique identifier (GUID) for the device. The value of the **IotId** parameter corresponds to a combination of the values of the **ProductKey** and **DeviceName** parameters. If you specify a value for the **IotId** parameter and values for the **ProductKey** and **DeviceName** parameters, the value of the **IotId** parameter takes precedence.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'Data' => ['description' => 'Indicates whether the topological relationship was deleted.'."\n" ."\n" .'* **true**: The topological relationship was deleted.'."\n" .'* **false**: The topological relationship failed to be deleted.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"Data\\": true,\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\ntrue\\n098BEEF4-58F4-4181-A891-5D37DB6C4C3B\\ntrue\\n","errorExample":""}]', 'title' => 'RemoveThingTopo', 'summary' => 'Deletes the topological relationships between a gateway and all attached sub-devices, or the topological relationship between a sub-device and the gateway to which the sub-device is attached.', 'description' => '* If you specify a gateway, this operation removes the topological relationships between the gateway and all attached sub-devices.'."\n" .'* If you specify a sub-device, this operation removes the topological relationship between the sub-device and the gateway to which the sub-device is attached.'."\n" ."\n" .'# QPS limits'."\n" ."\n" .'Each Alibaba Cloud account can run up to 500 queries per second (QPS). '."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:RemoveThingTopo', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'ReplaceEdgeInstanceGateway' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. Do not pass this parameter for public instances. For Enterprise instances, this parameter is required.', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the edge instance. On the **Edge Instances** page in the [Edge Computing console](https://iot.console.aliyun.com/le/instance/list), hover your mouse over the name of the target edge instance to view its ID.'."\n" ."\n" .'You can also call the [QueryEdgeInstance](~~135214~~) API to obtain the ID.', 'type' => 'string', 'required' => true, 'example' => 'G4TGWGYwpo8zwr******', 'title' => ''], ], [ 'name' => 'CurrentGatewayId', 'in' => 'query', 'schema' => ['description' => 'The IotId of the current gateway device. IotId is the unique identifier (UUID) assigned by the IoT Platform to the device. You can call the [QueryDevice](~~69905~~) API to query it.', 'type' => 'string', 'required' => true, 'example' => 'oTCJomvT95WPyPPQ5sje******', 'title' => ''], ], [ 'name' => 'NewGatewayId', 'in' => 'query', 'schema' => ['description' => 'The IotId of the new gateway device to replace the current one. IotId is the unique identifier (UUID) assigned by the IoT Platform to the device. You can call the [QueryDevice](~~69905~~) API to query it.', 'type' => 'string', 'required' => true, 'example' => '65SkFyhZcU5d3PO2Ri13******', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the API. A value of Success indicates success. Other values indicate error codes. For more information, see [Error Codes](~~135200~~).', 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => '10E5C856-E0A1-4468-BE01-E540A8BA8819', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. A value of true indicates success, and false indicates failure.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"10E5C856-E0A1-4468-BE01-E540A8BA8819\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Replace the Gateway Attached to an Edge Instance', 'summary' => 'Replace the gateway that is attached to an edge instance. After the gateway is replaced, the deployment status and deployment history of the original gateway are purged.', 'description' => '## Conditions'."\n" ."\n" .'- You must reset the edge instance on the **Edge Computing** > **Edge Instances** > **Instance Details** page in the IoT Platform console before replacing the gateway.'."\n" ."\n" .'- The maximum queries per second (QPS) for this API under a single Alibaba Cloud account is 20.'."\n" ."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking this API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Request Parameters](~~135196~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:ReplaceEdgeInstanceGateway', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ReplaceEdgeInstanceGateway'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'RerunJob' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of your current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify this **ID**; otherwise, the API call will fail.'."\n" .'- If the **Instance Overview** page or the **ID** is not available, this parameter is not required.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~). ', 'example' => 'iot-0pp1n8t****', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'JobId', 'in' => 'query', 'schema' => ['description' => 'The device task ID. This is the globally unique identifier of the task.'."\n" ."\n" .'You can view the task ID on the **Devices > Jobs** page in the IoT Platform console. '."\n", 'example' => '450407b***', 'required' => true, 'type' => 'string', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'properties' => [ 'Code' => ['description' => 'The error code returned when the API call fails. For more information, see [Error Codes](~~87387~~). ', 'example' => 'iot.system.SystemException', 'type' => 'string', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the API call fails. ', 'example' => '系统异常', 'type' => 'string', 'title' => ''], 'RequestId' => ['description' => 'The globally unique identifier generated by Alibaba Cloud for this request. ', 'example' => 'A6BEAB33-03E6-4CE0-A94F-9E24C5512BAD', 'type' => 'string', 'title' => ''], 'Success' => ['description' => 'Indicates whether the API call succeeded.'."\n" ."\n" .'- **true**: The call succeeded, and the device jobs have been re-executed.'."\n" .'- **false**: The call failed, and the device jobs were not re-executed. ', 'example' => 'true', 'type' => 'boolean', 'title' => ''], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"A6BEAB33-03E6-4CE0-A94F-9E24C5512BAD\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Re-execute Task ', 'summary' => 'Re-execute all timed-out and failed device jobs under the specified device task. ', 'description' => '## How-To '."\n" .'This operation supports only device tasks that are in the **Completed** or **Timed Out** status.'."\n" ."\n" .'A device task in the **Completed** status indicates that all jobs under the task have finished execution. The possible final statuses of a completed job are as follows:'."\n" ."\n" .'- **FAILED**: The job failed.'."\n" .'- **REJECTED**: The job was denied.'."\n" .'- **TIMED_OUT**: The job timed out.'."\n" .'- **SUCCEEDED**: The job succeeded.'."\n" .'- **CANCELLED**: The job was canceled.'."\n" ."\n" .'> If all jobs under a device task have succeeded, calling this API will not re-execute the task.'."\n" ."\n" .'## QPS Limit '."\n" .'Each Alibaba Cloud account can send a maximum of 5 queries per second (QPS) to call this API. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. ', 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:RerunJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RerunJob'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'ResetConsumerGroupPosition' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'GroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the consumer group. After you call the [CreateConsumerGroup](~~170388~~) operation to create a consumer group, the consumer group ID is returned. You can call the [QueryConsumerGroupList](~~170419~~) operation to query the consumer group ID by group name. You can also go to the IoT Platform console,and choose **Rules** > **Server-side Subscription** > **Consumer Groups** to view the consumer group ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'nJRaJPn5U1JITGf******', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 73B9DF43-7780-47DE-8BED-077729D28BD2\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'ResetConsumerGroupPosition', 'summary' => 'Clears the accumulated messages of a consumer group when you use an AMQP server-side subscription.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:ResetConsumerGroupPosition', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'ResetDeviceTimeline' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the device belongs.', 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The device name.', 'type' => 'string', 'required' => true, 'example' => 'light', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the ID of your current instance on the **Instance Overview** tab in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify this **ID**; otherwise, the invocation will fail.'."\n" .'- If no ID exists, you do not need to specify this parameter.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-v64******', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The status code of the invocation result:'."\n" .'- If the invocation succeeded, an empty value is returned.'."\n" .'- If the invocation failed, an error code is returned. For more information, see **Error Codes** below.', 'type' => 'string', 'example' => 'iot.device.NotExistedDevice', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => 'device not found.', 'title' => ''], 'RequestId' => ['description' => 'A unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.device.NotExistedDevice', 'errorMessage' => 'device not found.', 'description' => ''], ['errorCode' => 'iot.common.AuthActionPermissionDeny', 'errorMessage' => 'auth action permission deny.', 'description' => ''], ['errorCode' => 'iot.system.IllegalRequest', 'errorMessage' => 'The request parameter is invalid.%s.', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.device.NotExistedDevice\\",\\n \\"ErrorMessage\\": \\"device not found.\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'ResetDeviceTimeline', 'summary' => 'Invoke this API to delete stored metric data for a specified device.', 'description' => '## How-To'."\n" .'Currently, only users on the whitelist can invoke this API. Please submit a ticket to request access.'."\n" ."\n" .'## QPS Limit'."\n" ."\n" .'The maximum queries per second (QPS) limit for a single Alibaba Cloud account is 30 when calling this API.'."\n" ."\n" .'> All Resource Access Management (RAM) users under an Alibaba Cloud account share the quota of that account.', 'requestParamsDescription' => 'When invoking the API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:ResetDeviceTimeline', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ResetDeviceTimeline'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'ResetThing' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n" .'>* If no **Overview** page or ID is generated for your instance, you do not need to configure this parameter.'."\n" ."\n" .'For more information, see [Instance overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n" ."\n" .'> If you specify a value for this parameter, you must also specify a value for the **DeviceName** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1KiV******', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The DeviceName of the device.'."\n" ."\n" .'> If you specify a value for this parameter, you must also specify a value for the **ProductKey** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'device1', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the device.'."\n" ."\n" .'> If you specify a value for this parameter, you do not need to specify a value for the **ProductKey** or **DeviceName** parameter. The **IotId** parameter specifies a globally unique identifier (GUID) for the device. The value of the IotId parameter corresponds to a combination of the values of the **ProductKey** and **DeviceName** parameters. If you specify a value for the **IotId** parameter and values for the **ProductKey** and **DeviceName** parameters, the value of the **IotId** parameter takes precedence.'."\n", 'type' => 'string', 'required' => false, 'example' => 'SR8FiTu1R9tlUR2V1bmi0010a5****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '57b144cf-09fc-4916-a272-a62902d5b207', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values: **true** indicates that the call was successful. **false** indicates that the call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'JobId' => ['description' => 'The ID of the device job.'."\n", 'type' => 'string', 'example' => '450407b***', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"57b144cf-09fc-4916-a272-a62902d5b207\\",\\n \\"Success\\": true,\\n \\"JobId\\": \\"450407b***\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n 57b144cf-09fc-4916-a272-a62902d5b207\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'ResetThing', 'summary' => 'Resets the unique-certificate-per-product registration status of a device that is directly connected to IoT Platform, or deletes the current topology of the device.', 'description' => '* After you use dynamic registration to obtain the device certificate information of a directly connected device and activate the device, you can call this operation to reset the dynamic registration status of the status to unregistered in the IoT Platform console. Then, you can use dynamic registration again to obtain the device certificate information. The device certificate information includes ProductKey, DeviceName, and DeviceSecret.'."\n" ."\n" .'> This operation is called to reset the dynamic registration status instead of activation status of a device. After you call the operation to reset the dynamic registration status of a device, the status of the device in the IoT Platform console is not reset to inactive.'."\n" ."\n" .'* If you specify a gateway and the number of sub-devices that belong to the gateway exceeds 2,000, you can call this operation to create a device job to delete the topological relationships in an asynchronous manner. The operation returns the **JobId** parameter.'."\n" ."\n\n" .'## QPS limits'."\n" ."\n" .'Each Alibaba Cloud account can run up to 500 queries per second (QPS). '."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:ResetThing', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'RetrySoundCodeLabelBatch' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'BatchCode', 'in' => 'formData', 'schema' => ['description' => 'The unique identifier of the batch. You can obtain it by querying the batch list using the [QuerySoundCodeLabelBatchList](~~424329~~) API.', 'type' => 'string', 'required' => true, 'example' => 'Md3ZiTL888K9llXDy7890***********', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID.You can view the **ID** of your current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify it; otherwise, the invocation fails.'."\n" .'- If no ID exists, you do not need to specify it.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [How to Obtain an Instance ID](~~267533~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.soundcodeservice.NotSigned', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.'."\n", 'type' => 'string', 'example' => 'sound code service has not been signed', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => '66FF51D3-***-49F1-B1A2-***', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" ."\n" .'- **true**: The invocation succeeded.'."\n" ."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.soundcode.InvalidParam', 'errorMessage' => 'invalid param', 'description' => 'invalid param'], ['errorCode' => 'iot.soundcode.LabelBatchNotExists', 'errorMessage' => 'sound code label batch not exists', 'description' => ''], ['errorCode' => 'iot.soundcode.LabelBatchCanNotBeRetried', 'errorMessage' => 'label batch can not be retried', 'description' => ''], ['errorCode' => 'iot.soundcode.InvalidIotInstanceId', 'errorMessage' => 'invalid iot instance id', 'description' => 'invalid iot instance id'], ], 403 => [ ['errorCode' => 'iot.soundcodeservice.NotSigned', 'errorMessage' => 'sound code service has not been signed', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'RetrySoundCodeLabelBatch', 'summary' => 'Invoke this API to restart a sound code label batch.', 'description' => '## Queries per second (QPS) limit'."\n" .'The maximum queries per second (QPS) for this API is 1 per Alibaba Cloud account.'."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling this API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:RetrySoundCodeLabelBatch', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '1', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RetrySoundCodeLabelBatch'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'ReupgradeOTATask' => [ 'methods' => ['post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'JobId', 'in' => 'query', 'schema' => ['description' => 'The ID of the update batch.'."\n" ."\n" .'After you call the [CreateOTAStaticUpgradeJob](~~147496~~) or [CreateOTADynamicUpgradeJob](~~147887~~) operation to create an update batch, the **JobId** parameter is returned.'."\n" ."\n" .'You can also view the **batch ID** on the **Firmware Details** page in the IoT Platform console.'."\n", 'type' => 'string', 'required' => true, 'example' => '7glPHmaDYLAYMD1HHutT02****', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the ID of an instance on the **Overview** page in the IoT Platform console.****'."\n" ."\n" .'>* If the instance has an ID, you must specify the **IotInstanceId** parameter. If you do not specify this parameter, the call fails.'."\n" .'>* If the instance does not have an **ID** or no **Overview** page is displayed for the instance, you do not need to specify this parameter.'."\n" ."\n" .'For more information, see [Instance overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-v64***', 'title' => ''], ], [ 'name' => 'TaskId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The ID of the device upgrade job to be re-upgraded. You can specify 1 to 10 **TaskId** values.', 'type' => 'array', 'items' => ['type' => 'string', 'required' => false, 'description' => 'The ID of the device update task that you want to rerun. Valid values of **N**: 1 to 10.'."\n", 'title' => '', 'example' => ''], 'required' => true, 'example' => 'y3tOmCDNgpR8F9jnVEzC01****', 'maxItems' => 10, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails.'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '291438BA-6E10-4C4C-B761-243B9A0D324F', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call is successful. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.ota.FirmwareNotVerified', 'errorMessage' => 'The firmware validation is not completed.', 'description' => ''], ['errorCode' => 'iot.ota.NotFirmwareOwner', 'errorMessage' => 'The user is not owner of firmware.', 'description' => ''], ['errorCode' => 'iot.ota.UnmatchedJob', 'errorMessage' => 'The jobId and taskId do not match.', 'description' => ''], ['errorCode' => 'iot.ota.JobCanceled', 'errorMessage' => 'The job has already been canceled.', 'description' => ''], ['errorCode' => 'iot.ota.InvalidJobId', 'errorMessage' => 'The job is not existed.', 'description' => ''], ['errorCode' => 'iot.ota.InvalidFirmwareUid', 'errorMessage' => 'The firmware is not exist.', 'description' => ''], ['errorCode' => 'iot.ota.InvalidTaskId', 'errorMessage' => 'The tasks are not existed.', 'description' => ''], ['errorCode' => 'iot.ota.FailedTaskNotFound', 'errorMessage' => 'There are no failed tasks.', 'description' => ''], ['errorCode' => 'iot.ota.InvalidTaskExist', 'errorMessage' => 'The taskId list contains at least an invalid task.', 'description' => 'The list of update tasks contains at least one task that is not canceled or fails.'], ['errorCode' => 'iot.ota.DeviceNotReUpgraded', 'errorMessage' => 'There is no device can upgrade.', 'description' => ''], ['errorCode' => 'iot.ota.DeviceNotExist', 'errorMessage' => 'The device does not exist.', 'description' => ''], ['errorCode' => 'iot.ota.TooManyOtaTask', 'errorMessage' => 'There are too many tasks in parameters.', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"291438BA-6E10-4C4C-B761-243B9A0D324F\\",\\n \\"Success\\": false\\n}","type":"json"}]', 'title' => 'ReupgradeOTATask', 'summary' => 'Invoke this API to re-upgrade the device upgrade jobs that failed or were canceled under a specified batch.', 'description' => '## Queries per second (QPS) limit '."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 20.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ReupgradeOTATask'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'SaveDeviceProp' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. On the **Overview** page in the IoT Platform console, you can view the **ID** of the instance.'."\n" ."\n\n" .'**Important**'."\n" ."\n" .'* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n" .'* If the **Overview** page or instance ID is not displayed in the IoT Platform console, you do not need to configure this parameter.'."\n" ."\n" .'For more information about the instance, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The DeviceName of the device.'."\n" ."\n" .'> If you specify this parameter, you must also specify the **ProductKey** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'light', 'title' => ''], ], [ 'name' => 'Props', 'in' => 'query', 'schema' => ['description' => 'The tag that you want to specify for the device. You can specify multiple tags.'."\n" ."\n" .'The tags must be JSON data in the **Key:Value** format. **Key** indicates the tag name, and **Value** indicates the tag value.'."\n" ."\n" .'Separate multiple tags with commas (,). Example: **Props={"color":"red","shape":"round"}**'."\n" ."\n\n" .'**Important**'."\n" ."\n" .'* The maximum size of the **Props** parameter is 5 KB.'."\n" .'* `abc` is a **key** that is reserved by IoT Platform. You cannot set **Key** to abc. If you set `Key` to abc, the abc tag is automatically filtered when you query tags.', 'type' => 'string', 'required' => true, 'example' => '{"color":"red"}', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n" ."\n" .'> If you specify this parameter, you do not need to specify the **ProductKey** or **DeviceName** parameters. The **IotId** parameter specifies a globally unique identifier (GUID) for the device. The value of the IotId parameter corresponds to a combination of the values of the **ProductKey** and **DeviceName** parameters. If you specify the **IotId**, **ProductKey**, and **DeviceName** parameters, the value of the **IotId** parameter takes precedence.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information about error codes, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\n57b144cf-09fc-4916-a272-a62902d5b207\\ntrue\\n","errorExample":""}]', 'title' => 'SaveDeviceProp', 'summary' => 'Specifies a tag for a device.', 'description' => '* A device can have a maximum of 100 tags.'."\n" .'* You can modify or add a maximum of 100 tags at a time.'."\n" ."\n" .'## QPS limits'."\n" ."\n" .'Each Alibaba Cloud account can run up to 50 queries per second (QPS). '."\n" ."\n" .'> The Resource Access Management (RAM) users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:SaveDeviceProp', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'SaveScript' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of your current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify it; otherwise, the invocation fails.'."\n" .'- If the **Instance Overview** page or ID does not exist, you do not need to specify this parameter.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-n8t***', 'title' => ''], ], [ 'name' => 'ParserId', 'in' => 'query', 'schema' => ['description' => 'The resolver ID. You can call the [ListParsers](~~429046~~) API to query the resolver list and obtain the **ParserId**.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '99999999', 'minimum' => '0', 'example' => '1001', 'title' => ''], ], [ 'name' => 'ScriptDraft', 'in' => 'query', 'schema' => ['description' => 'The resolver script.', 'type' => 'string', 'required' => true, 'example' => 'var data = payload("json")', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ['errorCode' => 'iot.system.IllegalRequest', 'errorMessage' => 'The request parameter is invalid.', 'description' => 'The request parameter is invalid.'], ['errorCode' => 'iot.rule.EmptyScriptDraft', 'errorMessage' => 'The script draft is empty', 'description' => ''], ['errorCode' => 'iot.rule.NotFoundRule', 'errorMessage' => 'there are no rules', 'description' => ''], ['errorCode' => 'iot.rule.ScriptLengthExceeds', 'errorMessage' => 'The length of script is exceeded', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'SaveScript', 'summary' => 'Invoke this API to edit and save a script draft for a resolver.', 'description' => '## QPS limit'."\n" ."\n" .'Each Alibaba Cloud account can send up to 10 queries per second (QPS) to call this API.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:SaveScript', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SaveScript'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'SetDeviceDesiredProperty' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the ID of the instance on the **Overview** page in the IoT Platform console.****'."\n" ."\n" .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.****'."\n" .'>* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n" ."\n" .'> If you configure this parameter, you must also specify a value for the **DeviceName** parameter.', 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The name of the device.'."\n" ."\n" .'> If you specify a value for this parameter, you must also specify a value for the **ProductKey** parameter.', 'type' => 'string', 'required' => false, 'example' => 'light', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n" ."\n" .'> The IotId parameter specifies a globally unique identifier (GUID) for the device. The value of the **IotId** parameter corresponds to a combination of the values of the **ProductKey** and **DeviceName** parameters. If you specify a value for this parameter, you do not need to specify the **ProductKey** or **DeviceName** parameters. If you specify values for the **IotId**, **ProductKey**, and **DeviceName** parameters, the value of the **IotId** parameter takes precedence.', 'type' => 'string', 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], [ 'name' => 'Versions', 'in' => 'query', 'schema' => ['description' => 'The version number of the desired property value. The value of this parameter is a JSON string. Format: Key:Value. Example: {"Temperature":2}.'."\n" ."\n" .'* **Key** specifies the identifier of the property. You can view the property identifier on the Define Feature tab of the Product Details page in the IoT Platform console.'."\n" ."\n" .'> The property identifier must be unique.'."\n" ."\n" .'* **Value** specifies the version number of the desired property value.'."\n" ."\n" .' The first time you specify a desired property value, set the Value parameter to 0. After you set the property value, the version number changes to 1. Each time you specify a desired property value, IoT Platform automatically increases the version number by 1. The second time that you specify a desired property value, the version number changes to 2. The third time that you specify a desired property value, set the version number to 2. After you specify the desired property value, the version number changes to 3.'."\n" ."\n" .'> If the version number that you specify for this parameter is not the current version number, the server rejects the request. If you are not sure about the current version number, you do not need to specify a version number. However, you must enter a valid JSON object {}.', 'type' => 'string', 'required' => true, 'example' => '{"Temperature":2}', 'title' => ''], ], [ 'name' => 'Items', 'in' => 'query', 'schema' => ['description' => 'The property value that you want to specify. The value of this parameter is a JSON string. Format: **Key:Value**. Example: {"Temperature":35}. You can specify up to 10 desired property values.'."\n" ."\n" .'* **Key** specifies the identifier of the property. You can view the property identifier on the **Define Feature**[ tab of the Product Details page in the IoT Platform console. You can also call the ](~~150321~~)QueryThingModel operation and view the property identifier in the returned TSL data.'."\n" ."\n" .' If the temperature property belongs to a custom module named testFb, this parameter is set to **{"testFb:temperature":35}**.'."\n" ."\n" .'>The specified property must allow read/write access. If you specify a read-only property, the setting fails. The property identifier must be unique.'."\n" ."\n" .'* **Value** specifies the desired value of the property. The value must match the data type and value range that are defined for the property.'."\n" ."\n" .'> If you set Value to null, the desired value of the property is cleared.', 'type' => 'string', 'required' => true, 'example' => '{"Temperature":35}', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data returned if the call is successful. For more information, see the following parameters.'."\n", 'type' => 'object', 'properties' => [ 'MessageId' => ['description' => 'The ID of the message that IoT Platform sends to the device to specify desired property values.'."\n", 'type' => 'string', 'example' => '300511751', 'title' => ''], 'Versions' => ['description' => 'The current version numbers of the desired property values.'."\n", 'type' => 'string', 'example' => '{\\"Temperature\\":2}', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"MessageId\\": \\"300511751\\",\\n \\"Versions\\": \\"{\\\\\\\\\\\\\\"Temperature\\\\\\\\\\\\\\":2}\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n\\n 300511751\\n {\\"LightAdjustLevel\\":2}\\n\\nAADE79D2-B328-4FC6-A3E0-34BB23BCA440\\ntrue\\n","errorExample":""}]', 'title' => 'SetDeviceDesiredProperty', 'summary' => 'Specifies desired values for multiple device properties at a time.', 'description' => '* You cannot query the desired values of read-only properties.'."\n" .'* You can specify up to 10 desired property values in a call.'."\n" .'* After a device is created, the value of the **Version** parameter is 0. If you want to configure the **Version** parameter the first time you specify a desired property value, set the **Version** parameter to 0.'."\n" ."\n" .'> If the Thing Specification Language (TSL) data is of the float or double type, the parameter values that correspond to the TSL data contain at least one decimal place. Examples: 10.0 and 11.1.'."\n" ."\n" .'## QPS limits'."\n" ."\n" .'Each Alibaba Cloud account can run up to 50 queries per second (QPS). '."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must also configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:SetDeviceDesiredProperty', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'SetDeviceGroupTags' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. On the **Overview** page in the IoT Platform console, you can view the **ID** of the instance.'."\n" ."\n\n" .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n" .'>* If the **Overview** page or instance ID is not displayed in the IoT Platform console, you do not need to configure this parameter.'."\n" ."\n" .'For more information about the instance, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'GroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the group. The ID is the globally unique identifier (GUID) for the group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'W16X8Tvdosec****', 'title' => ''], ], [ 'name' => 'TagString', 'in' => 'query', 'schema' => ['description' => 'The tag data in the JSON format. The TagString parameter specifies multiple tags in the format of key-value pairs. You must specify **tagKey** and **tagValue** for each tag.'."\n" ."\n" .'* **tagKey**: the tag key. The key must be 2 to 30 characters in length, and can contain letters, digits, and periods (.).'."\n" .'* **tagValue**: the tag value. Each value can contain letters, digits, underscores (\\_), and hyphens (-). The value must be 1 to 128 characters in length.'."\n" ."\n" .'Separate multiple tags with commas (,). Example: `[{"tagKey":"h1","tagValue":"rr"},{"tagKey":"7h","tagValue":"rr"}]`'."\n" ."\n" .'If you specify a new value for an existing tag, the new tag value overwrites the original value.'."\n" ."\n" .'If you want to delete a tag, you do not need to specify the key and value for the tag.'."\n" ."\n" .'**'."\n" ."\n" .'**Important** `abc` is a key that is reserved by IoT Platform. You cannot set **tagKey** to abc. If you set `tagKey` to abc, the abc tag is automatically filtered when you query tags.'."\n", 'type' => 'string', 'required' => false, 'example' => '[{"tagKey":"h1","tagValue":"rr"},{"tagKey":"7h","tagValue":"rr"}]', 'title' => ''], ], [ 'name' => 'GroupType', 'in' => 'query', 'schema' => ['description' => 'The type of the group.'."\n" ."\n" .'You do not need to configure this parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'LINK_PLATFORM_DYNAMIC', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information about the error codes, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '12CFDAF1-99D9-42E0-8C2F-F281DA5E8953', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"12CFDAF1-99D9-42E0-8C2F-F281DA5E8953\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n 12CFDAF1-99D9-42E0-8C2F-F281DA5E8953\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'SetDeviceGroupTags', 'summary' => 'Adds, updates, or deletes group tags.', 'description' => 'A device group can have a maximum of 100 tags.'."\n" ."\n" .'## QPS limits'."\n" ."\n" .'Each Alibaba Cloud account can run up to 50 queries per second (QPS). '."\n" ."\n" .'> The Resource Access Management (RAM) users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:SetDeviceGroupTags', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'SetDeviceProperty' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the elastic container instance. You can view the ID of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.****'."\n" .'>* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-v64*****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n" ."\n" .'> If you configure this parameter, you must also specify a value for the **DeviceName** parameter.', 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The DeviceName of the device.'."\n" ."\n" .'> If you configure this parameter, you must specify a value for the **ProductKey** parameter.', 'type' => 'string', 'required' => false, 'example' => 'light', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the device. The ID is a unique identifier that is issued by IoT Platform to the device.'."\n" ."\n" .'> The IotId parameter specifies a globally unique identifier (GUID) for the device. The value of the **IotId** parameter corresponds to a combination of the values of the **ProductKey** and **DeviceName** parameters. If you specify a value for this parameter, you do not need to configure the **ProductKey** or **DeviceName** parameter. If you specify values for the **IotId**, **ProductKey**, and **DeviceName** parameters, the value of the **IotId** parameter takes precedence.', 'type' => 'string', 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], [ 'name' => 'Items', 'in' => 'query', 'schema' => ['description' => 'The properties that you want to specify. The properties must be in the JSON format.'."\n" ."\n" .'Each property consists of a **key-value pair in the key:value format**. Separate multiple properties with commas (,).'."\n" ."\n" .'For example, you can configure the following properties for a smart lamp:'."\n" ."\n" .'* A switch property whose key is **Switch** and whose data type is **BOOLEAN**. The value is **1**. The value 1 indicates that the light is on.'."\n" .'* A color property whose key is **Color** and whose data type is **STRING**. The value is **blue**.'."\n" ."\n" .'In this case, you can specify the following properties in the JSON format:'."\n" ."\n" .'`Items={"Switch":1,"Color":"blue"}`'."\n" ."\n" .'> If you specify properties for the custom module testFb, set the Items parameter to `{"testFb:Switch":1,"testFb:Color":"blue"}`. The testFb module is not the default module.'."\n", 'type' => 'string', 'required' => true, 'example' => '{"Switch":1,"Color":"blue"}', 'title' => ''], ], [ 'name' => 'Qos', 'in' => 'query', 'schema' => ['description' => 'Specifies the message delivery method when invoking this API. Valid values: '."\n" ."\n" .'- **0** (default): Deliver at most once. '."\n" .'- **1**: Deliver at least once. If a QoS=1 message does not receive a PUBACK message, it will be resent to the device upon reconnection. ', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1', 'minimum' => '0', 'default' => '0', 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data returned if the call is successful.'."\n", 'type' => 'object', 'properties' => [ 'MessageId' => ['description' => 'The ID of the message that IoT Platform sends to the device.'."\n", 'type' => 'string', 'example' => 'abcabc123', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"MessageId\\": \\"abcabc123\\"\\n }\\n}","type":"json"}]', 'title' => 'Set property values for a specified device ', 'summary' => 'Invoke this API to set property values for a specified device. ', 'description' => 'Because the process of the cloud sending a property setting command and the device receiving and executing the command is asynchronous, a successful response from this API only indicates that the cloud has successfully sent the property setting request. It does not guarantee that the device has received and executed the request. The device property value is only successfully set after the device-side software development kit (SDK) successfully responds to the cloud\'s request to set the device property value. '."\n" ."\n" .'>When the data type defined in the Thing Specification Language model is float or double, the corresponding parameter value (even if it is an integer) must include at least one decimal place. For example: 10.0 or 11.1. '."\n" .'> '."\n" ."\n" .'## Queries per second (QPS) limit '."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 500. '."\n" ."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:SetDeviceProperty', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetDeviceProperty'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'SetDevicesProperty' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the ID of the instance on the **Overview** page in the IoT Platform console.****'."\n" ."\n" .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.****'."\n" .'>* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the device belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'Qos', 'in' => 'query', 'schema' => ['type' => 'integer', 'description' => '', 'format' => 'int32', 'required' => false, 'maximum' => '1', 'minimum' => '0', 'default' => '0', 'title' => '', 'example' => ''], ], [ 'name' => 'Items', 'in' => 'query', 'schema' => ['description' => 'The properties that you want to specify. The properties must be in the JSON format.'."\n" ."\n" .'Each property consists of a **key-value pair in the key:value format**. Separate multiple properties with commas (,).'."\n" ."\n" .'For example, you can configure the following properties for a smart lamp:'."\n" ."\n" .'* A switch property whose key is **Switch** and whose data type is **BOOLEAN**. The value is **1**. The value 1 indicates that the light is on.'."\n" .'* A color property whose key is **Color** and whose data type is **STRING**. The value is **blue**.'."\n" ."\n" .'In this case, you can specify the following properties in the JSON format:'."\n" ."\n" .'`Items={"Switch":1,"Color":"blue"}`'."\n" ."\n" .'> If you configure properties for the custom module testFb, set the Items parameter to `{"testFb:Switch":1,"testFb:Color":"blue"}`. The testFb module is not the default module.'."\n", 'type' => 'string', 'required' => true, 'example' => '{"Switch":1,"Color":"blue"}', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'A list of device names whose property values you want to set. The number of device names must be between 1 and 100. '."\n", 'type' => 'array', 'items' => ['type' => 'string', 'description' => 'The names of the devices whose properties you want to configure. Valid values: 1 to 100.'."\n", 'title' => '', 'example' => ''], 'required' => true, 'example' => 'light', 'maxItems' => 500, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information about the error codes, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Batch Set Device Property Values ', 'summary' => 'Invoke this API to batch set device property values. ', 'description' => '## How-To '."\n" .'When the data type defined in the Thing Specification Language model is float or double, the corresponding parameter value (even if it is an integer) must include at least one decimal place. For example: 10.0 or 11.1.'."\n" ."\n" .'## QPS Limit '."\n" ."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 10. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Request Parameters](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:SetDevicesProperty', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetDevicesProperty'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'SetEdgeInstanceDriverConfigs' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. Do not pass this parameter for public instances. For Enterprise instances, you must pass this parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the edge instance. You can obtain the ID by moving the mouse pointer over the target edge instance name on the **Edge Instances** page in the [Edge Computing console](https://iot.console.aliyun.com/le/instance/list). '."\n" ."\n" .'You can also call the [QueryEdgeInstance](~~135214~~) API to obtain it.'."\n", 'type' => 'string', 'required' => true, 'example' => 'F3APY0tPLhmgGtx0****', 'title' => ''], ], [ 'name' => 'DriverId', 'in' => 'query', 'schema' => ['description' => 'The driver ID. You can obtain the ID by moving the mouse pointer over the target driver name on the **Driver Management** page in the [Edge Computing console](https://iot.console.aliyun.com/le/instance/list). '."\n" ."\n" .'You can also call the [QueryEdgeDriver](~~155776~~) API to obtain it.'."\n", 'type' => 'string', 'required' => true, 'example' => '021d154d2a2f4dd7a489773d9e04****', 'title' => ''], ], [ 'name' => 'Configs', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of configurations.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The keyword of the configuration. It is used to distinguish between configurations when multiple configurations exist.', 'type' => 'string', 'required' => false, 'example' => 'key1', 'title' => ''], 'Format' => ['description' => 'The file format of the configuration. Valid values include KV (key-value pair configuration), JSON (JSON format), and FILE (configuration file).'."\n", 'type' => 'string', 'required' => true, 'example' => 'JSON', 'title' => ''], 'Content' => ['description' => 'The configuration content. You can pass one of the following: '."\n" ."\n" .'- The configuration text. For the required format, see [Driver and Device Information Configuration](~~120906~~). '."\n" .'- The Object Storage Service (OSS) URL where the configuration file is stored.'."\n", 'type' => 'string', 'required' => true, 'example' => '{"test":123}', 'title' => ''], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => true, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the API. A value of "Success" indicates that the request succeeded. Any other value indicates an error code. For more information, see [Error Codes](~~135200~~).'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.'."\n", 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.'."\n", 'type' => 'string', 'example' => '252C7754-F6A2-454B-9DE2-382A97FC0C3F', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. A value of true indicates success, and false indicates failure.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"252C7754-F6A2-454B-9DE2-382A97FC0C3F\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'SetEdgeInstanceDriverConfigs'."\n", 'summary' => 'Invoke this API to configure the driver for an edge instance.'."\n", 'description' => '## Conditions'."\n" .'Each Alibaba Cloud account can send a maximum of 10 queries per second (QPS) to call this API. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When calling this API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Request Parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:SetEdgeInstanceDriverConfigs', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetEdgeInstanceDriverConfigs'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'SetProductCertInfo' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the ID of the instance on the **Overview** page in the IoT Platform console.****'."\n" ."\n" .'> If your instance has an ID, you must specify the ID for the parameter. Otherwise, the call fails. If no Overview page or ID is generated for your instance, you do not need configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product.'."\n", 'type' => 'string', 'required' => true, 'example' => 'aS2dewS****', 'title' => ''], ], [ 'name' => 'IssueModel', 'in' => 'query', 'schema' => ['description' => 'The source from which the X.509 certificate is issued.'."\n" ."\n" .'* **1**: The X.509 certificate is issued by IoT Platform.'."\n" .'* **3**: The X.509 certificate is issued by a third-party platform.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'MissingProductKey', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => 'ProductKey is mandatory for this action.', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '57b144cf-09fc-4916-a272-a62902d5b207', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"MissingProductKey\\",\\n \\"ErrorMessage\\": \\"ProductKey is mandatory for this action.\\",\\n \\"RequestId\\": \\"57b144cf-09fc-4916-a272-a62902d5b207\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\n57b144cf-09fc-4916-a272-a62902d5b207\\ntrue\\n","errorExample":""}]', 'title' => 'SetProductCertInfo', 'summary' => 'Specifies X.509 certificate information for a product.', 'description' => '## QPS limits'."\n" ."\n" .'You can call this API operation up to 30 times per second per account.'."\n" ."\n" .'>The RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:SetProductCertInfo', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'SetStudioProjectCooperation' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID.'."\n" ."\n" .'You can view the **ID** of your current instance on the **Instance Overview** page in the IoT Platform console. If an ID exists, you must specify it; otherwise, the invocation will fail.'."\n" ."\n" .''."\n" .'> If your public instance does not have an ID, see [How to Obtain an Instance ID](~~267533~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'Status', 'in' => 'formData', 'schema' => [ 'description' => 'The status of project collaboration.'."\n" .'- **0** (default): Shutdown.'."\n" .'- **1**: Enabled.', 'type' => 'string', 'required' => true, 'example' => '1', 'enum' => ['1', '0'], 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the invocation fails. For more information about error codes, see [Error Codes](~~202245~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'Data' => ['description' => 'This parameter is returned if the invocation succeeds, with a value of true.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the invocation fails.', 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 200 => [ ['errorCode' => 'IoT.Common.NullParameter', 'errorMessage' => 'Parameter cannot be empty.', 'description' => ''], ['errorCode' => 'Studio.Project.FeatureNotSupport', 'errorMessage' => 'The feature is not supported by the current account.', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"Data\\": true,\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'SetStudioProjectCooperation', 'summary' => 'You can invoke this API to configure project collaboration, which allows an Alibaba Cloud account to grant different projects to different Resource Access Management (RAM) users.', 'description' => '## Limits'."\n" .'Each Alibaba Assistant Cloud account can send a maximum of 5 queries per second (QPS) when invoking this API. '."\n" .'> RAM users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When you invoke this API, you must specify both the common request parameters and the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Request Parameters](~~203277~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:SetStudioProjectCooperation', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetStudioProjectCooperation'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'SetupStudioAppAuthModeOpen' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID. '."\n" ."\n" .'You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console. If an ID exists, you must specify it; otherwise, the invocation will fail. '."\n" ."\n" .' '."\n" .'> If your public instance does not have an ID, see [How to Obtain an Instance ID](~~267533~~). '."\n", 'example' => 'iot_instc_pu****_c*-v64********', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'AppId', 'in' => 'formData', 'schema' => ['description' => 'The application ID. You can call [QueryStudioAppList](~~216816~~) to query it. '."\n", 'example' => 'a12*****', 'required' => true, 'type' => 'string', 'title' => ''], ], [ 'name' => 'AuthMode', 'in' => 'formData', 'schema' => [ 'description' => 'The authentication pattern. Valid values: '."\n" .'- **0**: No authentication. '."\n" .'- **1**: Token. '."\n" .'- **2**: Account. '."\n", 'example' => '1', 'format' => 'int32', 'required' => true, 'type' => 'integer', 'enum' => ['0', '1', '2'], 'title' => '', ], ], [ 'name' => 'ProjectId', 'in' => 'formData', 'schema' => ['description' => 'The project ID. '."\n" .'1. Log on to the [IoT Application Development Console](https://account.aliyun.com/login/login.htm?qrCodeFirst=false&oauth_callback=https%3A%2F%2Fstudio.iot.aliyun.com%2F%3Fspm%3Da2c4g.11186623.2.8.1e7830fagdybMb). In the upper-left corner of the page, select the target instance, and then click Project Management in the left-side navigation pane. '."\n" .'2. In the standard project list, find the target project, click its project card, and then check the address bar of your browser. '."\n", 'example' => 'a123********', 'required' => true, 'type' => 'string', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation failed. For more information about error codes, see [Error Codes](~~202245~~).', 'example' => 'iot.system.SystemException', 'type' => 'string', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation failed.', 'example' => '系统异常', 'type' => 'string', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'type' => 'string', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: Failed to invoke. '."\n", 'example' => 'true', 'type' => 'boolean', 'title' => ''], 'Data' => [ 'description' => 'Application data.', 'properties' => [ 'AuthMode' => ['description' => 'The authentication mode.', 'example' => '1', 'format' => 'int32', 'type' => 'integer', 'title' => ''], 'TokenInfo' => [ 'description' => 'Token information.', 'properties' => [ 'Type' => ['description' => 'The token type.', 'example' => 'custom', 'type' => 'string', 'title' => ''], 'IsEnable' => ['description' => 'Indicates whether the token is enabled. '."\n" .'- **YES**: Yes. '."\n" .'- **NO**: No.', 'example' => 'YES', 'type' => 'string', 'title' => ''], 'BizId' => ['description' => 'The application ID.', 'example' => 'a12********', 'type' => 'string', 'title' => ''], 'Token' => ['description' => 'The token value.', 'example' => '25bf576a6c6f**********', 'type' => 'string', 'title' => ''], 'BizType' => ['description' => 'The application type.', 'example' => 'webApp', 'type' => 'string', 'title' => ''], ], 'type' => 'object', 'title' => '', 'example' => '', ], ], 'type' => 'object', 'title' => '', 'example' => '', ], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"AuthMode\\": 1,\\n \\"TokenInfo\\": {\\n \\"Type\\": \\"custom\\",\\n \\"IsEnable\\": \\"YES\\",\\n \\"BizId\\": \\"a12********\\",\\n \\"Token\\": \\"25bf576a6c6f**********\\",\\n \\"BizType\\": \\"webApp\\"\\n }\\n }\\n}","type":"json"}]', 'title' => 'SetupStudioAppAuthModeOpen '."\n", 'summary' => 'Invoke this API to set the authentication mode for an application.', 'description' => '## Limits'."\n" .'Each Alibaba Cloud account can invoke this API at a maximum rate of 5 queries per second (QPS). '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking the API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~203277~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetupStudioAppAuthModeOpen'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'ShareSpeechByCombination' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'> If your instance has an ID, you must specify this parameter. Otherwise, the request fails. If no Overview page exists or no instance ID is displayed, you do not need to specify this parameter.'."\n" ."\n" .'For more information, see the [Overview](~~356505~~) topic of IoT instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'SpeechId', 'in' => 'formData', 'schema' => ['description' => 'The unique ID of the combined speech that you want to broadcast. This ID is issued by IoT Platform to the device.'."\n" ."\n" .'> If you do not specify this parameter, IoT Platform automatically generates an ID. If you need to retry broadcasting the speech, you must specify the ID to prevent repeated broadcasting.'."\n", 'type' => 'string', 'required' => false, 'example' => '42000011392021112380********', 'title' => ''], ], [ 'name' => 'AudioFormat', 'in' => 'formData', 'schema' => ['description' => 'The audio format. Valid values: **wav**, **mp3**, and **amr**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'wav', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'formData', 'schema' => ['description' => 'The **ProductKey** of the product to which the device belongs. If you specify this parameter, you must also specify the **DeviceName** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV**** ', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'formData', 'schema' => ['description' => 'The **DeviceName** of the device. If you specify this parameter, you must also specify the **ProductKey** parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the device. You can call the [QuerySpeechDevice](~~280408~~) operation to obtain the ID.'."\n" ."\n" .'> If you specify this parameter, you do not need to specify the **ProductKey** and **DeviceName** parameters. **IotId** specifies a globally unique identifier (GUID) of the device, which corresponds to a combination of **ProductKey** and **DeviceName**. If you specify the **IotId**, **ProductKey**, and **DeviceName** parameters, the value of the **IotId** parameter takes precedence.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], [ 'name' => 'CombinationList', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'The combined content that you want to broadcast. The following types of content can be broadcasted:'."\n" ."\n" .'* The speeches that are pushed to the device. You must specify the identifiers of the speeches.'."\n" ."\n" .'* The custom content that you specify based on the supported format of the device.'."\n" ."\n" .' For example, you can create a custom speech about the amount of money in the format of `{$xxx}`. xxx is the specific amount. If you specify `{$1000}`, the device broadcasts **CNY 1000**.'."\n" ."\n" .'The device broadcasts the audio files in the sequence of the values that you specify in CombinationList.'."\n", 'type' => 'array', 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'required' => true, 'example' => 'ZFBDZ', 'maxItems' => 50, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the request fails.'."\n", 'type' => 'string', 'example' => 'An internal error occurred. Try again later.', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '671D0F8F-FDC7-4B12-93FA-336C079C965A', 'title' => ''], 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.devicespeech.ProjectNotFound', 'errorMessage' => 'project not found', 'description' => ''], ['errorCode' => 'iot.speechsolution.ProjectHasStopped', 'errorMessage' => 'project has stopped', 'description' => ''], ['errorCode' => 'iot.devicespeech.InvalidDevice', 'errorMessage' => 'invalid device to speech', 'description' => ''], ['errorCode' => 'iot.devicespeech.DeviceNotActived', 'errorMessage' => 'device not actived', 'description' => ''], ['errorCode' => 'iot.devicespeech.DeviceOffline', 'errorMessage' => 'device is offline', 'description' => ''], ['errorCode' => 'iot.devicespeech.RequestLimit', 'errorMessage' => 'too much request', 'description' => ''], ['errorCode' => 'iot.devicespeech.InvalidAudioFormat', 'errorMessage' => 'invalid audio format', 'description' => ''], ['errorCode' => 'iot.devicespeech.InvalidProductKeyAndDeviceName', 'errorMessage' => 'invalid productKey and deviceName', 'description' => 'invalid productKey and deviceName'], ['errorCode' => 'iot.devicespeech.InvalidDeviceId', 'errorMessage' => 'invalid iot device id', 'description' => 'invalid iot device id'], ['errorCode' => 'iot.speechservice.NotSigned', 'errorMessage' => 'speech service has not been signed', 'description' => ''], ['errorCode' => 'iot.devicespeech.InvalidSpeechId', 'errorMessage' => 'invalid device speech id', 'description' => ''], ['errorCode' => 'iot.devicespeech.ThingModelNotDefine', 'errorMessage' => 'thing model not define', 'description' => ''], ['errorCode' => 'iot.devicespeech.InvalidLicenseDevice', 'errorMessage' => 'invalid speech license device', 'description' => ''], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"An internal error occurred. Try again later.\\",\\n \\"RequestId\\": \\"671D0F8F-FDC7-4B12-93FA-336C079C965A\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\n671D0F8F-FDC7-4B12-93FA-336C079C965A\\ntrue\\n","errorExample":""}]', 'title' => 'ShareSpeechByCombination', 'summary' => 'Shares and combines audio files for broadcasting on a device.', 'description' => '## QPS limits'."\n" ."\n" .'You can call this API operation up to 50 times per second per account.'."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], ], 'SpeechByCombination' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotId', 'in' => 'formData', 'schema' => ['description' => 'The Device ID. You can obtain this parameter by calling [QuerySpeechDevice](~~280408~~). '."\n" ."\n" .'> If you specify this parameter, you do not need to provide **ProductKey** and **DeviceName**. **IotId** is a unique identifier for the device and corresponds one-to-one with the combination of **ProductKey** and **DeviceName**. If you provide both **IotId** and the **ProductKey**/**DeviceName** pair, **IotId** takes precedence.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'formData', 'schema' => ['description' => 'The **ProductKey** of the product to which the device belongs. If you pass this parameter, you must also pass **DeviceName**.'."\n" ."\n", 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV**** ', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'formData', 'schema' => ['description' => 'The **DeviceName** of the device. '."\n" .'If you pass this parameter, you must also pass **ProductKey**.'."\n" ."\n" .' ', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID. You can view the current instance **ID** on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID value exists, you must pass this ID value; otherwise, the invocation will fail.'."\n" .'- If no ID value exists, you do not need to pass it.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [How to obtain an instance ID](~~267533~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'AudioFormat', 'in' => 'formData', 'schema' => ['description' => 'The audio format. Only **wav**, **mp3**, and **amr** formats are supported.', 'type' => 'string', 'required' => false, 'example' => 'wav', 'title' => ''], ], [ 'name' => 'SpeechId', 'in' => 'formData', 'schema' => ['description' => 'The unique playback ID sent to the device.'."\n" .'>'."\n" .'If this parameter is not passed, the system generates one automatically. If your business logic requires retrying a playback, you must pass the same playback ID used in the original request to avoid duplicate business playback.'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => '42000011392021112380********', 'title' => ''], ], [ 'name' => 'EnforceFlag', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to send the forced playback identity to the playback device.'."\n" ."\n" .'- **false** (default): Do not send.'."\n" .'- **true**: Send.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'CombinationList', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of combined content to be played back, which includes the following types: '."\n" ."\n" .'- To play speech materials that have already been successfully pushed to the device, specify the identity of the speech material. '."\n" ."\n" .'- To play supported dynamic content, pass values according to the specific rules supported by the device. '."\n" ."\n" .' Example: For an amount, use the format `{$xxx}`, where `xxx` is the numeric value. For instance, `{$1000}` causes the device to announce **1000 yuan**. '."\n" ."\n" .'The device plays back the items in **CombinationList** sequentially as provided.'."\n", 'type' => 'array', 'items' => ['description' => 'The list of combined content to be played back, which includes the following types: '."\n" ."\n" .'- To play speech materials that have already been successfully pushed to the device, specify the identity of the speech material. '."\n" ."\n" .'- To play supported dynamic content, pass values according to the specific rules supported by the device. '."\n" ."\n" .' Example: For an amount, use the format `{$xxx}`, where `xxx` is the numeric value. For instance, `{$1000}` causes the device to announce **1000 yuan**. '."\n" ."\n" .'The device plays back the items in **CombinationList** sequentially as provided.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ZFBDZ', 'title' => ''], 'required' => true, 'example' => 'ZFBDZ', 'maxItems' => 50, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.'."\n", 'type' => 'string', 'example' => 'An internal error occurred. Try again later.', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.'."\n", 'type' => 'string', 'example' => '671D0F8F-FDC7-4B12-93FA-336C079C965A', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" ."\n" .'- **true**: The invocation succeeded. '."\n" ."\n" .'- **false**: The invocation failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"An internal error occurred. Try again later.\\",\\n \\"RequestId\\": \\"671D0F8F-FDC7-4B12-93FA-336C079C965A\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'SpeechByCombination'."\n", 'summary' => 'Invoke this API to push audio content to a device for playback.'."\n", 'description' => '## QPS Limits '."\n" .'Each Alibaba Cloud account can send up to 50 queries per second (QPS) when invoking this API. '."\n" .'> Resource Access Management (RAM) users share the quota of their Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When calling this API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters documentation](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SpeechByCombination'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'SpeechBySynthesis' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'Voice', 'in' => 'formData', 'schema' => ['description' => 'The voice used for corpus playback is preset by the system, such as Standard Female or Standard Male. You can query the available voice types by calling [GetSpeechVoice](~~217887~~) and use the `Value` field from the `VoiceList` in the response.'."\n", 'type' => 'string', 'required' => true, 'example' => 'Siyue', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'formData', 'schema' => ['description' => 'The Device ID. You can obtain this parameter by calling [QuerySpeechDevice](~~280408~~). '."\n" .'> If you specify this parameter, you do not need to specify **ProductKey** and **DeviceName**. **IotId** is a unique identifier for the device and corresponds one-to-one with the combination of **ProductKey** and **DeviceName**. If you specify both **IotId** and the **ProductKey**/**DeviceName** combination, **IotId** takes precedence.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], [ 'name' => 'SpeechRate', 'in' => 'formData', 'schema' => ['description' => 'The playback speed. Valid values range from -500 to 500.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '500', 'minimum' => '-500', 'example' => '0', 'default' => '0', 'title' => ''], ], [ 'name' => 'Text', 'in' => 'formData', 'schema' => ['description' => 'The speech text. This parameter is required if you select custom speech material. The text can contain English letters, Chinese characters, and spaces. The length must be 1 to 100 characters, where each Chinese character counts as two characters.'."\n", 'type' => 'string', 'required' => true, 'example' => 'test', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'formData', 'schema' => ['description' => 'The **ProductKey** of the product to which the device belongs. If you specify this parameter, you must also specify **DeviceName**.', 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'formData', 'schema' => ['description' => 'The **DeviceName** of the device. '."\n" .'If you specify this parameter, you must also specify **ProductKey**.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'SpeechId', 'in' => 'formData', 'schema' => ['description' => 'A unique playback ID assigned to the device. '."\n" .'> '."\n" .'If this parameter is not provided, the system generates one automatically. If your business logic requires a retry of the playback, you must provide the same playback ID used in the original request to avoid duplicate playback. '."\n" .'>', 'type' => 'string', 'required' => false, 'example' => '42000011392021112380********', 'title' => ''], ], [ 'name' => 'AudioFormat', 'in' => 'formData', 'schema' => ['description' => 'The audio format. Only **wav**, **mp3**, and **amr** formats are supported.'."\n", 'type' => 'string', 'required' => true, 'example' => 'wav', 'title' => ''], ], [ 'name' => 'Volume', 'in' => 'formData', 'schema' => ['description' => 'The volume level. Valid values: 0 to 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '0', 'example' => '50', 'default' => '50', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console. '."\n" ."\n" .'> '."\n" .'- If an ID exists, you must specify it. Otherwise, the invocation fails. '."\n" .'- If no ID exists, you do not need to specify this parameter. '."\n" .'> '."\n" ."\n" .'For more information about instances, see [How to Obtain an Instance ID](~~267533~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation failed. For more information, see [Error Codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation failed.'."\n", 'type' => 'string', 'example' => 'An internal error occurred. Try again later.', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.'."\n", 'type' => 'string', 'example' => '671D0F8F-FDC7-4B12-93FA-336C079C965A', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: The invocation failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"An internal error occurred. Try again later.\\",\\n \\"RequestId\\": \\"671D0F8F-FDC7-4B12-93FA-336C079C965A\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'SpeechBySynthesis'."\n", 'summary' => 'Invoke this API to send dynamic broadcast content to a device for playback.'."\n", 'description' => '## QPS Limit'."\n" .'The maximum queries per second (QPS) for this API is 10 per Alibaba Cloud account. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When calling this API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SpeechBySynthesis'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'StartPTDetection' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'PowerStationUid', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'FileName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'PowerPlantsNumber', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'Data', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'DataCollectionTime', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int64', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'AlgorithmInstanceUid', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'Sensitivity', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ 'Status' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'InputData' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Data' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ErrMsg' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.dap.insight.unknownException', 'errorMessage' => 'unknown exception.', 'description' => 'unknown exception.'], ['errorCode' => 'iot.dap.insight.requestParamError', 'errorMessage' => 'request param error.', 'description' => 'request param error.'], ['errorCode' => 'iot.dap.insight.datetimeNotMatch', 'errorMessage' => 'The acquisition time does not match the data time.', 'description' => 'The time when the data was collected is different from the time when the data was generated.'], ['errorCode' => 'iot.dap.insight.needDetectionData', 'errorMessage' => 'Detection data is required.', 'description' => 'You must verify the data.'], ['errorCode' => 'iot.dap.insight.parsedDataError', 'errorMessage' => 'Failed to parse data.', 'description' => 'The system failed to parse the data.'], ['errorCode' => 'iot.dap.insight.frozen', 'errorMessage' => 'The algorithm instance has been frozen. please renew.', 'description' => 'The algorithm instance is frozen. Renew the instance.'], ], 500 => [ ['errorCode' => 'iot.dap.insight.bizExceptionNotSpecified', 'errorMessage' => 'biz exception not specified.', 'description' => 'biz exception not specified.'], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"Status\\": \\"\\",\\n \\"InputData\\": \\"\\",\\n \\"Data\\": \\"\\",\\n \\"ErrMsg\\": \\"\\",\\n \\"Success\\": false\\n }\\n}","type":"json"}]', ], 'StartParser' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify this parameter. Otherwise, the invocation fails.'."\n" .'- If the **Instance Overview** page or ID does not exist, you do not need to specify this parameter.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-n8t***', 'title' => ''], ], [ 'name' => 'ParserId', 'in' => 'query', 'schema' => ['description' => 'The resolver ID. You can call the [ListParsers](~~429046~~) API to query the resolver list and obtain the **ParserId**.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '99999999999', 'minimum' => '0', 'example' => '1001', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ['errorCode' => 'iot.common.InvalidFormattedParameter', 'errorMessage' => 'The parameter format is invalid.', 'description' => 'The parameter format is invalid.'], ['errorCode' => 'iot.rule.EmptyScript', 'errorMessage' => 'The script is empty.', 'description' => 'The script is empty.'], ['errorCode' => 'iot.rule.DestinationNotBound', 'errorMessage' => 'The connector has not destination.', 'description' => 'The connector has not destination.'], ['errorCode' => 'iot.rule.StartRuleFailed', 'errorMessage' => 'An error occurred while starting the rule.', 'description' => 'An error occurred while starting the rule.'], ['errorCode' => 'iot.rule.NotFoundRule', 'errorMessage' => 'there are no rules', 'description' => ''], ['errorCode' => 'iot.rule.scriptSyntaxError', 'errorMessage' => 'Script Syntax Error', 'description' => ''], ['errorCode' => 'iot.common.TooManyRequest', 'errorMessage' => 'Request frequency is too high', 'description' => ''], ['errorCode' => 'iot.rule.NoDataSourceBound', 'errorMessage' => 'no datasource bound', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'StartParser', 'summary' => 'Invoke this API to start a resolver.', 'description' => '## Queries per second (QPS) limit'."\n" ."\n" .'Each Alibaba Cloud account can send up to 10 queries per second (QPS) to invoke this API.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When you invoke this API, in addition to the API-specific request parameters described in this topic, you must also specify common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:StartParser', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StartParser'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'StartRule' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'RuleId', 'in' => 'query', 'schema' => ['description' => 'The ID of the rule that you want to enable. You can log on to the IoT Platform console and choose **Rules** > **Data Forwarding** to view the rule ID. You can also call the [ListRule](~~69486~~) operation and view the rule ID in the response.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '100000', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '9A2F243E-17FE-4846-BAB5-D02A25155AC4', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"9A2F243E-17FE-4846-BAB5-D02A25155AC4\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n 9A2F243E-17FE-4846-BAB5-D02A25155AC4\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'StartRule', 'summary' => 'Enables a specified rule.', 'description' => '## Limits'."\n" ."\n" .'* You must verify that the rule has SQL statements configured before you start the rule. If you do not set an SQL statement when you create the rule, call the [UpdateRule](~~69513~~) operation to add an SQL statement and update the rule.'."\n" ."\n" .'* Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:StartRule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'StopParser' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify this parameter. Otherwise, the invocation fails.'."\n" .'- If the **Instance Overview** page or ID does not exist, you do not need to specify this parameter.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-n8t***', 'title' => ''], ], [ 'name' => 'ParserId', 'in' => 'query', 'schema' => ['description' => 'The parser ID. You can call the [ListParsers](~~429046~~) API to query the list of parsers and obtain the **ParserId**.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '99999999999', 'minimum' => '0', 'example' => '1001', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [error codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ['errorCode' => 'iot.common.InvalidFormattedParameter', 'errorMessage' => 'The parameter format is invalid.', 'description' => 'The parameter format is invalid.'], ['errorCode' => 'iot.rule.StopRuleFailed', 'errorMessage' => 'An error occurred while stopping the rule.', 'description' => 'An error occurred while stopping the rule.'], ['errorCode' => 'iot.rule.NoDataSourceBound', 'errorMessage' => 'no datasource bound', 'description' => ''], ['errorCode' => 'iot.rule.NotFoundRule', 'errorMessage' => 'there are no rules', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'StopParser', 'summary' => 'Invoke this API to stop a parser.', 'description' => '## Queries per second (QPS) limit'."\n" ."\n" .'Each Alibaba Cloud account can send a maximum of 10 queries per second (QPS) to call this API.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When you call this API, you must specify both the common request parameters and the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:StopParser', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StopParser'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'StopRule' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'RuleId', 'in' => 'query', 'schema' => ['description' => 'The ID of the rule that you want to disable. You can log on to the IoT Platform console and choose **Rules** > **Data Forwarding** to view the rule ID. You can also call the [ListRule](~~69486~~) operation and view the rule ID in the response.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '100000', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '9A2F243E-17FE-4846-BAB5-D02A25155AC4', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"9A2F243E-17FE-4846-BAB5-D02A25155AC4\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 9A2F243E-17FE-4874-QBB5-D02A25155AC8\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'StopRule', 'summary' => 'Disables a specified rule.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:StopRule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'SubscribeTopic' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n" .'>* If no **Overview** page or ID is generated for your instance, you do not need to configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-06***', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the device belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1Q5XoY***', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The **DeviceName** of the device to which the topic belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'device1', 'title' => ''], ], [ 'name' => 'Topic', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The topics to subscribe to. You can subscribe to a maximum of 10 topics.'."\n" ."\n" .'The operation permission for the topic must be **subscribe** or **publish and subscribe**.'."\n" ."\n", 'type' => 'array', 'items' => ['type' => 'string', 'description' => 'The topics to which you want to subscribe. You can specify a maximum of 10 topics.'."\n" ."\n" .'The topics must have the **Subscribe** or **Publish and Subscribe** permissions.'."\n", 'title' => '', 'example' => ''], 'required' => true, 'example' => '/a1Q5XoY***/device1/user/get', 'maxItems' => 10, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the request fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'BB71E443-4447-4024-A000-EDE09922891E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Iot.System.BillIsOverDue', 'errorMessage' => 'Your account has overdue payments. Go to the expense center and add funds to your account.', 'description' => ''], ['errorCode' => 'Iot.MessageBroker.EmptySubTopicList', 'errorMessage' => 'The subscription topic list is empty.', 'description' => ''], ['errorCode' => 'Iot.Device.NotExistedDevice', 'errorMessage' => 'The device does not exist.', 'description' => ''], ['errorCode' => 'Iot.MessageBroker.TopicTemplateIsNotFound', 'errorMessage' => 'The topic template does not exist.', 'description' => ''], ['errorCode' => 'iot.prod.NotExistedProduct', 'errorMessage' => 'The specified product does not exist.', 'description' => 'The product does not exist.'], ['errorCode' => 'iot.device.InactiveDevice', 'errorMessage' => 'The device is inactive.', 'description' => 'The device is inactive.'], ['errorCode' => 'Iot.MessageBroker.InvalidFormattedTopicName', 'errorMessage' => 'The topic format specified while publishing the message is incorrect.', 'description' => 'The topic format specified while publishing the message is incorrect.'], ], 403 => [ ['errorCode' => 'Iot.Device.NotDeviceOwner', 'errorMessage' => 'You are not the device owner.', 'description' => ''], ], 500 => [ ['errorCode' => 'Iot.MessageBroker.BatchSubTopicFailed', 'errorMessage' => 'An error occurred while batch subscribing to the topic.', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"BB71E443-4447-4024-A000-EDE09922891E\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Subscribe a Specified Device to a Topic', 'summary' => 'This API subscribes a specified device to a topic.', 'description' => '## How-To'."\n" .'- The device to which the topic belongs must already be connected to the IoT Platform and activated online.'."\n" .'- This API allows you to subscribe only the specified device to topics, and you can subscribe to a maximum of 10 topics per call.'."\n" ."\n" .'## Queries Per Second (QPS) Limit'."\n" .'The maximum queries per second (QPS) limit for this API is 10 per Alibaba Cloud account.'."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:SubscribeTopic', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SubscribeTopic'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'SyncSpeechByCombination' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotId', 'in' => 'formData', 'schema' => ['description' => 'Device ID. You can obtain this parameter by invoking [QuerySpeechDevice](~~280408~~).'."\n" ."\n" .'> If you specify this parameter, you do not need to specify **ProductKey** and **DeviceName**. **IotId** is the Unique Identifier of a device and has a one-to-one mapping with the combination of **ProductKey** and **DeviceName**. If you specify both **IotId** and the **ProductKey**-**DeviceName** combination, **IotId** takes precedence.', 'type' => 'string', 'required' => false, 'example' => 'Q7uOhVRdZRRlDnTLv****00100', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'formData', 'schema' => ['description' => 'The **ProductKey** of the product to which the device belongs. If you specify this parameter, you must also specify **DeviceName**.'."\n" ."\n", 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV**** ', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'formData', 'schema' => ['description' => 'The **DeviceName** of the device. '."\n" .'If you specify this parameter, you must also specify **ProductKey**.'."\n" ."\n", 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'Instance ID. You can View the **ID** of the current instance on the **Instance Overview** Page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify it; otherwise, the invocation will fail.'."\n" .'- If no ID exists, you do not need to specify this parameter.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [How to obtain an instance ID](~~267533~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'AudioFormat', 'in' => 'formData', 'schema' => ['description' => 'Audio format. Only **wav**, **mp3**, and **amr** formats are supported.', 'type' => 'string', 'required' => false, 'example' => 'wav', 'title' => ''], ], [ 'name' => 'SpeechId', 'in' => 'formData', 'schema' => ['description' => 'The unique speech ID assigned to the device. '."\n" .'> '."\n" .'If this parameter is not provided, the system generates a Unique ID. If your service retries the speech playback, you must pass in the same speech ID used in the previous attempt to avoid duplicate business announcements. '."\n" .'> ', 'type' => 'string', 'required' => false, 'example' => '42000011392021112380********', 'title' => ''], ], [ 'name' => 'EnforceFlag', 'in' => 'formData', 'schema' => ['description' => 'Whether to push the forced broadcast flag to the playback device.'."\n" ."\n" .'- false (default): Do not push.'."\n" .'- true: Push.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'CombinationList', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of combined broadcast content, which includes the following types:'."\n" ."\n" .'- To broadcast corpus that has Succeeded in being pushed to the device, enter the identity of the corpus.'."\n" ."\n" .'- To broadcast supported dynamic content, pass values according to the specific rules supported by the device.'."\n" ."\n" .' Sample: For an Amount, use the format `{$xxx}`, where xxx is the specific amount value. For example, `{$1000}` results in the device broadcasting **1000 yuan**.'."\n" ."\n" .'The device broadcasts the items in the CombinationList sequentially.', 'type' => 'array', 'items' => ['description' => 'The list of combined broadcast content, which includes the following types:'."\n" ."\n" .'- To broadcast corpus that has Succeeded in being pushed to the device, enter the identity of the corpus.'."\n" ."\n" .'- To broadcast supported dynamic content, pass values according to the specific rules supported by the device.'."\n" ."\n" .' Sample: For an Amount, use the format `{$xxx}`, where xxx is the specific amount value. For example, `{$1000}` results in the device broadcasting **1000 yuan**.'."\n" ."\n" .'The device broadcasts the items in the CombinationList sequentially.', 'type' => 'string', 'required' => false, 'example' => 'ZFBDZ', 'title' => ''], 'required' => true, 'example' => 'ZFBDZ', 'maxItems' => 10, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation failed. For more information, see [error code](~~87387~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation failed.', 'type' => 'string', 'example' => 'An internal error occurred. Try again later.', 'title' => ''], 'RequestId' => ['description' => 'The Unique Identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => '671D0F8F-FDC7-4B12-93FA-336C079C965A', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" ."\n" .'- **true**: The invocation Succeeded. '."\n" ."\n" .'- **false**: The invocation failed. ', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The returned Result.', 'type' => 'object', 'properties' => [ 'RetryCount' => ['description' => 'The retry Count.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Success' => ['description' => 'Indicates whether the broadcast Succeeded.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'DeviceErrorMessage' => ['description' => 'The error message returned by the device during broadcast.', 'type' => 'string', 'example' => 'speech model not found', 'title' => ''], 'MaxRetryCount' => ['description' => 'The maximum number of retries.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'DeviceErrorCode' => ['description' => 'The error code returned by the device during broadcast.', 'type' => 'string', 'example' => '1', 'title' => ''], 'Id' => ['description' => 'The Unique Identifier assigned to the device for the broadcast, which corresponds to the SpeechId parameter in the request. If SpeechId is not provided, the system generates one.', 'type' => 'string', 'example' => '42000011392021112380********', 'title' => ''], 'Detail' => ['description' => 'Details of the device broadcast.', 'type' => 'string', 'example' => 'Bat_Pt:99 RSSI: -92', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"An internal error occurred. Try again later.\\",\\n \\"RequestId\\": \\"671D0F8F-FDC7-4B12-93FA-336C079C965A\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"RetryCount\\": 1,\\n \\"Success\\": true,\\n \\"DeviceErrorMessage\\": \\"speech model not found\\",\\n \\"MaxRetryCount\\": 2,\\n \\"DeviceErrorCode\\": \\"1\\",\\n \\"Id\\": \\"42000011392021112380********\\",\\n \\"Detail\\": \\"Bat_Pt:99 RSSI: -92\\"\\n }\\n}","type":"json"}]', 'title' => 'SyncSpeechByCombination', 'summary' => 'Invoke this API to synchronize corpus in combination broadcast devices.', 'description' => '## queries per second (QPS) limit '."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 20. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling the API, in addition to the API-specific Request Parameters described in this topic, you must also pass in Common Request Parameters. For more information about common parameters, see [Common Parameters documentation](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SyncSpeechByCombination'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'TestSpeech' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'Voice', 'in' => 'formData', 'schema' => ['description' => 'The voice used for speech synthesis, which is predefined by the system, such as Standard Female Voice or Standard Male Voice. You can query available voice types by calling [GetSpeechVoice](~~217887~~) and use the `Value` field within the `VoiceList` response parameter.'."\n", 'type' => 'string', 'required' => true, 'example' => 'Siyue', 'title' => ''], ], [ 'name' => 'Volume', 'in' => 'formData', 'schema' => ['description' => 'The volume level. Valid values: 0 to 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '0', 'example' => '50', 'default' => '50', 'title' => ''], ], [ 'name' => 'ProjectCode', 'in' => 'formData', 'schema' => ['description' => 'The project ID, which is the unique identifier of a project. You can obtain the project ID from the [Project Management Console](https://iot.console.aliyun.com/things-service/projects). If you do not have a project, create one and then obtain its project ID.'."\n", 'type' => 'string', 'required' => true, 'example' => '4de2c367****8c585e5992**', 'title' => ''], ], [ 'name' => 'SpeechRate', 'in' => 'formData', 'schema' => ['description' => 'The speech rate. Valid values: -500 to 500.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '500', 'minimum' => '-500', 'example' => '0', 'default' => '0', 'title' => ''], ], [ 'name' => 'Text', 'in' => 'formData', 'schema' => ['description' => 'The speech text. This parameter is required when the speech type is set to Custom. The text can contain English letters, Chinese characters, and spaces. The length must be 1 to 100 characters, where one Chinese character counts as two characters.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID value exists, you must pass this ID value. Otherwise, the invocation will fail.'."\n" .'- If no ID value exists, you do not need to pass it.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [How to obtain an instance ID](~~267533~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'SpeechType', 'in' => 'formData', 'schema' => ['description' => 'The type of speech material, which can be either custom or preset.'."\n" ."\n" .'> If this parameter is not specified or is set to **custom**, the Text parameter must be provided; otherwise, the invocation will fail.'."\n" ."\n" .'- Custom speech material (default): Set to **custom**. When using custom speech material, you must specify both the material identifier and the text content.'."\n" .'- Preset speech material: System-provided common speech texts, including the following categories:'."\n" .' - Numbers: Set to **number**, including digits 0–9, "point", and "yao" (a colloquial term for "one" used in Chinese contexts).'."\n" .' - Measure words: Set to **measure_word**, including terms such as "ge", "shi", "bai", "qian", "wan", "shi wan", "bai wan", "yi", etc.'."\n" .' - Currency units: Set to **monetary_unit**, including "fen", "jiao", and "yuan".'."\n" .' - Time units: Set to **time_unit**, including "shi" (hour), "fen" (minute), "miao" (second), "yue" (month), "ri" (day), and "nian" (year).'."\n" .' - Unit time expressions: Set to **unit_time**, including "per second", "per minute", "per hour", "per day", "per week", "per month", and "per year".'."\n" .' - Length units: Set to **length_unit**, including "millimeter", "centimeter", "decimeter", "meter", "kilometer", "gongli" (Chinese term for kilometer), "inch", "foot", and "mile".', 'type' => 'string', 'required' => false, 'example' => 'custom', 'title' => ''], ], [ 'name' => 'AudioFormat', 'in' => 'formData', 'schema' => ['description' => 'The audio format. Only **wav**, **mp3**, and **amr** formats are supported.', 'type' => 'string', 'required' => false, 'example' => 'wav', 'title' => ''], ], [ 'name' => 'SoundCodeConfig', 'in' => 'formData', 'style' => 'json', 'schema' => ['description' => 'Sound code configuration, which includes the following fields:'."\n" ."\n\n" .'- **SoundCodeContent**: Marketing content embedded in the sound code, such as a product detail URL.'."\n" ."\n" .'- **AdditionalDuration**: The playback duration of the sound code after the speech material ends, in seconds. Valid values: 1 to 15.', 'type' => 'object', 'required' => false, 'example' => '{"SoundCodeContent": "www.taobao.com", "AdditionalDuration": 3}', 'title' => ''], ], [ 'name' => 'EnableSoundCode', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to enable sound codes. If you set this parameter to true, you must also pass the SoundCodeConfig parameter. Otherwise, the invocation will fail.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.speechsolution.NotSigned', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.'."\n", 'type' => 'string', 'example' => 'speech solution has not been signed', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => '66FF51D3-***-49F1-B1A2-***', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" ."\n" .'- **true**: The invocation succeeded.'."\n" ."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'items' => [ 'description' => 'A list of audio download URLs for previewing speech materials.'."\n", 'type' => 'array', 'items' => ['description' => 'The audio download URL for previewing a speech material. If the material is a package, the response returns the URLs for each individual material within the package.'."\n", 'type' => 'string', 'example' => ' [ "http://****.oss-cn-shanghai.aliyuncs.com/speech_test_audio/CPjUL8qUtOMoQmC******.wav?Expires=1620380723"]', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.speechsolution.NotSigned\\",\\n \\"ErrorMessage\\": \\"speech solution has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"items\\": [\\n \\" [ \\\\\\"http://****.oss-cn-shanghai.aliyuncs.com/speech_test_audio/CPjUL8qUtOMoQmC******.wav?Expires=1620380723\\\\\\"]\\"\\n ]\\n }\\n}","type":"json"}]', 'title' => 'TestSpeech', 'summary' => 'Invoke this API to preview speech materials.', 'description' => '## QPS Limit'."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 2. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling the API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters documentation](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:TestSpeech', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'TestSpeech'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'TestSwitch' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'IotId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.check.InvalidFormattedParameter', 'errorMessage' => 'The parameter format is invalid.', 'description' => 'The parameter format is invalid.'], ['errorCode' => 'iot.prod.NullProductKey', 'errorMessage' => 'The ProductKey parameter cannot be empty.', 'description' => 'The ProductKey parameter cannot be empty.'], ['errorCode' => 'iot.device.NullDeviceName', 'errorMessage' => 'The DeviceName parameter cannot be empty.', 'description' => 'The DeviceName parameter cannot be empty.'], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:TestSwitch', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"IotId\\": \\"\\"\\n}","type":"json"}]', ], 'TransformClientId' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the device.'."\n", 'type' => 'string', 'required' => true, 'example' => 'BXPV9Ks3bxwM9fD****0000101', 'title' => ''], ], [ 'name' => 'ClientId', 'in' => 'query', 'schema' => ['description' => 'The ClientID of the device.'."\n", 'type' => 'string', 'required' => true, 'example' => '9rSz********UNMWj33f000112', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-02****43', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The response code. The value Success indicates that the call was successful. Other values indicate that errors occurred. For more information about error codes, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '89F22330-BAEE-****-****-41BA46D6E267', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"89F22330-BAEE-****-****-41BA46D6E267\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\n89F22330-BAEE-****-****-41BA46D6E267\\nSuccess\\ntrue\\n","errorExample":""}]', 'title' => 'TransformClientId', 'summary' => 'Specifies a valid ClientID for a device to prevent illegal logons if the device contains multiple ClientIDs. This API operation applies to preregistration-free unique-certificate-per-product authentication.', 'description' => 'You can call the [QueryClientIds](~~371985~~) operation to view the ClientIDs of a device.'."\n" ."\n" .'## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS). '."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:TransformClientId', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'TriggerSceneRule' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. Do not pass this parameter for public instances. Pass it for Enterprise instances.', 'example' => 'iot_instc_pu****_c*-v64********', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'RuleId', 'in' => 'query', 'schema' => ['description' => 'The scene orchestration rule ID. Call the [QuerySceneRule](~~169498~~) API to obtain the rule ID.', 'example' => 'f041397879ad4d89822811d741******', 'required' => true, 'type' => 'string', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The edge instance ID. In the IoT Platform console, go to **Edge Computing** > **Edge Instances**, and hover your mouse over the name of the target edge instance to view its ID.'."\n" ."\n" .'You can also call the [QueryEdgeInstance](~~135214~~) API to obtain it.', 'example' => 'F3APY0tPLhmgGtx0****', 'required' => false, 'type' => 'string', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'properties' => [ 'Code' => ['description' => 'The return code of the API. "Success" indicates success; other values indicate error codes. For details, see [error codes](~~135200~~).', 'example' => 'Success', 'type' => 'string', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'example' => 'C9D9C91B-1B3B-4D84-AE58-68E7BAA989EK', 'type' => 'string', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'example' => 'request parameter error', 'type' => 'string', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. true indicates success, and false indicates failure.', 'example' => 'true', 'type' => 'boolean', 'title' => ''], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"RequestId\\": \\"C9D9C91B-1B3B-4D84-AE58-68E7BAA989EK\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Trigger Scene Orchestration Rule', 'summary' => 'Invoke this API to trigger a scene orchestration rule.', 'description' => '## Condition'."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 10.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling the API, in addition to the specific Request Parameters described in this topic, you must also pass in Common Request Parameters. For more information about common parameters, see [Common Parameters documentation](~~135196~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:TriggerSceneRule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'TriggerSceneRule'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'UnbindApplicationFromEdgeInstance' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. Do not pass this parameter for public instances; pass it for Enterprise instances.', 'example' => 'iot_instc_pu****_c*-v64********', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the edge instance. You can obtain the ID by hovering your mouse over the name of the target edge instance on the **Edge Instances** page in the [Edge Computing console](https://iot.console.aliyun.com/le/instance/list).'."\n" ."\n" .'You can also call the [QueryEdgeInstance](~~135214~~) API to obtain the ID.', 'example' => 'Tb4r9k3GWHJFWv******', 'required' => true, 'type' => 'string', 'title' => ''], ], [ 'name' => 'ApplicationId', 'in' => 'query', 'schema' => ['description' => 'The ID of the edge application. You can obtain the ID by hovering your mouse over the name of the target application on the **Application Management** page in the [Edge Computing console](https://iot.console.aliyun.com/le/instance/list).', 'example' => '361368ba5a094da9bf5625d092******', 'required' => true, 'type' => 'string', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'properties' => [ 'Code' => ['description' => 'The return code of the API. "Success" indicates success; other values indicate error codes. For details, see [error code](~~135200~~).', 'example' => 'Success', 'type' => 'string', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'example' => 'request parameter error', 'type' => 'string', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'example' => '5CA3B4EE-D865-47B0-91FD-BA7C2BC6BCC4', 'type' => 'string', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. true indicates success; false indicates failure.', 'example' => 'true', 'type' => 'boolean', 'title' => ''], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"5CA3B4EE-D865-47B0-91FD-BA7C2BC6BCC4\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Remove an edge application from an edge instance', 'summary' => 'Remove an edge application from an edge instance.', 'description' => '## Condition'."\n" .'Each Alibaba Cloud account can invoke this API up to 5 times per second (queries per second (QPS)).'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking this API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters documentation](~~135196~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:UnbindApplicationFromEdgeInstance', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnbindApplicationFromEdgeInstance'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'UnbindDriverFromEdgeInstance' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance from which you want to unbind a driver and obtain the instance ID.'."\n" ."\n" .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'F3APY0tPLhmgGtx0****', 'title' => ''], ], [ 'name' => 'DriverId', 'in' => 'query', 'schema' => ['description' => 'The ID of the driver that you want to unbind. To obtain the driver ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Drivers** page, move the pointer over the name of the driver that you want to unbind and obtain the driver ID.'."\n" ."\n" .'You can also call the [QueryEdgeDriver](~~155776~~) operation to query the driver ID.'."\n", 'type' => 'string', 'required' => true, 'example' => '9c1ae7bd59f1469abbdccc959228****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message that is returned if the call failed.'."\n", 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '28D159F4-980F-423D-95F0-F705E9DFC016', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"28D159F4-980F-423D-95F0-F705E9DFC016\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n B15AF459-6A65-44DB-8047-1BDF3E68BE3D\\r\\n Success\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'UnbindDriverFromEdgeInstance', 'summary' => 'Unbinds a driver from an edge instance.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of five queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:UnbindDriverFromEdgeInstance', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'UnbindLicenseProduct' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Enterprise Edition instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot-s3***', 'title' => ''], ], [ 'name' => 'LicenseCode', 'in' => 'query', 'schema' => ['description' => 'The license type that specifies the audio and video specifications. Valid values: **480P** and **720P**.'."\n" ."\n" .'To view the license type of a product, choose **License Management > Product Authorization** in the **Real-time Communication Service** console.'."\n", 'type' => 'string', 'required' => true, 'example' => '480P', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product from which you want to unbind the license.'."\n" ."\n" .'You can choose **License Management > Product Authorization** in the **Real-Time Communication Service** console to view the **ProductKey** of the product.'."\n", 'type' => 'string', 'required' => true, 'example' => 'gq62z***', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the request fails. For more information, see the **Error codes** section of this topic.'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'Data' => ['description' => 'Indicates whether the license was unbound from the product.'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the request fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'E4F94B97-1D64-4080-BFD2-67461667AA43', 'title' => ''], 'Success' => ['description' => 'Indicates whether the request was successful.'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.rtc.service.notSigned', 'errorMessage' => 'The RTC service is not activated.', 'description' => 'The Real-Time Communication service is not activated.'], ['errorCode' => 'iot.rtc.invalid.license.code', 'errorMessage' => 'invalid license code', 'description' => ''], ['errorCode' => 'iot.rtc.invalid.product.key', 'errorMessage' => 'invalid product key', 'description' => 'invalid product key'], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"Data\\": true,\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4F94B97-1D64-4080-BFD2-67461667AA43\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\nE4F94B97-1D64-4080-BFD2-67461667AA43\\ntrue\\ntrue\\n","errorExample":""}]', 'title' => 'UnbindLicenseProduct', 'summary' => 'Unbinds a license from a specific product.', 'description' => '## Usage notes'."\n" ."\n" .'A license is bound with a product. For more information, see [BindLicenseProduct](~~427956~~) or [Bind a license to a product](~~427937~~).'."\n" ."\n" .'## QPS limits'."\n" ."\n" .'You can call this API operation up to 10 times per second per account.'."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], ], 'UnbindRoleFromEdgeInstance' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. Do not pass this parameter for public instances. Pass this parameter for Enterprise instances.', 'example' => 'iot_instc_pu****_c*-v64********', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The edge instance ID. To obtain the ID, go to the **Edge Instances** page in the [Edge Computing console](https://iot.console.aliyun.com/le/instance/list), and hover your mouse over the name of the target edge instance.'."\n" ."\n" .'You can also call the [QueryEdgeInstance](~~135214~~) API to obtain the ID.', 'example' => 'BlYJyXZpLBtkmR******', 'required' => true, 'type' => 'string', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'properties' => [ 'Code' => ['description' => 'The return code of the API. A value of "Success" indicates success. Other values indicate error codes. For more information, see [Error Codes](~~135200~~).', 'example' => 'Success', 'type' => 'string', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'example' => 'request parameter error', 'type' => 'string', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'example' => '270097AC-FFC3-4D2F-B48D-384BA1EA9962', 'type' => 'string', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. A value of true indicates success, and false indicates failure.', 'example' => 'true', 'type' => 'boolean', 'title' => ''], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"270097AC-FFC3-4D2F-B48D-384BA1EA9962\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Detach a Role from an Edge Instance', 'summary' => 'Invoke this API to detach a role that has been attached to an edge instance.', 'description' => '## Conditions'."\n" .'Each Alibaba Cloud account can send a maximum of 10 queries per second (QPS) to call this API.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling this API, you must include both the common request parameters and the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Parameters](~~135196~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:UnbindRoleFromEdgeInstance', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnbindRoleFromEdgeInstance'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'UnbindSceneRuleFromEdgeInstance' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. Do not pass this parameter for public instances. Required for Enterprise instances.', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the edge instance. To obtain the ID, go to the **Edge Instances** page in the [Edge Computing console](https://iot.console.aliyun.com/le/instance/list) and hover your mouse over the name of the target edge instance.'."\n" ."\n" .'You can also call the [QueryEdgeInstance](~~135214~~) API to retrieve it.', 'type' => 'string', 'required' => true, 'example' => 'llL44UVXUqb9m5******', 'title' => ''], ], [ 'name' => 'RuleId', 'in' => 'query', 'schema' => ['description' => 'The ID of the scene orchestration rule. Call the [QuerySceneRule](~~169498~~) API to obtain the scene orchestration rule ID.', 'type' => 'string', 'required' => true, 'example' => 'f041397879ad4d89822811d741******', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the API. A value of "Success" indicates success; other values indicate error codes. For details, see [error codes](~~135200~~).', 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => 'C9D9C91B-1B3B-4D84-AE58-68E7BAA909EK', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. A value of true indicates success, and false indicates failure.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"C9D9C91B-1B3B-4D84-AE58-68E7BAA909EK\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Remove a Scene Orchestration Rule from an Edge Instance', 'summary' => 'Invoke this API to remove a scene orchestration rule from an edge instance.', 'description' => '## Condition'."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 20.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters documentation](~~135196~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:UnbindSceneRuleFromEdgeInstance', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnbindSceneRuleFromEdgeInstance'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'UnsubscribeTopic' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the ID of your current instance on the **Instance Overview** tab in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If your instance has an ID, you must specify this **ID**. Otherwise, the invocation fails.'."\n" .'- If your instance does not have an ID, you do not need to specify this parameter.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-n6w1y59****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the device belongs.', 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The name of the device.', 'type' => 'string', 'required' => true, 'example' => 'device1', 'title' => ''], ], [ 'name' => 'Topic', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of topics to unsubscribe from.', 'type' => 'array', 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'required' => true, 'example' => '/a1BwAGV****/device1/user/get', 'maxItems' => 10, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The status code of the invocation result: '."\n" .'- If the invocation succeeds, an empty value is returned. '."\n" .'- If the invocation fails, an error code is returned. For more information, see **Error Codes** below.', 'type' => 'string', 'example' => '400', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => 'The unsub topic list is empty.', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => 'E55***B7-4***-4***-8***-D3******F565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'FailureTopics' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'topic' => [ 'description' => '', 'type' => 'array', 'items' => ['description' => 'The list of topics from which unsubscribing failed.', 'type' => 'object', 'example' => '/a1BwAGV****/device1/user/get', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Iot.System.BillIsOverDue', 'errorMessage' => 'Your account has overdue payments. Go to the expense center and add funds to your account.', 'description' => ''], ['errorCode' => 'Iot.MessageBroker.EmptyUnSubTopicList', 'errorMessage' => 'The unsub topic list is empty.', 'description' => 'The topics from which you want to unsubscribe do not exist.'], ['errorCode' => 'Iot.MessageBroker.InvalidFormattedTopicName', 'errorMessage' => 'The topic format specified while publishing the message is incorrect.', 'description' => 'The topic format specified while publishing the message is incorrect.'], ['errorCode' => 'iot.prod.NotExistedProduct', 'errorMessage' => 'The specified product does not exist.', 'description' => 'The product does not exist.'], ['errorCode' => 'Iot.Device.NotExistedDevice', 'errorMessage' => 'The device does not exist.', 'description' => ''], ], 403 => [ ['errorCode' => 'Iot.Device.NotDeviceOwner', 'errorMessage' => 'You are not the device owner.', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"400\\",\\n \\"ErrorMessage\\": \\"The unsub topic list is empty.\\",\\n \\"RequestId\\": \\"E55***B7-4***-4***-8***-D3******F565\\",\\n \\"Success\\": true,\\n \\"FailureTopics\\": {\\n \\"topic\\": [\\n {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'UnsubscribeTopic', 'summary' => 'Invoke the UnsubscribeTopic API to unsubscribe a specified device from a specified topic.', 'description' => '## QPS Limit'."\n" ."\n" .'The maximum queries per second (QPS) for this API under a single Alibaba Cloud account is 50.'."\n" ."\n" .'> All Resource Access Management (RAM) users under an Alibaba Cloud account share the quota of that account.', 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see the [Common Parameters](~~87387~~) document.', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnsubscribeTopic'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'UpdateConsumerGroup' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'NewGroupName', 'in' => 'query', 'schema' => ['description' => 'The new name of the consumer group. The name must be 4 to 30 characters in length and can contain letters, digits, and underscores (\\_).'."\n", 'type' => 'string', 'required' => true, 'example' => '消费组2', 'title' => ''], ], [ 'name' => 'GroupId', 'in' => 'query', 'schema' => ['description' => 'The consumer group ID. After you call the [CreateConsumerGroup](~~170388~~) operation to create a consumer group, the consumer group ID is returned. You can call the [QueryConsumerGroupList](~~170419~~) operation to query the consumer group ID by group name. You can also go to the IoT Platform console,and choose **Rules** > **Server-side Subscription** > **Consumer Groups** to view the consumer group ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'nJRaJPn5U1JITGf******', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '73B9DF43-7780-47DE-8BED-077729D28BD2', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"73B9DF43-7780-47DE-8BED-077729D28BD2\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 73B9DF43-7780-47DE-8BED-077729D28BD2\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'UpdateConsumerGroup', 'summary' => 'Modifies a consumer group when you configure an AMQP server-side subscription.', 'description' => '## Limits'."\n" ."\n" .'* You cannot modify the default consumer group provided by IoT Platform.'."\n" ."\n" .'* Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateConsumerGroup', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'UpdateDestination' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'Configuration', 'in' => 'query', 'schema' => ['description' => 'The configuration information corresponding to the data destination, passed as a JSON string. The required content varies depending on the action type. For specific requirements and examples, see the description of the **Configuration** parameter in [CreateDestination](~~433032~~).', 'type' => 'string', 'required' => true, 'example' => '{"topic":"/a1POX0c****/device1/user/get","topicType":1}', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify it; otherwise, the call fails.'."\n" .'- If the **Instance Overview** page or the ID does not exist, this parameter is not required.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-2w****', 'title' => ''], ], [ 'name' => 'DestinationId', 'in' => 'query', 'schema' => ['description' => 'The data destination ID.'."\n" ."\n" .'You can invoke the [ListDestination](~~433025~~) API to query the data source list and obtain the **DestinationId**.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '999999999999', 'minimum' => '0', 'example' => '1002', 'title' => ''], ], [ 'name' => 'Type', 'in' => 'query', 'schema' => ['description' => 'The operation type of the data destination. Valid values:'."\n" ."\n" .'- **REPUBLISH**: Forward topic data processed by the resolver script to another communication topic in IoT Platform.'."\n" .'- **AMQP**: Forward topic data processed by the resolver script to an AMQP consumer group.'."\n" .'- **DATAHUB**: Forward topic data processed by the resolver script to Alibaba Cloud DataHub for stream data processing.'."\n" .'- **ONS**: Forward topic data processed by the resolver script to Alibaba Cloud Message Queue for Apache RocketMQ for message distribution.'."\n" .'- **MNS**: Send topic data processed by the resolver script to Alibaba Cloud Message Service for message transmission.'."\n" .'- **FC**: Send topic data processed by the resolver script to Alibaba Cloud Function Compute for event-based computing.'."\n" .'- **OTS**: Send topic data processed by the resolver script to Alibaba Cloud Tablestore for NoSQL data storage.', 'type' => 'string', 'required' => true, 'example' => 'REPUBLISH', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The data destination name.', 'type' => 'string', 'required' => true, 'example' => 'DataPurpose', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the data destination.', 'type' => 'string', 'required' => false, 'example' => '数据流转至另一个Topic。', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ['errorCode' => 'iot.ruleng.NullRuleActionConfig', 'errorMessage' => 'The rule action configuration is empty.', 'description' => 'The rule action configuration is empty.'], ['errorCode' => 'iot.common.InvalidFormattedParameter', 'errorMessage' => 'The parameter format is invalid.', 'description' => 'The parameter format is invalid.'], ['errorCode' => 'iot.rule.destinationNotExists', 'errorMessage' => 'Destination not found', 'description' => ''], ['errorCode' => 'iot.rule.DestinationNameExisted', 'errorMessage' => 'The destination name is existed', 'description' => 'The destination name is existed'], ['errorCode' => 'iot.rule.InvalidDestinationName', 'errorMessage' => 'The destination name is invalid', 'description' => 'The destination name is invalid'], ['errorCode' => 'iot.ruleng.NotFoundVpcInstance', 'errorMessage' => 'The specified VPC instance does not exist', 'description' => 'The specified VPC instance does not exist'], ['errorCode' => 'iot.ruleng.InstanceNotFound', 'errorMessage' => 'The instance not exists', 'description' => 'The instance not exists'], ['errorCode' => 'iot.ruleng.TopicNotFound', 'errorMessage' => 'The topic not exists', 'description' => 'The topic not exists'], ['errorCode' => 'iot.ruleng.RegionNotSupportRuleForwardCloudProduct', 'errorMessage' => 'The specified region does not support creating rules to publish messages to the specified cloud product', 'description' => 'The specified region does not support creating rules to publish messages to the specified cloud product'], ['errorCode' => 'iot.prod.NullProductKey', 'errorMessage' => 'The productKey is empty.', 'description' => ''], ['errorCode' => 'iot.prod.NotExistedProduct', 'errorMessage' => 'The specified product does not exist.', 'description' => 'The product does not exist.'], ['errorCode' => 'iot.ruleng.IncorrectRegionName', 'errorMessage' => 'The regionName parameter is invalid.', 'description' => 'The regionName parameter is invalid.'], ['errorCode' => 'iot.ruleng.NullProjectOfDatahub', 'errorMessage' => 'The project in DataHub is empty', 'description' => 'The project in DataHub is empty'], ['errorCode' => 'iot.ruleng.NullTopicInDatahubProject', 'errorMessage' => 'The project topic in DataHub is empty', 'description' => 'The project topic in DataHub is empty'], ['errorCode' => 'iot.ruleng.NullRamRoleName', 'errorMessage' => 'You must specify a roleName', 'description' => 'You must specify a roleName'], ['errorCode' => 'iot.ruleng.NullRamRoleArn', 'errorMessage' => 'You must specify a roleArn', 'description' => 'You must specify a roleArn'], ['errorCode' => 'iot.ruleng.NotFoundProjectInDataHub', 'errorMessage' => 'The specified project does not exist in DataHub.', 'description' => 'The specified project does not exist in DataHub.'], ['errorCode' => 'iot.ruleng.NullOrEmptySchemaOfTopic', 'errorMessage' => 'The topic schema is empty', 'description' => 'The topic schema is empty'], ['errorCode' => 'iot.ruleng.IncorrectSchemaValueOfTopic', 'errorMessage' => 'The specified Topic schema value is invalid', 'description' => 'The specified Topic schema value is invalid'], ['errorCode' => 'iot.ruleng.RuleActionConfigurationIsNotJson', 'errorMessage' => 'The rule action configuration is not in the JSON format', 'description' => 'The rule action configuration is not in the JSON format'], ['errorCode' => 'iot.ruleng.NullOtsInstanceName', 'errorMessage' => 'The Table Store instance name is empty', 'description' => 'The Table Store instance name is empty'], ['errorCode' => 'iot.ruleng.NullTableNameInOtsInstance', 'errorMessage' => 'The table name is empty in the Table Store instance', 'description' => ''], ['errorCode' => 'iot.ruleng.OnlySameRegionSupport', 'errorMessage' => 'target region is not supported', 'description' => 'target region is not supported'], ['errorCode' => 'iot.ruleng.NotFoundTableInOtsInstance', 'errorMessage' => 'The specified table does not exist in the Table Store instance', 'description' => 'The specified table does not exist in the Table Store instance'], ['errorCode' => 'iot.ruleng.NullServiceNameInFc', 'errorMessage' => 'The Function Compute service name is empty', 'description' => ''], ['errorCode' => 'iot.ruleng.NullFunctionNameInFc', 'errorMessage' => 'The Function Compute function name is empty', 'description' => 'The Function Compute function name is empty'], ['errorCode' => 'iot.ruleng.NotFoundServiceInFc', 'errorMessage' => 'The Function Compute service does not exist', 'description' => ''], ['errorCode' => 'iot.ruleng.NotFoundFunctionInFc', 'errorMessage' => 'The Function Compute function does not exist', 'description' => 'The Function Compute function does not exist'], ['errorCode' => 'iot.ruleng.OnlySupportSameRegionRds', 'errorMessage' => 'Messages can only be publish to the RDS instances on the same node', 'description' => 'Messages can only be publish to the RDS instances on the same node'], ['errorCode' => 'iot.messagebroker.NullTopicName', 'errorMessage' => 'The topic specified while publishing the message is empty', 'description' => ''], ['errorCode' => 'iot.ruleng.InvalidFormattedTagInConfiguration', 'errorMessage' => 'The tag in configuration is too long', 'description' => ''], ['errorCode' => 'iot.ruleng.InvalidFormattedShardingKeyInConfiguration', 'errorMessage' => 'The shardingKey in configuration is too long', 'description' => 'The shardingKey in configuration is too long'], ['errorCode' => 'iot.ruleng.NullTopic', 'errorMessage' => 'The topic is null', 'description' => 'The topic is null'], ['errorCode' => 'iot.consumer.group.InvalidConsumerGroupId', 'errorMessage' => 'Illegal consumer group ID', 'description' => 'Illegal consumer group ID'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'UpdateDestination', 'summary' => 'Call this API to update the data destination name, operation type, and description.', 'description' => '## How-To'."\n" ."\n" .'After you successfully create a data destination by calling the [CreateDestination](~~433032~~) API, you can update the corresponding data destination information based on the returned **DestinationId** if required by your business.'."\n" ."\n" .'## QPS Limit'."\n" ."\n" .'Each Alibaba Cloud account can send up to 10 queries per second (QPS) when calling this API. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateDestination', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateDestination'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'UpdateDeviceGroup' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'GroupId', 'in' => 'query', 'schema' => ['description' => 'The ID of the group. The ID is the globally unique identifier (GUID) for the group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'W16X8Tvdosec****', 'title' => ''], ], [ 'name' => 'GroupDesc', 'in' => 'query', 'schema' => ['description' => 'The description of the group. The description must be 1 to 100 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test2', 'title' => ''], ], [ 'name' => 'GroupType', 'in' => 'query', 'schema' => ['description' => 'The type of the group.'."\n" ."\n" .'If you set the value to **LINK_PLATFORM_DYNAMIC**, a dynamic group is queried. If you do not specify this parameter, a static group is queried by default.'."\n", 'type' => 'string', 'required' => false, 'example' => 'LINK_PLATFORM_DYNAMIC', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'B78B4FD1-AE89-417B-AD55-367EBB0C6759', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"B78B4FD1-AE89-417B-AD55-367EBB0C6759\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n B78B4FD1-AE89-417B-AD55-367EBB0C6759\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'UpdateDeviceGroup', 'summary' => 'Modifies the information of a group.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateDeviceGroup', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'UpdateDeviceShadow' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the elastic container instance. You can view the ID of the instance on the **Overview** page in the IoT Platform console.****'."\n" ."\n" .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.****'."\n" .'>* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product to which the device belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1T27vz****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The name of the device whose shadow information you want to modify.'."\n", 'type' => 'string', 'required' => true, 'example' => 'device1', 'title' => ''], ], [ 'name' => 'ShadowMessage', 'in' => 'query', 'schema' => ['description' => 'The information that you want to specify for the device shadow.'."\n" ."\n" .'The information includes the following parameters:'."\n" ."\n" .'* **method**: the type of the operation. Data type: string. Set the value to **update**.'."\n" ."\n" .'* **state**: the status of the device shadow. Data type: string. The **desired** parameter specifies the expected shadow status.'."\n" ."\n" .'* **version**: the version of the device shadow. Data type: long.'."\n" ."\n" .' * If versioning is not required, set this parameter to 0.'."\n" .' * If versioning is required, specify a version that is later than the current version.'."\n" ."\n" .'**'."\n" ."\n" .'**Important** If versioning is required, do not query the version of a device shadow in the IoT Platform console. If a large number of update and query operations are concurrently performed, multiple update operations may return the same version. In this case, the most recent update operation may first be completed. As a result, the current shadow information is not the latest shadow information. We recommend that you maintain the versions of device shadows on the on-premises device. When you call this operation, use an on-premises application to obtain the latest version of the device shadow.'."\n", 'type' => 'string', 'required' => true, 'example' => '{"method":"update","state":{"desired":{"color":"green"}},"version":2}', 'title' => ''], ], [ 'name' => 'DeltaUpdate', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform an incremental update on the **desired** parameter. Valid values:'."\n" ."\n" .'* **true**: performs an incremental update.'."\n" .'* **false**: performs a full update. This is the default value.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '6754C0E7-A35D-4CC8-A684-45EB1F0008D9', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"6754C0E7-A35D-4CC8-A684-45EB1F0008D9\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n \\r\\n BB71E443-4447-4024-A000-EDE09922891E\\r\\n true\\r\\n ","errorExample":""}]', 'title' => 'UpdateDeviceShadow', 'summary' => 'Modifies a device shadow.', 'description' => '## QPS limits'."\n" ."\n" .'You can call this API operation up to 500 times per second per account.'."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateDeviceShadow', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'UpdateEdgeDriverVersion' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'DriverId', 'in' => 'query', 'schema' => ['description' => 'The ID of the driver. To obtain the driver ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Drivers** page, move the pointer over the name of the driver for which you want to update a driver version and obtain the driver ID.'."\n" ."\n" .'You can also call the [QueryEdgeDriver](~~155776~~) operation to query the driver ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'fec565038d7544978d9aed5c1a******', 'title' => ''], ], [ 'name' => 'DriverVersion', 'in' => 'query', 'schema' => ['description' => 'The version number of the driver.'."\n", 'type' => 'string', 'required' => true, 'example' => '1.2.0', 'title' => ''], ], [ 'name' => 'EdgeVersion', 'in' => 'query', 'schema' => ['description' => 'The earliest version of Link IoT Edge that is supported by the driver. The driver can run on gateways of only this version and later. For example, if you set this parameter to 2.4.0, the driver can run on gateways of only version 2.4.0 and later.'."\n", 'type' => 'string', 'required' => true, 'example' => '2.0.0', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the driver. The description can be a maximum of 256 bytes in length.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Led驱动(更新描述)', 'title' => ''], ], [ 'name' => 'SourceConfig', 'in' => 'query', 'schema' => ['description' => 'The source of the driver code. Set this parameter to a JSON string in the following format:'."\n" ."\n" .'`{"ossAddress":"http://***/driver_code.zip"}`'."\n" ."\n" .'In the JSON string, `ossAddress` specifies the URL of the driver code stored in Object Storage Service (OSS). If you want to upload the driver code and obtain the URL of the driver code stored in OSS by using API operations, call the [CreateOssPreSignedAddress](~~155858~~) operation first.'."\n", 'type' => 'string', 'required' => false, 'example' => '{"ossAddress":"http://nova-scene-daily.oss-cn-shanghai.aliyuncs.com/driver/a8d6e4acc6941ecea8f0cfb30c******/ck3n3koe200003h6zf******.zip"}', 'title' => ''], ], [ 'name' => 'DriverConfig', 'in' => 'query', 'schema' => ['description' => 'The configuration of the driver. Set this parameter to a JSON string in the following format:'."\n" ."\n" .'`{"format":"JSON","content":"{}"}`'."\n" ."\n" .'The JSON string contains the following parameters:'."\n" ."\n" .'* format: the format of the driver configuration. Valid values: KV (key-value pair), JSON (JSON string), and FILE (configuration file).'."\n" ."\n" .'* content: the content of the driver configuration. If you set the format parameter to KV or JSON, set this parameter to the configuration content of the driver. If you set the format parameter to FILE, set this parameter to the URL of the driver configuration file stored in OSS.'."\n" ."\n" .'>To obtain the URL of the driver configuration file stored in OSS, call the [CreateOssPreSignedAddress](~~155858~~) operation.', 'type' => 'string', 'required' => false, 'example' => '[{"format":"JSON","content":"{\\"defaultConfig\\":\\"this is default driver config demo\\"}"}]', 'title' => ''], ], [ 'name' => 'ContainerConfig', 'in' => 'query', 'schema' => ['description' => 'The configuration of the container where the driver runs. Set this parameter to a JSON string. For more information about parameters in the JSON string, see the following parameter description of ContainerConfig.'."\n", 'type' => 'string', 'required' => false, 'example' => '{"privileged":1,"devMappings":[],"volumeMappings":[],"hostNetworkMode":0,"portMappings":[]}', 'title' => ''], ], [ 'name' => 'ConfigCheckRule', 'in' => 'query', 'schema' => ['description' => 'The rule for verifying configurations. Set this parameter to a JSON string in the following format:'."\n" ."\n" .'`{"deviceConfig":{"required":false},"driverConfig":{"required":false}`'."\n" ."\n" .'The JSON string contains the following parameters:'."\n" ."\n" .'* driverConfig: the rule for verifying the configuration of the driver when the driver is to be deployed in an edge instance.'."\n" .'* deviceConfig: the rule for verifying the configurations of devices that use the driver when the driver is to be deployed in an edge instance.'."\n" ."\n" .'`required`: A value of true indicates that the corresponding parameter is required. A value of false indicates that the corresponding parameter is optional.'."\n", 'type' => 'string', 'required' => false, 'example' => '{"deviceConfig":{"required":false},"driverConfig":{"required":false}}', 'title' => ''], ], [ 'name' => 'Argument', 'in' => 'query', 'schema' => ['description' => 'The Java Virtual Machine (JVM) startup parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => '-XX:+PrintGCDetails', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the operation. A value of Success indicates that the call was successful. Other values indicate that specific errors occurred. For more information, see [Error codes](~~135200~~).'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message that is returned if the call failed.'."\n", 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '7757A782-6C24-4325-A663-C62857F32E87', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"7757A782-6C24-4325-A663-C62857F32E87\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 7757A782-6C24-4325-A663-C62857F32E87\\r\\n Success\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'UpdateEdgeDriverVersion', 'summary' => 'Updates a driver version.', 'description' => '## Limits'."\n" ."\n" .'* If a request parameter is not specified, the original value of the parameter will be cleared for the driver version.'."\n" ."\n" .'* You are not allowed to update a published driver version.'."\n" ."\n" .'* Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n" ."\n" .'>RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](/help/en/link-iot-edge/latest/common-parameters). '."\n" ."\n" .'**Parameter description of ContainerConfig**| Parameter | Type | Required | Description |'."\n" .'| --------- | ---- | -------- | ----------- |'."\n" .'| privileged | Integer | No | Specifies whether to enable the privilege mode for the container. Valid values:'."\n" ."\n" .'0: disables the mode.'."\n" ."\n" .'1: enables the mode. |'."\n" .'| hostNetworkMode | Integer | No | Specifies whether to enable the host mode for the container. Valid values:'."\n" ."\n" .'0: disables the mode.'."\n" ."\n" .'1: enables the mode. |'."\n" .'| portMappings | List | No | The mapping of network ports. This parameter is not required if the hostNetworkMode parameter is set to 1. You can specify a maximum of 10 mapping records in this parameter. For more information about specific parameters, see the following parameter description of portMappings. |'."\n" .'| devMappings | List | No | The mapping of devices. This parameter is not required if the privileged parameter is set to 1. You can specify a maximum of 10 mapping records in this parameter. For more information about specific parameters, see the following parameter description of devMappings. |'."\n" .'| volumeMappings | List | No | The mapping of volumes. You can specify a maximum of 10 mapping records in this parameter. For more information about specific parameters, see the following parameter description of volumeMappings. |'."\n" .'**Parameter description of portMappings**| Parameter | Type | Required | Description |'."\n" .'| --------- | ---- | -------- | ----------- |'."\n" .'| hostPort | Integer | Yes | The port number of the host where the container resides. Valid values: 1 to 65535. |'."\n" .'| containerPort | Integer | Yes | The port number of the container. Valid values: 1 to 65535. |'."\n" .'| protocol | Integer | Yes | The type of the protocol that is used for communication between the mapping ports. Valid values: tcp and udp. |'."\n" .'**Parameter description of devMappings**| Parameter | Type | Required | Description |'."\n" .'| --------- | ---- | -------- | ----------- |'."\n" .'| hostPath | String | Yes | The name of the device that the driver needs to access. The name must be 1 to 128 characters in length and start with **/dev/**. |'."\n" .'| permission | String | Yes | The permissions that the driver has for the device. Valid values:'."\n" ."\n" .'ro: The driver has only the read permissions for the device.'."\n" ."\n" .'rw: The driver has both the read and write permissions for the device. |'."\n" .'| comment | String | No | The remarks for the mapping. The remarks must be 1 to 128 characters in length. |'."\n" .'**Parameter description of volumeMappings**| Parameter | Type | Required | Description |'."\n" .'| --------- | ---- | -------- | ----------- |'."\n" .'| hostPath | String | Yes | The host path of the volume that the driver needs to access. The path must be 1 to 128 characters in length and cannot contain spaces. |'."\n" .'| containerPath | String | Yes | The path for accessing the volume in the container. The path must be an absolute path that starts with a forward slash (/). The path must be 2 to 128 characters in length and cannot contain spaces. Do not set this parameter to the root directory. |'."\n" .'| permission | String | Yes | The permissions that the driver has for the volume. Valid values:'."\n" ."\n" .'ro: The driver has only the read permissions for the volume.'."\n" ."\n" .'rw: The driver has both the read and write permissions for the volume. |', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateEdgeDriverVersion', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'UpdateEdgeInstance' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the Internet of Things (IoT) service instance. This parameter is not required for the public instance but required for Enterprise Edition instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the edge instance. To obtain the instance ID, perform the following steps: Log on to the [Link IoT Edge console](https://iot.console.aliyun.com/le/instance/list). On the **Edge Instances** page, move the pointer over the name of the edge instance that you want to update and obtain the instance ID.'."\n" ."\n" .'You can also call the [QueryEdgeInstance](~~135214~~) operation to query the instance ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'F3APY0tPLhmgGtx0****', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the edge instance.'."\n" ."\n" .'The name can be up to 20 characters in length and can contain letters, digits, underscores (\\_), and hyphens (-).'."\n", 'type' => 'string', 'required' => true, 'example' => 'LinkIoTEdge_Node', 'title' => ''], ], [ 'name' => 'Tags', 'in' => 'query', 'schema' => ['description' => 'The tags of the edge instance. Each tag is a key-value pair. Multiple tags are separated with commas (,). Example: `k1:v1,k2:v2`.'."\n" ."\n" .'* Take note of the following limits on tag keys:'."\n" ."\n" .' * Tag keys cannot be left empty.'."\n" .' * Tag keys must be unique in the edge instance.'."\n" .' * Tag keys support only letters.'."\n" .' * Each tag key can be up to 20 characters in length.'."\n" ."\n" .'* Take note of the following limits on tag values:'."\n" ."\n" .' * Tag values cannot be left empty.'."\n" .' * A tag value can contain letters, digits, underscores (\\_), and hyphens (-).'."\n" .' * Each tag value can be up to 20 characters in length.'."\n" ."\n" .'If you do not set this parameter, this parameter is not updated.'."\n", 'type' => 'string', 'required' => false, 'example' => 'k1:v1,k2:v2', 'title' => ''], ], [ 'name' => 'Spec', 'in' => 'query', 'schema' => ['description' => 'The specifications of the edge instance. Valid values:'."\n" ."\n" .'* 10: Lite Edition'."\n" .'* 20: Standard Edition'."\n" .'* 30: Pro Edition'."\n" ."\n" .'If you do not set this parameter, this parameter is not updated.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'BizEnable', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable the edge instance. Valid values:'."\n" ."\n" .'* true: enables the edge instance.'."\n" .'* false: disables the edge instance.'."\n" ."\n" .'If you do not set this parameter, this parameter is not updated.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the operation.'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message that is returned if the call failed.'."\n", 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '10CA6DAD-EBAF-4D3E-9309-9DB5B0FF48F2', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. A value of true indicates that the call was successful. A value of false indicates that the call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"10CA6DAD-EBAF-4D3E-9309-9DB5B0FF48F2\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 10CA6DAD-EBAF-4D3E-9309-9DB5B0FF48F2\\r\\n Success\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'UpdateEdgeInstance', 'summary' => 'Updates an edge instance.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of five queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~135196~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateEdgeInstance', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'UpdateEdgeInstanceChannel' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. Do not pass this parameter for public instances. Pass this parameter for Enterprise instances. ', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the edge instance. You can obtain it by moving the mouse pointer over the target edge instance name on the **Edge Instances** page in the [Edge Computing console](https://iot.console.aliyun.com/le/instance/list). '."\n" ."\n" .'You can also call the [QueryEdgeInstance](~~135214~~) API to obtain the instance ID. ', 'type' => 'string', 'required' => true, 'example' => '6GaTtvTj7vJhiS******', 'title' => ''], ], [ 'name' => 'DriverId', 'in' => 'query', 'schema' => ['description' => 'The driver ID. You can obtain it by moving the mouse pointer over the target driver name on the **Driver Management** page in the [Edge Computing console](https://iot.console.aliyun.com/le/instance/list). '."\n" ."\n" .'You can also call the [QueryEdgeDriver](~~155776~~) API to obtain the driver ID. ', 'type' => 'string', 'required' => true, 'example' => '9c1ae7bd59f1469abbdccc9592******', 'title' => ''], ], [ 'name' => 'ChannelId', 'in' => 'query', 'schema' => ['description' => 'The driver channel ID. You can obtain it by invoking the [QueryEdgeInstanceChannel](~~162253~~) API.', 'type' => 'string', 'required' => true, 'example' => 'BE0BD49EF5EF4D119D09CC1B25******', 'title' => ''], ], [ 'name' => 'ChannelName', 'in' => 'query', 'schema' => ['description' => 'The name of the driver channel. The name can contain Chinese characters, letters (case-insensitive), digits, and underscores (_). It must be 1 to 30 characters in length. ', 'type' => 'string', 'required' => true, 'example' => 'le_name_update', 'title' => ''], ], [ 'name' => 'Configs', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of configurations. ', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The keyword of the configuration. This keyword distinguishes configurations when multiple configurations exist.', 'type' => 'string', 'required' => false, 'example' => 'key1', 'title' => ''], 'Format' => ['description' => 'The configuration format. Valid values: KV (key-value pair configuration), JSON (JSON format), and FILE (configuration file). ', 'type' => 'string', 'required' => true, 'example' => 'JSON', 'title' => ''], 'Content' => ['description' => 'The configuration content.'."\n" ."\n" .'- When the value of the **Configs.N.Format** parameter is KV or JSON, specify the configuration content here. For the format of the configuration content, see [Driver Channel Configuration Description](~~172321~~).'."\n" ."\n" .'- When the value of the **Configs.N.Format** parameter is FILE, specify an Alibaba Cloud Object Storage Service (OSS) URL here. Obtain the OSS URL by invoking the [CreateOssPreSignedAddress](~~155858~~) API.', 'type' => 'string', 'required' => true, 'example' => '{"protocol":"TCP", "ip":"1.2.3.4", "port":122}', 'title' => ''], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => true, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the API. A value of "Success" indicates success. Other values indicate error codes. For more information, see [Error Codes](~~135200~~). ', 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails. ', 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request. ', 'type' => 'string', 'example' => '60D75DC6-00BC-47B5-AB1B-0619B7830D7D', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. A value of true indicates success, and false indicates failure. ', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"60D75DC6-00BC-47B5-AB1B-0619B7830D7D\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'UpdateEdgeInstanceChannel ', 'summary' => 'Invoke this API to update a driver channel in an edge instance. ', 'description' => '## Conditions '."\n" .'Each Alibaba Cloud account can send a maximum of 5 queries per second (QPS) to call this API. '."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. ', 'requestParamsDescription' => 'When calling this API, you must include the common request parameters in addition to the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Parameters](~~135196~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateEdgeInstanceChannel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateEdgeInstanceChannel'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'UpdateEdgeInstanceMessageRouting' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID of the IoT Platform:'."\n" .'- Enterprise instance: This parameter is required. You can view your Enterprise instance ID on the **Instance Overview** page in the [IoT Platform console](http://iot.console.aliyun.com/).'."\n" .'- Public instance: This parameter is not required.', 'example' => 'iot_instc_pu****_c*-v64********', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The edge instance ID. To obtain the ID, go to the **Edge Instances** page in the [edge computing console](https://iot.console.aliyun.com/le/instance/list) and hover the mouse pointer over the target edge instance name.', 'example' => 'nF9oXo7kLRWQ********', 'required' => true, 'type' => 'string', 'title' => ''], ], [ 'name' => 'RouteId', 'in' => 'query', 'schema' => ['description' => 'The message routing ID. You can obtain it by invoking the [QueryEdgeInstanceMessageRouting](~~212633~~) API.', 'example' => '123456', 'format' => 'int64', 'maximum' => '9223372036854775807', 'minimum' => '0', 'required' => true, 'type' => 'integer', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The message routing name. It must be 4 to 32 characters in length. Each Chinese character or full-width symbol counts as 2 characters.', 'example' => 'le_lite1', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'TopicFilter', 'in' => 'query', 'schema' => ['description' => 'The filter condition for messages. Valid values:'."\n" .'- A specific topic: Only messages from the message source that match this topic are delivered to the message recipient. For more information about topics, see [What is a topic?](~~73731~~).'."\n" .'- **all**: All messages from the message source are delivered to the message recipient.', 'example' => 'all', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'SourceType', 'in' => 'query', 'schema' => ['description' => 'The message source. Valid values:'."\n" .'- **device**: indicates that the message is sent by a device.'."\n" .'- **function**: indicates that the message is sent by an edge application.'."\n" .'- **IotHub**: indicates that the message is sent by the cloud.', 'example' => 'device', 'required' => true, 'type' => 'string', 'title' => ''], ], [ 'name' => 'SourceData', 'in' => 'query', 'schema' => ['description' => 'The data source of the message. The format depends on the value of **SourceType**:'."\n" .'- When **SourceType** is **device**:'."\n" .' - If the message is sent by a specific device under a specific product, the value must be in the format `/{Your_ProductKey}/{Your_DeviceName}`.'."\n" ."\n" .' > Replace {Your_ProductKey} and {Your_DeviceName} with the actual ProductKey and DeviceName of your device.'."\n" ."\n" .' - If the message is sent by all devices under a specific product, the value must be in the format `/{Your_ProductKey}/+`.'."\n" ."\n" .' > Replace {Your_ProductKey} with the actual ProductKey of your device.'."\n" ."\n" .' - If the message is sent by all devices under all products in the edge instance, the value is `#`.'."\n" ."\n" .'- When **SourceType** is **function**: the value is the ID of the edge application. In the **Application Management** page of the [edge computing console](https://iot.console.aliyun.com/le/instance/list), hover the mouse pointer over the target application name to view its ID.'."\n" ."\n" .'- When **SourceType** is **IotHub**: this parameter is not required.', 'example' => '#', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'TargetType', 'in' => 'query', 'schema' => ['description' => 'The message recipient. The valid values depend on the value of **SourceType**:'."\n" .'- When **SourceType** is **device**, this parameter can be set to **function** or **IotHub**, indicating that the message sent by the device is delivered to an edge application or the cloud.'."\n" .'- When **SourceType** is **function**, this parameter can be set to **function** or **IotHub**, indicating that the message sent by the edge application is delivered to another edge application or the cloud.'."\n" .'- When **SourceType** is **IotHub**, this parameter can only be set to **function**, indicating that the message sent by the cloud is delivered to an edge application.', 'example' => 'function', 'required' => true, 'type' => 'string', 'title' => ''], ], [ 'name' => 'TargetData', 'in' => 'query', 'schema' => ['description' => 'The data of the message recipient. Valid values vary based on the following conditions:'."\n" .'- If **TargetType** is set to **function**, the value is the ID of an edge application. To obtain the ID, go to the **Application Management** page in the [edge computing console](https://iot.console.aliyun.com/le/instance/list) and hover the mouse pointer over the target application name.'."\n" .'- If **TargetType** is set to **IotHub**, this parameter is not required.', 'example' => '58c46749ac934db3925fe5********', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'TargetIotHubQos', 'in' => 'query', 'schema' => ['description' => 'The Quality of Service (QoS) level. Valid values:'."\n" .'- **0**: The message is sent only once, regardless of whether it is successfully received by the recipient.'."\n" .'- **1**: The message is sent at least once and continues to be resent until an acknowledgment is received from the recipient.'."\n" ."\n" .'> This parameter is required when **TargetType** is **IoTHub**.', 'example' => '1', 'format' => 'int32', 'required' => false, 'type' => 'integer', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'properties' => [ 'Code' => ['description' => 'The return code of the API:'."\n" .'- **Success**: Indicates that the call succeeded.'."\n" .'- Other values: Indicate error codes. For more information, see [Error Codes](~~135200~~).', 'example' => 'Success', 'type' => 'string', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the call fails.', 'example' => 'request parameter error', 'type' => 'string', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'example' => 'BBE0E0C7-913A-47B8-A255-F2C6038B5FD8', 'type' => 'string', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call succeeded:'."\n" .'- **true**: The call succeeded.'."\n" .'- **false**: The call failed.', 'example' => 'true', 'type' => 'boolean', 'title' => ''], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"BBE0E0C7-913A-47B8-A255-F2C6038B5FD8\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'UpdateEdgeInstanceMessageRouting', 'summary' => 'Invoke this API to update message routing in an edge instance.', 'description' => '## Conditions'."\n" .'- If you call this API in an Enterprise instance, you must specify the **IotInstanceId** parameter. Otherwise, the API call fails.'."\n" .'- Each Alibaba Cloud account can send a maximum of 20 queries per second (QPS) when calling this API.'."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling this API, you must include both the common request parameters and the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Request Parameters](~~135196~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateEdgeInstanceMessageRouting', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateEdgeInstanceMessageRouting'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'UpdateJob' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID.'."\n" ."\n" .'You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console. If an ID value exists, you must specify this ID value. Otherwise, the invocation will fail.'."\n" ."\n" .'> If the public instance does not have an ID value, see [How to obtain an instance ID](~~267533~~).', 'example' => 'iot-cn-0pp1n8t****', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The task description. The description can be up to 100 characters in length.', 'example' => 'jobDescription', 'required' => false, 'type' => 'string', 'title' => ''], ], [ 'name' => 'TimeoutConfig', 'in' => 'query', 'style' => 'json', 'schema' => ['description' => 'The timeout period for job execution under the task.'."\n" ."\n" .'For more information, see "TimeoutConfig definition" below.'."\n", 'example' => '{"inProgressTimeoutInMinutes": 60}', 'required' => false, 'type' => 'object', 'title' => ''], ], [ 'name' => 'RolloutConfig', 'in' => 'query', 'style' => 'json', 'schema' => ['description' => 'The number of jobs pushed per minute under the task. Valid values: 50 to 1000.', 'example' => '{"maximumPerMinute": 1000}', 'required' => false, 'type' => 'object', 'title' => ''], ], [ 'name' => 'JobId', 'in' => 'query', 'schema' => ['description' => 'The job ID. This is the globally unique identifier of the job.', 'example' => 'XUbmsMHmkqv0PiAG****010001', 'required' => true, 'type' => 'string', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).', 'example' => 'iot.system.SystemException', 'type' => 'string', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'example' => '系统异常', 'type' => 'string', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'type' => 'string', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'example' => 'true', 'type' => 'boolean', 'title' => ''], ], 'type' => 'object', 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Update Job', 'summary' => 'Invoke this API to update the job configuration under a task.', 'description' => '## How-To'."\n" ."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account when calling this API is 5.'."\n" ."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => '**RolloutConfig definition**'."\n" .'|Name|Type|Description|'."\n" .'|------|------|------|'."\n" .'|maximumPerMinute|Integer|The number of jobs pushed per minute under the task. Default value: 1000. Valid values: 50 to 1000.|'."\n" .'|messageQoS|String|The message type to send. This parameter applies only to custom tasks and batch Pub message push tasks. Valid values:
**QoS0**: Indicates that the message is sent at most once.
**QoS1**: Indicates that the message is sent at least once. If a QoS1 message does not receive a PUBACK response, it will be resent to the device upon reconnection.|'."\n" ."\n" .'Sample'."\n" .'```'."\n" .'{'."\n" .' "maximumPerMinute": 1000,'."\n" .' "messageQos":"Qos1"'."\n" .'}'."\n" .'```'."\n" ."\n" .'**TimeoutConfig definition**'."\n" .'|Name|Type|Description|'."\n" .'|------|------|------|'."\n" .'|inProgressTimeoutInMinutes|Integer|The timeout period for job execution under the task, in minutes.
This parameter applies only to custom tasks.
The timeout period starts when the task begins execution (status changes to **IN_PROGRESS**). If the job has not completed by the end of this period, its status is automatically set to TIMED_OUT.
Valid values: 1 to 3600. Default value: 60.|'."\n" ."\n" .'Sample'."\n" .'```'."\n" .'{'."\n" .' "inProgressTimeoutInMinutes": 60'."\n" .'}'."\n" .'```'."\n" .' '."\n" .'When calling this API, you must include the common request parameters in addition to the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateJob'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'UpdateOTAJob' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'MaximumPerMinute', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '10000', 'minimum' => '10', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'JobId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'UpgradeType', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'TimeoutInMinutes', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'TargetSelection', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'SrcVersionList', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'type' => 'array', 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'required' => false, 'maxItems' => 30, 'description' => '', 'title' => '', 'example' => '', ], ], [ 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Key' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], 'Value' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 10, 'description' => '', 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.ota.FirmwareNotFound', 'errorMessage' => 'The specified firmware does not exist.', 'description' => 'The specified firmware does not exist.'], ['errorCode' => 'iot.ota.StrategyNotFound', 'errorMessage' => 'The specified strategy does not exist.', 'description' => 'The specified strategy does not exist.'], ['errorCode' => 'iot.ota.noDynamicJob', 'errorMessage' => 'Task is not dynamic.', 'description' => 'Task is not dynamic.'], ['errorCode' => 'iot.ota.InvalidBaseSpeedPerMinute', 'errorMessage' => 'Invalid baseSpeedPerMinute.', 'description' => 'Invalid baseSpeedPerMinute.'], ['errorCode' => 'iot.ota.InvalidIncrementFactor', 'errorMessage' => 'Invalid incrementFactor.', 'description' => 'Invalid incrementFactor.'], ['errorCode' => 'iot.ota.InvalidExponentialRateParameter', 'errorMessage' => 'Invalid exponential rate parameter.', 'description' => 'Invalid exponential rate parameter.'], ['errorCode' => 'iot.ota.InvalidMaximumPerMinute', 'errorMessage' => 'Invalid MaximumPerMinute.', 'description' => 'Invalid MaximumPerMinute.'], ['errorCode' => 'iot.ota.InvalidUpgradeType', 'errorMessage' => 'Invalid upgrade type.', 'description' => 'Invalid upgrade type.'], ['errorCode' => 'iot.ota.OperationForbidden', 'errorMessage' => 'This operation is forbidden by the tenantId.', 'description' => 'This operation is forbidden by the tenantId.'], ['errorCode' => 'iot.ota.InvalidTimeout', 'errorMessage' => 'Parameter TimeoutInMinutes is invalid.', 'description' => 'Parameter TimeoutInMinutes is invalid.'], ['errorCode' => 'iot.ota.InvalidStrategyType', 'errorMessage' => 'Invalid strategy type.', 'description' => 'Invalid strategy type.'], ['errorCode' => 'iot.ota.JobHasFinished', 'errorMessage' => 'The job has finished.', 'description' => 'The job has finished.'], ['errorCode' => 'iot.ota.JobHasCanceled', 'errorMessage' => 'The job has canceled.', 'description' => ''], ['errorCode' => 'iot.ota.taskNotExist', 'errorMessage' => 'Task is not existed.', 'description' => 'Task is not existed.'], ['errorCode' => 'iot.ota.JobTagIsTooLong', 'errorMessage' => 'The tags of job exceed the maximum number of characters.', 'description' => ''], ['errorCode' => 'iot.ota.InstanceIdMisMatch', 'errorMessage' => 'The instanceId is invalid.', 'description' => 'The instanceId is invalid.'], ['errorCode' => 'iot.ota.InvalidBaseRatePerMinute', 'errorMessage' => 'Parameter BaseRatePerMinute is invalid.', 'description' => 'The value of the BaseRatePerMinute parameter is invalid.'], ['errorCode' => 'iot.ota.InvalidSrcVersionList', 'errorMessage' => 'Parameter SrcVersionList does not support by group upgrade.', 'description' => 'The SrcVersionList parameter is optional when you update devices by device group.'], ['errorCode' => 'iot.ota.EmptySrcVersionList', 'errorMessage' => 'Parameter SrcVersionList is empty.', 'description' => 'The SrcVersionList parameter cannot be empty.'], ['errorCode' => 'iot.ota.InvalidConstantSpeedParameter', 'errorMessage' => 'The parameter of constant speed is invalid.', 'description' => 'The parameter that specifies a constant rate is invalid.'], ['errorCode' => 'iot.ota.EmptyNumberOfNotifiedDevicesAndNumberOfSucceedDevices', 'errorMessage' => 'Both of NumberOfNotifiedDevices and NumberOfSucceedDevices are empty.', 'description' => 'The NumberOfNotifiedDevices or NumberOfSucceedDevices parameter cannot be empty.'], ['errorCode' => 'iot.ota.InvalidNumberOfNotifiedDevicesOrNumberOfSucceedDevices', 'errorMessage' => 'One of NumberOfNotifiedDevices and NumberOfSucceedDevices is invalid.', 'description' => 'The value of the NumberOfNotifiedDevices or NumberOfSucceedDevices parameter is invalid.'], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:UpdateOTAJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false\\n}","type":"json"}]', ], 'UpdateOTAModule' => [ 'methods' => ['post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'AliasName', 'in' => 'query', 'schema' => ['description' => 'The new alias of the OTA module. The alias must be 1 to 64 characters in length, and can contain letters, digits, periods(.), hyphens (-), and underscores (\\_).'."\n", 'type' => 'string', 'required' => false, 'example' => '条码扫描仪2', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'ModuleName', 'in' => 'query', 'schema' => ['description' => 'The name of the OTA module.'."\n", 'type' => 'string', 'required' => true, 'example' => 'barcodeScanner', 'title' => ''], ], [ 'name' => 'Desc', 'in' => 'query', 'schema' => ['description' => 'The new description of the OTA module. The description can be up to 100 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => '条码扫描仪的固件模块', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the OTA module belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1Le6d0****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '74C2BB8D-1D6F-41F5-AE68-6B2310883F63', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"74C2BB8D-1D6F-41F5-AE68-6B2310883F63\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 29EC7245-0FA4-4BB6-B4F5-5F04818FDFB1\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'UpdateOTAModule', 'summary' => 'Modifies the alias and description of an OTA module.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateOTAModule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'UpdateParser' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify this parameter. Otherwise, the invocation fails.'."\n" .'- If the **Instance Overview** page or ID does not exist, you do not need to specify this parameter.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-8t***', 'title' => ''], ], [ 'name' => 'ParserId', 'in' => 'query', 'schema' => ['description' => 'The resolver ID. You can call the [ListParsers](~~429046~~) API to query the resolver list and obtain the **ParserId**.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '9999999999', 'minimum' => '0', 'example' => '1001', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the resolver.', 'type' => 'string', 'required' => false, 'example' => '转发数据。', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the resolver. It can contain Chinese characters, English letters, Japanese characters, digits, underscores (_), and hyphens (-). The name must be 1 to 30 characters in length. Each Chinese or Japanese character occupies two characters.', 'type' => 'string', 'required' => false, 'example' => 'DataParserTwo', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ['errorCode' => 'iot.common.InvalidFormattedParameter', 'errorMessage' => 'The parameter format is invalid.', 'description' => 'The parameter format is invalid.'], ['errorCode' => 'iot.rule.UpdateRuleFailed', 'errorMessage' => 'An error occurred while upgrading the rule.', 'description' => 'An error occurred while upgrading the rule.'], ['errorCode' => 'iot.rule.InvalidRuleName', 'errorMessage' => 'The rule name is invalid', 'description' => ''], ['errorCode' => 'iot.rule.NotFoundRule', 'errorMessage' => 'there are no rules', 'description' => ''], ['errorCode' => 'iot.rule.ConnectorIsAlreadyExisted', 'errorMessage' => 'The parser name already exists.', 'description' => 'The parser name already exists.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'UpdateParser', 'summary' => 'Invoke this API to update the name and description of a resolver.', 'description' => '## How-To'."\n" ."\n" .'After you successfully create a resolver by calling the [CreateParser](~~429044~~) API, you can update the name and description of the resolver based on your business needs by using the returned **ParserId**.'."\n" ."\n" .'## QPS Limit'."\n" ."\n" .'Each Alibaba Cloud account can send up to 10 queries per second (QPS) to call this API.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateParser', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateParser'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'UpdateParserDataSource' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify this ID. Otherwise, the invocation fails.'."\n" .'- If the **Instance Overview** page or the ID does not exist, you do not need to specify this parameter.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-2w****', 'title' => ''], ], [ 'name' => 'DataSourceId', 'in' => 'query', 'schema' => ['description' => 'The DataSource ID. You can call the [ListParserDataSource](~~432676~~) API to query the data source list and obtain the **DataSourceId**.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '9999999999', 'minimum' => '0', 'example' => '1001', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the data source. It can contain Chinese characters, English letters, Japanese characters, digits, underscores (_), and hyphens (-). The name must be 1 to 30 characters in length. Each Chinese or Japanese character occupies 2 characters.', 'type' => 'string', 'required' => true, 'example' => 'DataSource', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the data source.', 'type' => 'string', 'required' => false, 'example' => '设备数据。', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => 'E4C0FF92-2A86-41DB-92D3-73B60310D25E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => 'An internal error occurred. Try again later.'], ['errorCode' => 'iot.system.IllegalRequest', 'errorMessage' => 'The request parameter is invalid.', 'description' => 'The request parameter is invalid.'], ['errorCode' => 'iot.rule.UpdateRuleFailed', 'errorMessage' => 'An error occurred while upgrading the rule.', 'description' => 'An error occurred while upgrading the rule.'], ['errorCode' => 'iot.rule.DataSourceNotExists', 'errorMessage' => 'Datasource not existed', 'description' => ''], ['errorCode' => 'iot.rule.DataSourceExists', 'errorMessage' => 'Same datasource is existed', 'description' => ''], ['errorCode' => 'iot.rule.InvalidDataSourceName', 'errorMessage' => 'The data source name is invalid', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E4C0FF92-2A86-41DB-92D3-73B60310D25E\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Update the data source of a resolver', 'summary' => 'Update the data source of a resolver.', 'description' => '## How-To'."\n" ."\n" .'After you successfully create a data source by calling the [CreateParserDataSource](~~433011~~) API, you can update the name and description of the data source based on the returned **DataSourceId** if required by your business.'."\n" ."\n" .'## Queries per second (QPS) limit'."\n" ."\n" .'Each Alibaba Cloud account can send up to 10 queries per second (QPS) to call this API. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When you invoke this API, in addition to the API-specific request parameters described in this topic, you must also specify common request parameters. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateParserDataSource', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateParserDataSource'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'UpdateProduct' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the ID of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n\n" ."\n" .'**Important**'."\n" ."\n" .'* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.****'."\n" .'* If no **Overview** page or **ID** is generated for your instance, you do not need to configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the product. The description must be 1 to 100 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => '第二代路灯产品。', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product. A ProductKey is a GUID that is issued by IoT Platform to the product.****'."\n" ."\n" .'You can use the IoT Platform console or call the [QueryProductList](~~69271~~) operation to view the information about all products within the current Alibaba Cloud account.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'ProductName', 'in' => 'query', 'schema' => ['description' => 'The new product name that you want to use.'."\n" ."\n" .'The name must be 4 to 30 characters in length, and can contain letters, digits, and underscores (\\_).'."\n" ."\n\n" .'**Important** Each product name must be unique within the current Alibaba Cloud account.', 'type' => 'string', 'required' => true, 'example' => '路灯', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\nC4FDA54C-4201-487F-92E9-022F42387458\\ntrue\\n","errorExample":""}]', 'title' => 'UpdateProduct', 'summary' => 'Modifies the information about a product.', 'description' => '## QPS limits'."\n" ."\n" .'You can call this API operation up to 10 times per second per account.'."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateProduct', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'UpdateProductFilterConfig' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product. A ProductKey is a GUID that is issued by IoT Platform to a product.'."\n" ."\n" .'You can use the IoT Platform console or call the [QueryProductList](~~69271~~) operation to view the information about all products within the current account.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'PropertyTimestampFilter', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to deduplicate messages based on the submission time of each property. Valid values:'."\n" ."\n" .'* **true**: deduplicates property messages that have the same timestamp.'."\n" .'* **false**: does not deduplicate messages based on timestamps.'."\n", 'type' => 'boolean', 'required' => true, 'example' => 'false', 'title' => ''], ], [ 'name' => 'PropertyValueFilter', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to deduplicate messages based on the value of each property. Valid values:'."\n" ."\n" .'* **true**: deduplicates property messages that have the same property value.'."\n" .'* **false**: does not deduplicate messages based on property values.'."\n", 'type' => 'boolean', 'required' => true, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\n2E19BDAF-0FD0-4608-9F41-82D230CFEE38\\ntrue\\n","errorExample":""}]', 'title' => 'UpdateProductFilterConfig', 'summary' => 'Updates the deduplication rules for property messages that are submitted by the devices of a product. If the call succeeds, the new rules are applied to all the devices of the product.', 'description' => '## Message deduplication rules'."\n" ."\n" .'Based on the rules that you set, IoT Platform determines whether to use the rules engine or server-side subscriptions to forward property data that is submitted by devices to a specified destination.'."\n" ."\n" .'The triggering conditions of rules are related by the logic AND relation. For example, if you set the PropertyValueFilter=true and PropertyTimestampFilter=true conditions, the rule to remove duplicate messages is triggered only when both of the conditions are met.'."\n" ."\n" .'## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS). '."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateProductFilterConfig', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'UpdateProductTags' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n\n" .'>* If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.'."\n" .'>* If no **Overview** page or ID is generated for your instance, you do not need to configure this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The ProductKey of the product. A ProductKey is a GUID that is issued by IoT Platform to a product. You can use the IoT Platform console or call the [QueryProductList](~~69271~~) operation to view the information about all products within the current account.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'ProductTag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of product tags.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'TagValue' => ['description' => 'The new values of the product tags. Each tag value must be 1 to 128 characters in length, and can contain letters, digits, underscores (\\_), and hyphens (-).'."\n", 'type' => 'string', 'required' => false, 'example' => '202', 'title' => ''], 'TagKey' => ['description' => 'The keys of the product tags. Each key must be 1 to 30 characters in length, and can contain letters, digits, and periods (.).'."\n" ."\n" .'> Each tag key that you specify must already exist. Each tag value that you specify must be unique.'."\n", 'type' => 'string', 'required' => false, 'example' => 'room', 'title' => ''], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => true, 'maxItems' => 10, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the request fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'InvalidProductTags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'ProductTag' => [ 'description' => 'The invalid product tags returned if the call fails. The details are included in the **ProductTag** parameter.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'TagValue' => ['description' => 'The value of the tag.'."\n", 'type' => 'string', 'example' => '123', 'title' => ''], 'TagKey' => ['description' => 'The key of the tag.'."\n", 'type' => 'string', 'example' => 'room', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true,\\n \\"InvalidProductTags\\": {\\n \\"ProductTag\\": [\\n {\\n \\"TagValue\\": \\"123\\",\\n \\"TagKey\\": \\"room\\"\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'UpdateProductTags', 'summary' => 'Invoke this API to update product tags.', 'description' => '## How-To'."\n" ."\n" .'You can update up to 10 tags in a single API call.'."\n" ."\n" .'## QPS Limit'."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account is 500 when calling this API.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When calling this API, you must include the common request parameters in addition to the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateProductTags', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateProductTags'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'UpdateProductTopic' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'Desc', 'in' => 'query', 'schema' => ['description' => 'The description of the topic category. The description must be 1 to 100 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => 'resubmit a test topic', 'title' => ''], ], [ 'name' => 'Operation', 'in' => 'query', 'schema' => ['description' => 'The operation permissions of the device on the topic category. Valid values:'."\n" ."\n" .'* **SUB**: Subscribe.'."\n" .'* **PUB**: Publish.'."\n" .'* **ALL**: Publish and Subscribe.'."\n", 'type' => 'string', 'required' => true, 'example' => 'PUB', 'title' => ''], ], [ 'name' => 'TopicShortName', 'in' => 'query', 'schema' => ['description' => 'The name of the user-defined category level that you want to set. By default, a topic category includes the following levels: \\_productkey\\_ and \\_devicename\\_. Separate the two levels with slashes (/). Format of a topic category: `productKey/deviceName/topicShortName`.'."\n" ."\n" .'> Each level can contain letters, digits, and underscores (\\_), and cannot be empty.'."\n", 'type' => 'string', 'required' => true, 'example' => 'resubmit', 'title' => ''], ], [ 'name' => 'TopicId', 'in' => 'query', 'schema' => ['description' => 'The ID of the topic category that you want to modify.'."\n", 'type' => 'string', 'required' => true, 'example' => '821****', 'title' => ''], ], [ 'name' => 'EnableProxySubscribe', 'in' => 'query', 'schema' => ['description' => 'If **Operation** is set to **SUB** (subscribe) or **ALL** (publish and subscribe), you can enable proxy subscription. '."\n" .'Valid values: '."\n" ."\n" .'- **true**: Enabled. '."\n" .'- **false**: Disabled. '."\n" ."\n" .'After proxy subscription is enabled, when a device establishes a connection with the IoT Platform, the platform queries all topics with proxy subscription enabled and helps the device complete the subscription.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'Codec', 'in' => 'query', 'schema' => ['description' => 'For medium and premium Enterprise instances, you can enable data compression or decompression for custom topics. '."\n" .'Valid values: '."\n" ."\n" .'- **compress**: Compress. '."\n" .'- **decompress**: Decompress. '."\n" ."\n" .'For more information about data compression, see [Data Compression](~~477405~~). '."\n" ."\n" .'>When **TopicShortName** contains wildcard characters (`+` or `#`), you cannot specify **Codec** at the same time. If you attempt to create a wildcard topic category while enabling data compression or decompression, the call to this API will fail. '."\n" .'>', 'type' => 'string', 'required' => false, 'example' => 'compress', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'FCC27691-9151-4B93-9622-9C90F30542EC', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"FCC27691-9151-4B93-9622-9C90F30542EC\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Update a Custom Topic Category of a Specified Product', 'summary' => 'Invoke this API to update a custom topic category of a specified product.', 'description' => '## QPS limit'."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 50.'."\n" ."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.'."\n", 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateProductTopic', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateProductTopic'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'UpdateRule' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'RuleId', 'in' => 'query', 'schema' => ['description' => 'The ID of the rule that you want to modify. You can log on to the IoT Platform console and choose **Rules** > **Data Forwarding** to view the rule ID. You can also call the [ListRule](~~69486~~) operation and view the rule ID in the response.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '100000', 'title' => ''], ], [ 'name' => 'Select', 'in' => 'query', 'schema' => ['description' => 'The SQL SELECT statement to be executed. For more information, see [SQL expressions](~~30554~~).'."\n" ."\n" .'> Specify the content that follows the SELECT keyword for this parameter. For example, if the SELECT statement is `SELECT a,b,c`, specify `a,b,c` for this parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'deviceName() as deviceName, items.Humidity.value as Humidity, items.Temperature.value as Temperature', 'title' => ''], ], [ 'name' => 'ShortTopic', 'in' => 'query', 'schema' => ['description' => 'The topic to which this rule is applied. Syntax: `${deviceName}/topicShortName`. `${deviceName}` specifies the name of the device, and `topicShortName` specifies the custom name of the topic.'."\n" ."\n" .'* Basic communication topics or Thing Specification Language (TSL)-based communication topics. Syntax: `${deviceName}/topicShortName`. You can replace `${deviceName}` with the `+` wildcard. The wildcard indicates that the topic applies to all devices under the product. Valid values of `topicShortName`:'."\n" ."\n" .' * `/thing/event/property/post`: submits the property data of a device.'."\n" ."\n" .' * `/thing/event/${tsl.event.identifier}/post`: submits the event data of a device. `${tsl.event.identifier}` specifies the identifier of an event in the TSL model.'."\n" ."\n" .' * `/thing/lifecycle`: submits device lifecycle changes.'."\n" ."\n" .' * `/thing/downlink/reply/message`: sends a response to a request from IoT Platform.'."\n" ."\n" .' * `/thing/list/found`: submits the data when a gateway detects a new sub-device.'."\n" ."\n" .' * `/thing/topo/lifecycle`: submits device topology changes.'."\n" ."\n" .' * `/thing/event/property/history/post`: submits historical property data of a device.'."\n" ."\n" .' * `/thing/event/${tsl.event.identifier}/post`: submits the historical event data of a device. `${tsl.event.identifier}` specifies the identifier of an event in the TSL.'."\n" ."\n" .' * `/ota/upgrade`: submits OTA update statuses.'."\n" ."\n" .' * `/ota/version/post`: submits OTA module versions.'."\n" ."\n" .' * `/thing/deviceinfo/update`: submits device tag changes.'."\n" ."\n" .' * `/edge/driver/${driver_id}/point_post`: submits pass-through data from Link IoT Edge. `${driver_id}` specifies the ID of the driver that a device uses to access Link IoT Edge.'."\n" ."\n" .' `${packageId}/${jobId}/ota/job/status`: submits the statuses of OTA update batches. This topic is a basic communication topic. `${packageId}` specifies the ID of the update package. `${jobId}` specifies the ID of the update batch.'."\n" ."\n" .'* Custom topics. Example: `${deviceName}/user/get`.'."\n" ."\n" .' You can call the [QueryProductTopic](~~69647~~) operation to view all custom topics of the product.'."\n" ."\n" .' When you specify a custom topic, you can use the `+` and `#` wildcards.'."\n" ."\n" .' * You can replace `${deviceName}` with the `+` wildcard. The wildcard indicates that the topic applies to all devices under the product.'."\n" ."\n" .' * You can replace the fields that follow ${deviceName} with `/user/#`. The `#` wildcard indicates that the topic applies whatever values are specified for the fields that follow`/user`.'."\n" ."\n" .' For more information about how to use wildcards, see [Wildcards in topics](~~85539~~).'."\n" ."\n" .'* Topic that is used to submit device status changes: `${deviceName}`.'."\n" ."\n" .' You can use the `+` wildcard. In this case, the status changes of all devices under the product are submitted.'."\n", 'type' => 'string', 'required' => false, 'example' => '+/thing/event/property/post', 'title' => ''], ], [ 'name' => 'Where', 'in' => 'query', 'schema' => ['description' => 'The condition that is used to trigger the rule. For more information, see [SQL expressions](~~30554~~).'."\n" ."\n" .'> Specify the content that follows the WHERE keyword for this parameter. For example, if the WHERE statement is `WHERE a>10`, specify `a>10` for this parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Temperature>35', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the rule applies.'."\n", 'type' => 'string', 'required' => false, 'example' => 'aladaeW****', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the rule. The rule name must be 1 to 30 characters in length, and can contain letters, digits, underscores (\\_), and hyphens (-).'."\n", 'type' => 'string', 'required' => false, 'example' => 'test_2', 'title' => ''], ], [ 'name' => 'RuleDesc', 'in' => 'query', 'schema' => ['description' => 'The description of the rule. The description can be up to 100 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'TopicType', 'in' => 'query', 'schema' => ['description' => '* **0**: The topic is a basic communication topic or TSL-based communication topic.****'."\n" .'* **1**: The topic is a custom topic.'."\n" .'* **2**: The topic is used to submit device status changes. Syntax: `/as/mqtt/status/${productKey}/${deviceName}`.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'Topic', 'in' => 'query', 'schema' => ['description' => 'The complete topic to which the rule applies.'."\n" ."\n" .'If you specify this parameter, you do not need to specify the **ProductKey**, **ShortTopic**, and **TopicType** parameters.'."\n", 'type' => 'string', 'required' => false, 'example' => '/sys/g18l***/device1/thing/event/property/post', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '9A2F243E-17FE-4846-BAB5-D02A25155AC4', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"9A2F243E-17FE-4846-BAB5-D02A25155AC4\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n 9A2F243E-17FE-4874-QBB5-D02A25155AC8\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'UpdateRule', 'summary' => 'Modifies a specified rule.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateRule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'UpdateRuleAction' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'ActionId', 'in' => 'query', 'schema' => ['description' => 'The ID of the rule action to be modified.'."\n" ."\n" .'After you call the [CreateRuleAction](~~69586~~) operation to create a rule action, the rule action ID is returned. You can call the [ListRuleActions](~~69517~~) operation to view the rule action ID.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1000003', 'title' => ''], ], [ 'name' => 'Type', 'in' => 'query', 'schema' => ['description' => 'The type of the rule action. Valid values:'."\n" ."\n" .'* **MNS**: forwards topic data that is processed by the rules engine to MNS.'."\n" .'* **FC**: forwards topic data that is processed by the rules engine to Function Compute for event computing.'."\n" .'* **REPUBLISH**: forwards topic data that is processed by the rules engine to another IoT Platform topic.'."\n" .'* **AMQP**: forwards data to an AMQP consumer group.'."\n" .'* **OTS**: forwards topic data that is processed by the rules engine to Tablestore for NoSQL data storage.'."\n" ."\n" .'> * If you set the **DataType** parameter to **BINARY**, rules are created in the binary format. These rules cannot be used to forward data to Tablestore.'."\n" .'>* Destination Alibaba Cloud services that are supported by the rules engine vary based on regions. For more information about the regions and destination cloud services that are supported by the rules engine, see [Regions and zones](~~85669~~).', 'type' => 'string', 'required' => true, 'example' => 'REPUBLISH', 'title' => ''], ], [ 'name' => 'Configuration', 'in' => 'query', 'schema' => ['description' => 'The configurations of the rule action. The configurations for different rule action types are different. For more information about the configurations for different rule action types, see [CreateRuleAction](~~69586~~).'."\n", 'type' => 'string', 'required' => true, 'example' => '{"topic":"/a1iYSOl****/device5/user/get","topicType":1}', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '21D327AF-A7DE-4E59-B5D1-ACAC8C024555', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"21D327AF-A7DE-4E59-B5D1-ACAC8C024555\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n 9A2F243E-17FE-4874-QBB5-D02A25155AC8\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'UpdateRuleAction', 'summary' => 'Modifies a specified rule action.', 'description' => '## Limits'."\n" ."\n" .'Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateRuleAction', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'UpdateSceneRule' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. Do not specify this parameter for public instances. Specify this parameter for Enterprise instances.', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'RuleId', 'in' => 'query', 'schema' => ['description' => 'The ID of the scene orchestration rule. You can call the [QuerySceneRule](~~169498~~) API to obtain the rule ID.', 'type' => 'string', 'required' => true, 'example' => 'f041397879ad4d89822811d741******', 'title' => ''], ], [ 'name' => 'RuleName', 'in' => 'query', 'schema' => ['description' => 'The name of the scene orchestration rule. The name can contain Chinese characters, uppercase and lowercase letters, digits, underscores (_), and hyphens (-). The name must be 1 to 30 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'RuleContent', 'in' => 'query', 'schema' => ['description' => 'The content of the scene orchestration rule. For details about the format, see [Scene Orchestration Rule Writing Guide](~~171059~~).', 'type' => 'string', 'required' => false, 'example' => '{"action":[{"params":{"content":"${metadata.formattedTime}: 收到定时消息","title":"钉钉机器人通知","webHook":"https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxx"},"uri":"action/dingtalk/robot"}],"trigger":{"params":{"cron":"0 * * * * ? 2020","cronType":"quartz_cron"},"uri":"trigger/timer"},"type":"IFTTT"}', 'title' => ''], ], [ 'name' => 'RuleDescription', 'in' => 'query', 'schema' => ['description' => 'The description of the scene orchestration rule. The description can be up to 100 characters in length.', 'type' => 'string', 'required' => false, 'example' => '定时发送消息到钉钉机器人', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The return code of the API. A value of "Success" indicates success. Other values indicate error codes. For more information, see [Error Codes](~~135200~~).', 'type' => 'string', 'example' => 'Success', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => 'request parameter error', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => 'C9D9C91B-1B3B-4D84-BE58-68E7B2A989EA', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. A value of true indicates success, and false indicates failure.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"ErrorMessage\\": \\"request parameter error\\",\\n \\"RequestId\\": \\"C9D9C91B-1B3B-4D84-BE58-68E7B2A989EA\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Update Scene Orchestration Rule', 'summary' => 'Update a scene orchestration rule.', 'description' => '## Conditions'."\n" .'Each Alibaba Cloud account can send a maximum of 10 queries per second (QPS) to invoke this API.'."\n" ."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When you invoke this API, in addition to the API-specific request parameters described in this topic, you must also specify common request parameters. For more information about common request parameters, see [Common Request Parameters](~~135196~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateSceneRule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateSceneRule'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'UpdateSchedulePeriod' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'SoundCodeContent', 'in' => 'formData', 'schema' => ['description' => 'The content parsed from the sound code during the time period. The content can be 1 to 512 characters in length. Each Chinese character counts as two characters.', 'type' => 'string', 'required' => false, 'example' => 'www.taobao.com', 'title' => ''], ], [ 'name' => 'PeriodCode', 'in' => 'formData', 'schema' => ['description' => 'The unique identifier of the time period.', 'type' => 'string', 'required' => true, 'example' => 'Md3ZiTL888K9llXDy7890***********', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID.You can view the **ID** of your current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify it. Otherwise, the invocation fails.'."\n" .'- If no ID exists, you do not need to specify it.'."\n" .'>'."\n" ."\n" .'For more information about instances, see [How to Obtain an Instance ID](~~267533~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'formData', 'schema' => ['description' => 'The description of the time period. The description can be 1 to 64 characters in length. Each Chinese character counts as two characters.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'formData', 'schema' => ['description' => 'The start time of the time period, in 24-hour format. Valid values range from 00:00 to 23:59.', 'type' => 'string', 'required' => false, 'example' => '00:00', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'formData', 'schema' => ['description' => 'The end time of the time period, in 24-hour format. Valid values range from 00:00 to 23:59. The value cannot be earlier than StartTime.', 'type' => 'string', 'required' => false, 'example' => '01:00', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.soundcodeservice.NotSigned', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.', 'type' => 'string', 'example' => 'sound code service has not been signed', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => '66FF51D3-***-49F1-B1A2-***', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" .'- **true**: The invocation succeeded.'."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.scheduleperiod.InvalidIotInstanceId', 'errorMessage' => 'invalid IotInstanceId', 'description' => ''], ['errorCode' => 'iot.scheduleperiod.InvalidTime', 'errorMessage' => 'invalid period time', 'description' => ''], ['errorCode' => 'iot.scheduleperiod.InvalidDesc', 'errorMessage' => 'Invalid period description', 'description' => ''], ['errorCode' => 'iot.scheduleperiod.NotExists', 'errorMessage' => 'schedule period not exists', 'description' => ''], ['errorCode' => 'iot.scheduleperiod.ConflictWithScheduleTime', 'errorMessage' => 'conflict with schedule time', 'description' => ''], ['errorCode' => 'iot.scheduleperiod.ConflictTime', 'errorMessage' => 'conflict with:%s', 'description' => ''], ['errorCode' => 'iot.soundcode.SensitiveContent', 'errorMessage' => 'sensitive content', 'description' => 'sensitive content'], ], 403 => [ ['errorCode' => 'iot.soundcodeservice.NotSigned', 'errorMessage' => 'sound code service has not been signed', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'UpdateSchedulePeriod', 'summary' => 'Invoke this API to update a sound code schedule period.', 'description' => '## Queries per second (QPS) limit'."\n" .'Each Alibaba Cloud account can send a maximum of 2 queries per second (QPS) to call this API.'."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When you invoke this API, in addition to the API-specific request parameters described in this topic, you must also specify common request parameters. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:UpdateSchedulePeriod', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateSchedulePeriod'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'UpdateSoundCode' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'Duration', 'in' => 'formData', 'schema' => ['description' => 'The duration of the sound code, in seconds. Valid values: 1 to 30.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], ], [ 'name' => 'SoundCodeContent', 'in' => 'formData', 'schema' => ['description' => 'The marketing content of the sound code, such as the product detail URL. The content can be up to 100 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'www.taobao.com', 'title' => ''], ], [ 'name' => 'SoundCode', 'in' => 'formData', 'schema' => ['description' => 'The unique identifier of the sound code.', 'type' => 'string', 'required' => true, 'example' => 'Md3ZiTL888K9llXDy7890***********', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID.You can view the **ID** of your current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must specify it. Otherwise, the invocation fails.'."\n" .'- If no ID exists, you do not need to specify it.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [How to obtain an instance ID](~~267533~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'formData', 'schema' => ['description' => 'The name of the sound code. The name must be 1 to 64 characters in length. Each Chinese character counts as two characters. The name must be unique within the instance.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.soundcodeservice.NotSigned', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.'."\n", 'type' => 'string', 'example' => 'sound code service has not been signed', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => '66FF51D3-***-49F1-B1A2-***', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" ."\n" .'- **true**: The invocation succeeded.'."\n" ."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.soundcode.InvalidIotInstanceId', 'errorMessage' => 'invalid iot instance id', 'description' => 'invalid iot instance id'], ['errorCode' => 'iot.soundcode.InvalidSoundCode', 'errorMessage' => 'invalid sound code', 'description' => ''], ['errorCode' => 'iot.soundcode.InvalidSoundCodeContent', 'errorMessage' => 'invalid sound code content', 'description' => ''], ['errorCode' => 'iot.soundcode.InvalidSoundCodeDuration', 'errorMessage' => 'invalid sound code duration', 'description' => 'invalid sound code duration'], ['errorCode' => 'iot.soundcode.InvalidName', 'errorMessage' => 'invalid sound code name', 'description' => 'invalid sound code name'], ['errorCode' => 'iot.soundcode.SensitiveContent', 'errorMessage' => 'sensitive content', 'description' => 'sensitive content'], ['errorCode' => 'iot.soundcode.AlreadyExistsName', 'errorMessage' => 'already exists sound code name', 'description' => 'already exists sound code name'], ], 403 => [ ['errorCode' => 'iot.soundcodeservice.NotSigned', 'errorMessage' => 'sound code service has not been signed', 'description' => ''], ], 429 => [ ['errorCode' => 'iot.soundcode.EncodeLimit', 'errorMessage' => 'sound code encode limit exceeded', 'description' => 'sound code encode limit exceeded'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'UpdateSoundCode', 'summary' => 'Invoke this API to update a sound code.', 'description' => '## Queries per second (QPS) limit'."\n" .'Each Alibaba Cloud account can send a maximum of 2 requests per second (QPS) to invoke this API.'."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When you invoke this API, you must specify both the common request parameters and the API-specific request parameters described in this topic. For more information about common request parameters, see [Common Request Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:UpdateSoundCode', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateSoundCode'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'UpdateSoundCodeLabel' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'SoundCode', 'in' => 'formData', 'schema' => ['description' => 'The unique identifier of the sound code. ', 'type' => 'string', 'required' => true, 'example' => 'Md3ZiTL888K9llXDy7890***********', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID.You can view the **ID** of your current instance on the **Instance Overview** page in the IoT Platform console. '."\n" ."\n" .'> '."\n" .'- If an ID exists, you must specify it. Otherwise, the invocation fails. '."\n" .'- If no ID exists, you do not need to specify this parameter. '."\n" .'> '."\n" ."\n" .'For more information about instances, see [How to Obtain an Instance ID](~~267533~~). ', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'Label', 'in' => 'formData', 'schema' => ['description' => 'The label. The length is 1 to 64 characters. Each Chinese character counts as two characters. The label is unique within the same schedule. ', 'type' => 'string', 'required' => true, 'example' => 'test', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation failed. For more information, see [Error Codes](~~87387~~). ', 'type' => 'string', 'example' => 'iot.soundcodeservice.NotSigned', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation failed. ', 'type' => 'string', 'example' => 'sound code service has not been signed', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generated for this request. ', 'type' => 'string', 'example' => '66FF51D3-***-49F1-B1A2-***', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: The invocation failed. ', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.soundcode.InvalidIotInstanceId', 'errorMessage' => 'invalid iot instance id', 'description' => 'invalid iot instance id'], ['errorCode' => 'iot.soundcode.InvalidSoundCode', 'errorMessage' => 'invalid sound code', 'description' => ''], ['errorCode' => 'iot.soundcode.InvalidLabel', 'errorMessage' => 'invalid sound code label', 'description' => ''], ['errorCode' => 'iot.soundcode.LabelNotExists', 'errorMessage' => 'sound code label not exists', 'description' => ''], ['errorCode' => 'iot.soundcode.AlreadyExistsLabel', 'errorMessage' => 'already exists sound code label', 'description' => ''], ], 403 => [ ['errorCode' => 'iot.soundcodeservice.NotSigned', 'errorMessage' => 'sound code service has not been signed', 'description' => ''], ], 429 => [ ['errorCode' => 'iot.soundcode.EncodeLimit', 'errorMessage' => 'sound code encode limit exceeded', 'description' => 'sound code encode limit exceeded'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'UpdateSoundCodeLabel ', 'summary' => 'Invoke this API to update a sound code label. ', 'description' => '## Queries per second (QPS) limit '."\n" .'Each Alibaba Cloud account can send a maximum of 2 queries per second (QPS) to call this API. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. ', 'requestParamsDescription' => 'When you call this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:UpdateSoundCodeLabel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateSoundCodeLabel'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'UpdateSoundCodeSchedule' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'ScheduleCode', 'in' => 'formData', 'schema' => ['description' => 'The unique identifier of the schedule.', 'type' => 'string', 'required' => true, 'example' => 'Md3ZiTL888K9llXDy7890***********', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The instance ID.You can view the **ID** of the current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID value exists, you must specify it. Otherwise, the invocation fails.'."\n" .'- If no ID value exists, you do not need to specify it.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [How to Obtain an Instance ID](~~267533~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'formData', 'schema' => ['description' => 'The schedule Name, which must be 1 to 64 characters in length. Each Chinese character counts as two characters. The Name must be Unique within the instance.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'formData', 'schema' => ['description' => 'The description of the schedule. It must be 1 to 64 characters in length. Each Chinese character counts as two characters. The description must be unique within the instance.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'Status', 'in' => 'formData', 'schema' => ['description' => 'The status of the schedule.'."\n" ."\n" .'- **WORKING**: Enable.'."\n" ."\n" .'- **STOP**: Disable.', 'type' => 'string', 'required' => false, 'example' => 'WORKING', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'formData', 'schema' => ['description' => 'The start time of the schedule each day, in 24-hour format. The value must be within the range of 00:00 to 23:59.', 'type' => 'string', 'required' => false, 'example' => '00:00', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'formData', 'schema' => ['description' => 'The end time of the schedule each day, in 24-hour format. The value must be within the range of 00:00 to 23:59 and cannot be earlier than StartTime.', 'type' => 'string', 'required' => false, 'example' => '23:59', 'title' => ''], ], [ 'name' => 'StartDate', 'in' => 'formData', 'schema' => ['description' => 'The start date of the schedule, in the format yyyy-MM-dd.', 'type' => 'string', 'required' => false, 'example' => '2022-03-31', 'title' => ''], ], [ 'name' => 'EndDate', 'in' => 'formData', 'schema' => ['description' => 'The scheduled end date of the job, in yyyy-MM-dd format. It must not be earlier than StartDate.', 'type' => 'string', 'required' => false, 'example' => '2022-03-31', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation failed. For more information, see [Error Codes](~~87387~~).', 'type' => 'string', 'example' => 'iot.soundcodeservice.NotSigned', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation failed.', 'type' => 'string', 'example' => 'sound code service has not been signed', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generated for this request.', 'type' => 'string', 'example' => '66FF51D3-***-49F1-B1A2-***', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" ."\n" .'- **true**: The invocation succeeded.'."\n" ."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.soundcodeschedule.InvalidDesc', 'errorMessage' => 'invalid schedule description', 'description' => ''], ['errorCode' => 'iot.soundcodeschedule.InvalidName', 'errorMessage' => 'invalid schedule name', 'description' => ''], ['errorCode' => 'iot.soundcodeschedule.AlreadyExistsName', 'errorMessage' => 'already exists schedule name', 'description' => ''], ['errorCode' => 'iot.soundcodeschedule.InvalidIotInstanceId', 'errorMessage' => 'invalid schedule IotInstanceId', 'description' => ''], ['errorCode' => 'iot.soundcodeschedule.NotExists', 'errorMessage' => 'schedule not exists', 'description' => ''], ['errorCode' => 'iot.soundcodeschedule.InvalidStatus', 'errorMessage' => 'invalid schedule status', 'description' => ''], ['errorCode' => 'iot.soundcodeschedule.InvalidTime', 'errorMessage' => 'invalid schedule time', 'description' => ''], ['errorCode' => 'iot.scheduleperiod.ConflictTime', 'errorMessage' => 'conflict with:%s', 'description' => ''], ['errorCode' => 'iot.soundcodeschedule.InvalidDate', 'errorMessage' => 'invalid sound code schedule date', 'description' => ''], ], 403 => [ ['errorCode' => 'iot.soundcodeservice.NotSigned', 'errorMessage' => 'sound code service has not been signed', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.soundcodeservice.NotSigned\\",\\n \\"ErrorMessage\\": \\"sound code service has not been signed\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'UpdateSoundCodeSchedule', 'summary' => 'Invoke this API to update a sound code schedule.', 'description' => '## Queries per second (QPS) limit '."\n" .'Each Alibaba Cloud account can send a maximum of 2 queries per second (QPS) to call this API. '."\n" .'> Resource Access Management (RAM) users share the quota of the Alibaba Cloud account.', 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:UpdateSoundCodeSchedule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateSoundCodeSchedule'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'UpdateSpeech' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'Voice', 'in' => 'formData', 'schema' => ['description' => 'The voice used for speech synthesis when updating or creating corpus. You can query available voice types by calling [GetSpeechVoice](~~217887~~) and specify the **Value** from the **VoiceList** in the response.', 'type' => 'string', 'required' => true, 'example' => 'Siyue', 'title' => ''], ], [ 'name' => 'SpeechCode', 'in' => 'formData', 'schema' => ['description' => 'Corpus ID. You can obtain this parameter by calling [QuerySpeechList](~~217576~~).', 'type' => 'string', 'required' => true, 'example' => ' VlKzbj3XIZ****CeIHH6vR82JNCSzk**', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'formData', 'schema' => ['description' => 'Instance ID. You can view the **ID** of your current instance on the **Instance Overview** page in the IoT Platform console.'."\n" ."\n" .'>'."\n" .'- If an ID exists, you must pass this **ID**; otherwise, the invocation will fail.'."\n" .'- If the **Instance Overview** page or **ID** does not exist, you do not need to pass this parameter.'."\n" ."\n" .'>'."\n" ."\n" .'For more information about instances, see [Instance Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot_instc_pu****_c*-v64********', 'title' => ''], ], [ 'name' => 'SpeechRate', 'in' => 'formData', 'schema' => ['description' => 'The speech rate. The default value is 0, and the valid range is -500 to 500.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '500', 'minimum' => '-500', 'example' => '0', 'default' => '0', 'title' => ''], ], [ 'name' => 'Volume', 'in' => 'formData', 'schema' => ['description' => 'Volume level. Default value: 50. Valid values: 0–100.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '0', 'example' => '50', 'default' => '50', 'title' => ''], ], [ 'name' => 'ProjectCode', 'in' => 'formData', 'schema' => ['description' => 'The project ID, which is the UUID of the project. You can obtain the project ID from the [Project Management Console](https://iot.console.aliyun.com/things-service/projects).', 'type' => 'string', 'required' => true, 'example' => ' 4de2c367****8c585e5992**', 'title' => ''], ], [ 'name' => 'SoundCodeConfig', 'in' => 'formData', 'style' => 'json', 'schema' => ['description' => 'Sound code configuration, which includes the following fields:'."\n" ."\n\n" .'- **SoundCodeContent**: Marketing content of the sound code, such as the product detail URL.'."\n" ."\n" .'- **AdditionalDuration**: Playback duration of the sound code after the corpus finishes playing, in seconds. Valid values: 1–15.', 'type' => 'object', 'required' => false, 'example' => '{"SoundCodeContent": "www.taobao.com", "AdditionalDuration": 3}', 'title' => ''], ], [ 'name' => 'EnableSoundCode', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to enable the sound code.'."\n" ."\n" .'> If **true** is passed, the **SoundCodeConfig** parameter must also be provided; otherwise, the invocation will fail.'."\n" .'>', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see [Error Codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.speechsolution.NotSigned', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails.'."\n", 'type' => 'string', 'example' => '千里传音解决方案未开通', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => '66FF51D3-***-49F1-B1A2-***', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded.'."\n" ."\n" .'- **true**: The invocation succeeded.'."\n" ."\n" .'- **false**: The invocation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.speechsolution.NotSigned\\",\\n \\"ErrorMessage\\": \\"千里传音解决方案未开通\\",\\n \\"RequestId\\": \\"66FF51D3-***-49F1-B1A2-***\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Update Corpus', 'summary' => 'Update corpus, including the playback voice, playback speed, and volume level.', 'description' => '## Queries per second (QPS) limit '."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 20. '."\n" .'> All Resource Access Management (RAM) users under a single Alibaba Cloud account share the quota of that Alibaba Cloud account.', 'requestParamsDescription' => 'When invoking this API, in addition to the specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Parameters documentation](~~30561~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'iot:UpdateSpeech', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateSpeech'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'UpdateSubscribeRelation' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'DeviceStatusChangeFlag', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to push messages about device status changes. Valid values:'."\n" ."\n" .'* **true**: yes.'."\n" .'* **false**: no.'."\n" ."\n" .'Default value: **false**.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'ThingHistoryFlag', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to push upstream historical Thing Specification Language (TSL) data. Valid values:'."\n" ."\n" .'* **true**: yes.'."\n" .'* **false**: no.'."\n" ."\n" .'Default value: **false**.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product that is specified for the subscription.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1fyXVF****', 'title' => ''], ], [ 'name' => 'Type', 'in' => 'query', 'schema' => ['description' => 'The type of the subscription. Valid values:'."\n" ."\n" .'* **MNS**'."\n" .'* **AMQP**'."\n", 'type' => 'string', 'required' => true, 'example' => 'AMQP', 'title' => ''], ], [ 'name' => 'DeviceDataFlag', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to push upstream device messages. Valid values:'."\n" ."\n" .'* **true**: yes.'."\n" .'* **false**: no.'."\n" ."\n" .'Default value: **false**.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'DeviceTopoLifeCycleFlag', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to push messages about topological relationship changes of devices. Valid values:'."\n" ."\n" .'* **true**: yes. This parameter is valid only for gateway products.'."\n" .'* **false**: no.'."\n" ."\n" .'Default value: **false**.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'FoundDeviceListFlag', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to push messages if a gateway detects new sub-devices. Valid values:'."\n" ."\n" .'* **true**: yes. This parameter is valid only for gateway products.'."\n" .'* **false**: no.'."\n" ."\n" .'Default value: **false**.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'OtaEventFlag', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to push notifications about the status of OTA update batches. Valid values:'."\n" ."\n" .'* **true**: yes.'."\n" .'* **false**: no.'."\n" ."\n" .'Default value: **false**.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'DeviceLifeCycleFlag', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to push messages about device lifecycle changes. Valid values:'."\n" ."\n" .'* **true**: yes.'."\n" .'* **false**: no.'."\n" ."\n" .'Default value: **false**.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'MnsConfiguration', 'in' => 'query', 'schema' => ['description' => 'The configurations of the MNS queue. This parameter is required if the **Type** parameter is set to **AMQP**.'."\n" ."\n" .'For more information, see the "Definition of the MnsConfiguration parameter" section.'."\n", 'type' => 'string', 'required' => false, 'example' => '{ "queueName": "mns-test-topic1", "regionName": "cn-shanghai", "role": { "roleArn": "acs:ram::5645***:role/aliyuniotaccessingmnsrole", "roleName": "AliyunIOTAccessingMNSRole" } }', 'title' => ''], ], [ 'name' => 'DeviceTagFlag', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to push messages about topological relationship changes of devices. Valid values:'."\n" ."\n" .'* **true**: yes. This parameter takes effect only if the **Type** parameter is set to **AMQP**.'."\n" .'* **false**: no.'."\n" ."\n" .'Default value: **false**.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'OtaVersionFlag', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to push messages about OTA module version numbers. Valid values:'."\n" ."\n" .'* **true**: yes. This parameter takes effect only if the **Type** parameter is set to **AMQP**.'."\n" .'* **false**: no.'."\n" ."\n" .'Default value: **false**.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'OtaJobFlag', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to push notifications about the statuses of OTA update batches. Valid values:'."\n" ."\n" .'* **true**: yes. This parameter takes effect only if the **Type** parameter is set to **AMQP**.'."\n" .'* **false**: no.'."\n" ."\n" .'Default value: **false**.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'SubscribeFlags', 'in' => 'query', 'schema' => ['description' => 'Indicates other message types for the currently subscribed product.'."\n" ."\n" .'- If you are subscribing to a JT/T 808 protocol cloud gateway product, you must pass **SubscribeFlags** with the following value:'."\n" ."\n" .' ```'."\n" .' {'."\n" .' "jt808DeviceDataFlag": true'."\n" .' }'."\n" .' ```'."\n" ."\n" .'- If you are subscribing to device video stream status change notification messages, you must pass **SubscribeFlags** with the following value:'."\n" ."\n" .' ```'."\n" .' {'."\n" .' "lvDeviceStatusFlag": true'."\n" .' }'."\n" .' ```'."\n" .' For details on configuring server-side subscription via AMQP for **device video stream status change notifications**, see [AMQP Server-Side Subscription](~~2698782~~).'."\n" ."\n" .'- If you subscribe to both of the above message types simultaneously, the value is:'."\n" ."\n" .' ```'."\n" .' {'."\n" .' "lvDeviceStatusFlag": true,'."\n" .' "jt808DeviceDataFlag": true'."\n" .' }'."\n" .' ```'."\n", 'type' => 'string', 'required' => false, 'example' => '{ "jt808DeviceDataFlag": true }', 'title' => ''], ], [ 'name' => 'ConsumerGroupIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The consumer group ID in the created AMQP subscription. This parameter is required when **Type** is set to **AMQP**.'."\n" ."\n" .'After you call [CreateConsumerGroup](~~170388~~) to create a consumer group successfully, the consumer group ID is returned. You can call [QueryConsumerGroupList](~~170419~~) to query the consumer group ID by consumer group name. Alternatively, in the IoT Platform consoleunder the corresponding instance, navigate to **Message Forwarding** > **Server-side Subscription** > **Consumer Group List** to view the consumer group ID.', 'type' => 'array', 'items' => ['type' => 'string', 'description' => 'The IDs of the consumer groups that are created in the AMQP subscription. This parameter is required if the **Type** parameter is set to **AMQP**.'."\n" ."\n" .'After you call the [CreateConsumerGroup](~~170388~~) operation to create a consumer group, the consumer group ID is returned. You can call the [QueryConsumerGroupList](~~170419~~) operation to query the consumer group ID by group name. You can also go to the IoT Platform console,and choose **Rules** > **Server-side Subscription** > **Consumer Groups** to view the consumer group ID.'."\n", 'title' => '', 'example' => ''], 'required' => false, 'example' => 'nJRaJPn5U1JITGfjBO9l00****', 'maxItems' => 50, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '21D327AF-A7DE-4E59-B5D1-ACAC8C024555', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"21D327AF-A7DE-4E59-B5D1-ACAC8C024555\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Modify an MNS or AMQP server-side subscription ', 'summary' => 'Invoke this API to modify an MNS or AMQP server-side subscription. ', 'description' => '## QPS limit '."\n" .'The maximum queries per second (QPS) for a single Alibaba Cloud account calling this API is 5.'."\n" ."\n" .' > Resource Access Management (RAM) users share the quota of the Alibaba Cloud account. ', 'requestParamsDescription' => '> The **Flag** parameters in the request cannot all be **false** or omitted. At least one **Flag** must be set to **true**.'."\n" ."\n" .'**MnsConfiguration definition** '."\n" .'| Name | Description |'."\n" .'| ------------- |------------ |'."\n" .'| queueName | The name of the queue in Message Service used to receive messages. You must first create a queue in the Message Service (MNS) console to obtain the queue name. For more information, see [Create a queue](~~34417~~). |'."\n" .'| regionName | The Alibaba Cloud Region code where the target Message Service is located, such as cn-shanghai. |'."\n" .'| role | The authorization role information. By granting IoT Platform a specified system service role, you authorize IoT Platform to access your Message Service. The role information is as follows:
`{"roleArn":"acs:ram::5645*\\**:role/aliyuniotaccessingmnsrole","roleName": "AliyunIOTAccessingMNSRole"} `
Replace `5645*\\**` with your Alibaba Cloud account ID. You can view your account ID on the Security Settings page of the console after logging in.
`AliyunIOTAccessingMNSRole` is a service role defined in Resource Access Management (RAM). It grants IoT Platform permission to access Message Service. For more information about roles, go to the Role Management page in the RAM console. |'."\n" ."\n" .'**MnsConfiguration** sample:'."\n" .'```'."\n" .'{'."\n" .' "queueName": "mns-test-topic1",'."\n" .' "regionName": "cn-shanghai",'."\n" .' "role": {'."\n" .' "roleArn": "acs:ram::5645***:role/aliyuniotaccessingmnsrole",'."\n" .' "roleName": "AliyunIOTAccessingMNSRole"'."\n" .' }'."\n" .'}'."\n" .'```'."\n" ."\n" .'When calling this API, in addition to the API-specific request parameters described in this topic, you must also include the common request parameters. For more information about common request parameters, see [Common Request Parameters](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateSubscribeRelation', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateSubscribeRelation'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], 'UpdateThingModel' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product.'."\n" ."\n" .'You can view the ProductKey on the Product Details page of the IoT Platform console. You can also obtain the ProductKey by calling the [QueryProductList](~~69271~~) operation.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'Identifier', 'in' => 'query', 'schema' => ['description' => 'The identifier of the feature.'."\n" ."\n" .'You can call the [GetThingModelTsl](~~150319~~) operation and view the identifier in the **TslStr** response parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Temperature', 'title' => ''], ], [ 'name' => 'ThingModelJson', 'in' => 'query', 'schema' => ['description' => 'The updated details of the feature.'."\n" ."\n" .'* If you specify the **Identifier** parameter, you can define only the identifier of the feature.'."\n" .'* If you do not specify the **Identifier** parameter, you can define a maximum of 50 input and output parameters for a service or event.'."\n" ."\n" .'For more information about how to specify this parameter, see [Data structure of ThingModelJson](~~150457~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '{ "properties":[ { "identifier": "SimCardType", "extendConfig":"{...}", "dataSpecs": { "max": "1", "dataType": "INT", "unit": "mmHg", "min": "0", "step": "1" }, "std": false, "custom": true, "dataType": "INT", "rwFlag": "READ_ONLY", "productKey": "a1Jw4i****", "required": false, "customFlag": true, "name": "sim卡类型" } ] }', 'title' => ''], ], [ 'name' => 'FunctionBlockId', 'in' => 'query', 'schema' => ['description' => 'The identifier of the custom TSL module. Each identifier is unique in a product.'."\n" ."\n" .'If you do not specify this parameter or the **FunctionBlockName** parameter, the system updates the features of the default module.'."\n", 'type' => 'string', 'required' => false, 'example' => 'BatteryModule', 'title' => ''], ], [ 'name' => 'FunctionBlockName', 'in' => 'query', 'schema' => ['description' => 'The name of the custom module. The name must be 4 to 30 characters in length, and can contain letters, digits, and underscores (\\_).'."\n" ."\n" .'* If you do not specify this parameter or the **FunctionBlockId** parameter, the system updates the features of the default module.'."\n" .'* If you specify this parameter, the parameter must be used in combination with the **FunctionBlockId** parameter. You can modify the name of the specified custom module. The name corresponds to the value of the **FunctionBlockId** parameter.'."\n" ."\n" .'> You cannot modify the name of the default module.'."\n", 'type' => 'string', 'required' => false, 'example' => '电池模块', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\n5573D217-8E3E-47AD-9331-2083B88E64B2\\ntrue\\n","errorExample":""}]', 'title' => 'UpdateThingModel', 'summary' => 'Updates a Thing Specification Language (TSL) feature of a specified product. You can also updates the extended information about the feature.', 'description' => '## Limits'."\n" ."\n" .'* If a product is published, you must call the [CancelReleaseProduct](~~213875~~) operation to unpublish the product before you call this operation.'."\n" ."\n" .'* When you call this operation, you can use the [json-schema](https://github.com/everit-org/json-schema?spm=a2c4g.11186623.2.23.575832d9zD7fZb) library to verify the input parameters in **ThingModelJson**. For more information, see [Data structure of ThingModelJson](~~150457~~).'."\n" ."\n" .'* You can call this operation to update only one feature. TSL features include properties, services, and events.'."\n" ."\n" .'* Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateThingModel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'UpdateThingScript' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'ScriptContent', 'in' => 'query', 'schema' => ['description' => 'The content of the script. You must specify this parameter.'."\n" ."\n" .'For more information about script examples, see [What is data parsing](~~68702~~).'."\n", 'type' => 'string', 'required' => true, 'example' => '"function protocolToRawData(jsonObj) {return rawdata; }function rawDataToProtocol(rawData) {return jsonObj; }"', 'title' => ''], ], [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the instance. You can view the instance **ID** on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'>* If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.'."\n" .'>* If your instance has no **Overview** page or ID, you do not need to set this parameter.'."\n" ."\n" .'For more information, see [Overview](~~356505~~).', 'type' => 'string', 'required' => false, 'example' => 'iot-cn-0pp1n8t****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product.'."\n" ."\n" .'You can view the **ProductKey** on the Product Details page of the IoT Platform console. You can also obtain the ProductKey by calling the [QueryProductList](~~69271~~) operation.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1Q5XoY****', 'title' => ''], ], [ 'name' => 'ScriptType', 'in' => 'query', 'schema' => ['description' => 'The type of the script. Valid values:'."\n" ."\n" .'* JavaScript'."\n" .'* Python\\_27: Python 2.7'."\n" .'* PHP\\_72: PHP 7.2'."\n", 'type' => 'string', 'required' => true, 'example' => 'JavaScript', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.'."\n", 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'BB71E443-4447-4024-A000-EDE09922891E', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'* **true**: The call was successful.'."\n" .'* **false**: The call failed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"RequestId\\": \\"BB71E443-4447-4024-A000-EDE09922891E\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\r\\n BB71E443-4447-4024-A000-EDE09922891E\\r\\n true\\r\\n","errorExample":""}]', 'title' => 'UpdateThingScript', 'summary' => 'Modifies a data parsing script for a specified product.', 'description' => '* A data parsing script is used to convert the custom-formatted data to JSON data after the data is submitted by a device. You can write a script in JavaScript, Python 2.7, and PHP 7.2. For more information, see [Submit scripts for data parsing](~~149963~~).'."\n" ."\n" .'* Each Alibaba Cloud account can run a maximum of 10 queries per second (QPS).'."\n" ."\n" .'> RAM users of an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see [Common request parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateThingScript', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'UpdateTopicConfig' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of the instance on the **Overview** page in the IoT Platform console.'."\n" ."\n" .'> If your instance has an ID, you must specify this parameter. Otherwise, the request fails. If no Overview page exists or no instance ID is displayed, you do not need to specify this parameter.'."\n" ."\n" .'For more information, see the [Overview](~~356505~~) topic of IoT instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iot-0pp1n8t****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the device belongs. The device receives the retained message.'."\n", 'type' => 'string', 'required' => true, 'example' => 'a1Q5XoY****', 'title' => ''], ], [ 'name' => 'EnableBroadcast', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to enable the retained message broadcasting feature for a custom topic.'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'EnableProxySubscribe', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'Codec', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'Operation', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'TopicFullName', 'in' => 'query', 'schema' => ['description' => 'The custom topic for which you want to enable the retained message broadcasting feature.'."\n" ."\n" .'* If you use an MQTT gateway device, set this parameter to the original custom topic of the device. For more information, see [Topics](~~433806~~).'."\n" .'* If you use a non-MQTT gateway device, set this parameter to a custom topic in the following format: `/broadcast/${productKey}/${Custom field}`. `${productKey}` is the value of the **ProductKey** request parameter. You can specify `${Custom field}` based on your business requirements.'."\n" ."\n" .'> When you develop devices, use code to define a broadcast topic. You do not need to create a topic in the IoT Platform console. You must grant devices the Subscribe permission or the Publish and Subscribe permission on the topic.'."\n", 'type' => 'string', 'required' => true, 'example' => '/broadcast/a1Q5XoY****/test', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the request fails. For more information, see [Error codes](~~87387~~).'."\n", 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'Message' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" ."\n" .'* **true**'."\n" .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.message.broker.ParamCheckError', 'errorMessage' => 'Param check error.', 'description' => ''], ['errorCode' => 'iot.message.broker.ProductCheckError', 'errorMessage' => 'Product check error.', 'description' => ''], ['errorCode' => 'iot.message.broker.TopicConfigNumExceed', 'errorMessage' => 'Topic config num exceed.', 'description' => ''], ['errorCode' => 'iot.message.broker.SystemError', 'errorMessage' => 'System error.', 'description' => ''], ['errorCode' => 'iot.messagebroker.InvalidPubTopicFormat', 'errorMessage' => 'The pub topic cannot contain wildcard character.', 'description' => ''], ['errorCode' => 'iot.messagebroker.InvalidOperationWithBroadcast', 'errorMessage' => 'The operation must be sub when enable broadcast.', 'description' => ''], ['errorCode' => 'iot.messagebroker.InvalidTopicWithBroadcast', 'errorMessage' => 'The topic cannot contain wildcard character when enable broadcast.', 'description' => ''], ['errorCode' => 'iot.messagebroker.InvalidOperationWithProxySubscribe', 'errorMessage' => 'Operation must be sub or all when enable proxy subscribe.', 'description' => ''], ['errorCode' => 'iot.messagebroker.InvalidTopicWithProxySubscribe', 'errorMessage' => 'Topic cannot contain wildcard character when enable proxy subscribe.', 'description' => ''], ['errorCode' => 'iot.messagebroker.InvalidTopicWithCodec', 'errorMessage' => 'Topic cannot contain wildcard when enable codec.', 'description' => ''], ['errorCode' => 'iot.messagebroker.InvalidInstanceWithCodec', 'errorMessage' => 'Only connect instance support codec.', 'description' => ''], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\n\\ntrue","errorExample":""}]', 'title' => 'UpdateTopicConfig', 'summary' => 'Enables or disables the retained message broadcasting feature for a custom topic.', 'description' => '## Usage notes'."\n" ."\n" .'You can subscribe to the broadcast messages of a custom topic for up to 1,000 devices. If you want to subscribe to the broadcast messages of a custom topic for more than 1,000 devices, you can use Message Queuing Telemetry Transport (MQTT) 5.0 for communication, allow the custom topic to broadcast retained messages, and label messages of the custom topic as retained messages. Perform the following steps:'."\n" ."\n" .'1. Call this operation and set **EnableBroadcast** to **true** to allow a custom topic to broadcast retained messages. In this example, the `/broadcast/a1Q5XoY****/test` custom topic is used.'."\n" .'2. Call the [Pub](~~69793~~) operation to publish a broadcast message to the custom topic and set **Retained** to **true** to label the message as a retained message.``'."\n" .'3. Call the [SubscribeTopic](~~311869~~) operation to allow a device to subscribe to the custom topic. This way, the device can receive the retained message that was published to the custom topic in the previous step.``'."\n" ."\n" .'## QPS limits'."\n" ."\n" .'You can call this operation up to 100 times per second per account.'."\n" ."\n" .'> The RAM users of an Alibaba Cloud account share the quota of the account.'."\n", 'requestParamsDescription' => 'In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information about common request parameters, see [Common parameters](~~30561~~).'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateTopicConfig', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'WriteDevicesHotStorageData' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IotInstanceId', 'in' => 'query', 'schema' => ['description' => 'The instance ID. You can view the **ID** of your current instance on the **Instance Overview** page in the IoT Platform console. ', 'type' => 'string', 'required' => true, 'example' => 'iot-2w****', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the device belongs. '."\n" .'> If you specify this parameter, you must also specify **DeviceName**. '."\n" .'> ', 'type' => 'string', 'required' => false, 'example' => 'a1BwAGV****', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The name of the device. '."\n" .'> If you specify this parameter, you must also specify **ProductKey**. '."\n" .'> ', 'type' => 'string', 'required' => false, 'example' => 'device1', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The Device ID. '."\n" .'> **IotId** serves as the unique identifier of a device and has a one-to-one mapping with the combination of **ProductKey** and **DeviceName**. If you specify this parameter, you do not need to specify **ProductKey** and **DeviceName**. If you specify both **IotId** and the **ProductKey**/**DeviceName** pair, **IotId** takes precedence. '."\n" .'> ', 'type' => 'string', 'required' => false, 'example' => 'y4u2weAI********HMle1234', 'title' => ''], ], [ 'name' => 'UserTopic', 'in' => 'query', 'schema' => ['description' => 'The custom topic. Start from the `user` category and enter all subsequent categories of your custom topic. '."\n" ."\n" .'For more information about custom topics, see [Custom Topic](~~85539~~). ', 'type' => 'string', 'required' => true, 'example' => 'user/a***/b***', 'title' => ''], ], [ 'name' => 'Items', 'in' => 'query', 'schema' => ['description' => 'The data to be written, which must follow the following JSON structure: '."\n" ."\n" .'```'."\n" .'{'."\n" .' "key1": {'."\n" .' "value":xxx1,'."\n" .' "time":yyy1'."\n" .' },'."\n" .' "key2": {'."\n" .' "value":xxx2,'."\n" .' "time":yyy2'."\n" .' }'."\n" .'}'."\n" .'``` '."\n" ."\n" .'- **key1**, **key2**: Field identifiers. Each **Items** object can contain multiple fields. '."\n" .'- **value**: The value corresponding to the field. Supported data types include int32, float, double, text, date, bool, enum, struct, and array. For more information, see [Supported Data Types](~~358843~~). '."\n" .'- **time**: The UTC timestamp (in milliseconds) corresponding to the field value.', 'type' => 'string', 'required' => true, 'example' => '{ "Power": { "value": "on", "time": 1524448722000 }, "WF": { "value": 23.6, "time": 1524448722000 } }', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned when the invocation fails. For more information, see **Error Codes** below. ', 'type' => 'string', 'example' => 'iot.system.SystemException', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request. ', 'type' => 'string', 'example' => 'E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned when the invocation fails. ', 'type' => 'string', 'example' => '系统异常', 'title' => ''], 'Success' => ['description' => 'Indicates whether the invocation succeeded. '."\n" .'- **true**: The invocation succeeded. '."\n" .'- **false**: The invocation failed. ', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.device.InvalidFormattedDeviceName', 'errorMessage' => 'The DeviceName format is invalid.', 'description' => 'The DeviceName format is invalid.'], ['errorCode' => 'iot.device.NullDeviceName', 'errorMessage' => 'The DeviceName parameter cannot be empty.', 'description' => 'The DeviceName parameter cannot be empty.'], ['errorCode' => 'iot.device.SetDevicePropertyFailed', 'errorMessage' => 'An error occurred while setting the device properties.', 'description' => 'An error occurred while setting the device properties.'], ['errorCode' => 'iot.prod.InvalidFormattedProductkey', 'errorMessage' => 'The ProductKey format is invalid.', 'description' => 'The ProductKey format is invalid.'], ['errorCode' => 'iot.prod.NotExistedProduct', 'errorMessage' => 'The specified product does not exist.', 'description' => 'The product does not exist.'], ['errorCode' => 'iot.prod.NullProductKey', 'errorMessage' => 'The ProductKey parameter cannot be empty.', 'description' => 'The ProductKey parameter cannot be empty.'], ['errorCode' => 'iot.check.InvalidFormattedParameter', 'errorMessage' => 'The parameter format is invalid.', 'description' => 'The parameter format is invalid.'], ['errorCode' => 'iot.messagebroker.HALFCONN', 'errorMessage' => 'The specified operation has failed. The device is in an inactive status.', 'description' => 'The specified operation has failed. The device is in an inactive status.'], ['errorCode' => 'iot.messagebroker.OFFLINE', 'errorMessage' => 'The specified operation has failed. The device is offline.', 'description' => 'The specified operation has failed. The device is offline.'], ['errorCode' => 'iot.prod.QueryProductAbilitiesFailed', 'errorMessage' => 'An error occurred while querying the product features.', 'description' => 'An error occurred while querying the product features.'], ['errorCode' => 'iot.system.IllegalRequest', 'errorMessage' => 'The request parameter is invalid.', 'description' => 'The request parameter is invalid.'], ['errorCode' => 'iot.dataalgo.ScriptMethodNotFound', 'errorMessage' => 'Method is not found in script.', 'description' => ''], ['errorCode' => 'iot.dataalgo.ScriptExecutionTimeout', 'errorMessage' => 'Script execution timeout.', 'description' => 'Script execution timeout.'], ['errorCode' => 'iot.dataalgo.ScriptExecutionOomException', 'errorMessage' => 'Script execution is out of memory.', 'description' => 'Script execution is out of memory.'], ['errorCode' => 'Iot.Device.NotExistedDevice', 'errorMessage' => 'The device does not exist.', 'description' => ''], ['errorCode' => 'iot.device.InvalidIoTId', 'errorMessage' => 'The specified device ID is invalid.', 'description' => 'The specified device ID is invalid.'], ['errorCode' => 'iot.dataalgo.ScriptExecutionException', 'errorMessage' => 'Script execution exception.', 'description' => 'Script execution exception.'], ['errorCode' => 'iot.prod.QueryPropertyNotFound', 'errorMessage' => 'Query property not found.', 'description' => 'Query property not found.'], ['errorCode' => 'iot.dataalgo.ScriptDataFormatException', 'errorMessage' => 'Script function result format is incorrect.', 'description' => 'Script function result format is incorrect.'], ['errorCode' => 'iot.dataalgo.ScriptRelationNotExist', 'errorMessage' => 'Script relation not exist.', 'description' => 'Script relation not exist.'], ['errorCode' => 'iot.tsl.TslParseError', 'errorMessage' => 'TSLlParseError: %s.', 'description' => ''], ['errorCode' => 'iot.tsl.InvalidFormattedTslError', 'errorMessage' => 'The TSL format is invalid.', 'description' => ''], ['errorCode' => 'iot.tsl.InvalidHistoryTimestampError', 'errorMessage' => 'The history timestamp is invalid.', 'description' => ''], ['errorCode' => 'iot.storage.HotStorageCapacityNotEnough', 'errorMessage' => 'The timeline storage capacity not enough.', 'description' => 'The timeline storage capacity not enough.'], ['errorCode' => 'iot.storage.HotStorageIopsWriteNotEnough', 'errorMessage' => 'The timeline storage write IOPS is not enough.', 'description' => 'The timeline storage write IOPS is not enough.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"iot.system.SystemException\\",\\n \\"RequestId\\": \\"E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565\\",\\n \\"ErrorMessage\\": \\"系统异常\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'WriteDevicesHotStorageData ', 'summary' => 'Invoke this API to write device custom topic data into the hot data storage space. ', 'description' => '## How-To '."\n" .'You can invoke this API to write hot data only for medium and premium Enterprise instances in the China (Shanghai), China (Beijing), and China (Shenzhen) regions. '."\n" ."\n" .'For more information about hot data storage, see [Configure Hot Data Storage](~~464047~~). '."\n" ."\n" .'## Limits '."\n" .'The number of data writes per second allowed when invoking this API is determined by the **hot data storage IOPS** specification of your purchased instance. For more information, see [Purchase an Enterprise Instance](~~356507~~) and [View Hot Data Storage IOPS](~~464051~~). '."\n", 'requestParamsDescription' => 'When calling this API, in addition to the API-specific request parameters described in this topic, you must also pass common request parameters. For more information about common request parameters, see [Common Request Parameters](~~30561~~). ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [], 'translator' => 'machine', 'flowControl' => [ 'flowControlList' => [ ['threshold' => '4000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'WriteDevicesHotStorageData'], ], 'product' => ['code' => 'iot', 'title' => '物联网平台'], ], ], ], 'endpoints' => [ ['regionId' => 'ap-northeast-1', 'regionName' => 'Japan (Tokyo)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'iot.ap-northeast-1.aliyuncs.com', 'endpoint' => 'iot.ap-northeast-1.aliyuncs.com', 'vpc' => 'iot-vpc.ap-northeast-1.aliyuncs.com'], ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'iot.ap-southeast-1.aliyuncs.com', 'endpoint' => 'iot.ap-southeast-1.aliyuncs.com', 'vpc' => 'iot-vpc.ap-southeast-1.aliyuncs.com'], ['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'iot.cn-beijing.aliyuncs.com', 'endpoint' => 'iot.cn-beijing.aliyuncs.com', 'vpc' => 'iot-vpc.cn-beijing.aliyuncs.com'], ['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'iot.cn-shanghai.aliyuncs.com', 'endpoint' => 'iot.cn-shanghai.aliyuncs.com', 'vpc' => ''], ['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'iot.cn-shenzhen.aliyuncs.com', 'endpoint' => 'iot.cn-shenzhen.aliyuncs.com', 'vpc' => 'iot-vpc.cn-shenzhen.aliyuncs.com'], ['regionId' => 'us-west-1', 'regionName' => 'US (Silicon Valley)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'iot.us-west-1.aliyuncs.com', 'endpoint' => 'iot.us-west-1.aliyuncs.com', 'vpc' => 'iot-vpc.us-west-1.aliyuncs.com'], ['regionId' => 'us-east-1', 'regionName' => 'US (Virginia)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'iot.us-east-1.aliyuncs.com', 'endpoint' => 'iot.us-east-1.aliyuncs.com', 'vpc' => 'iot-vpc.us-east-1.aliyuncs.com'], ['regionId' => 'eu-central-1', 'regionName' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'iot.eu-central-1.aliyuncs.com', 'endpoint' => 'iot.eu-central-1.aliyuncs.com', 'vpc' => 'iot-vpc.eu-central-1.aliyuncs.com'], ], 'errorCodes' => [ ['code' => 'AccountTypeRestricted', 'message' => 'Please submit the application for beta testing first. You can activate the product after the application is approved.', 'http_code' => 400, 'description' => ''], ['code' => 'adapter.invalid.gw.params', 'message' => 'invalid igw params.', 'http_code' => 400, 'description' => 'invalid igw params.'], ['code' => 'Category.not.same', 'message' => 'Category must be the same.', 'http_code' => 400, 'description' => 'The category must be the same as the resource.'], ['code' => 'create.rpm.failed', 'message' => 'create rpm failed.', 'http_code' => 400, 'description' => 'create rpm failed.'], ['code' => 'Distribute.thing.module.no.edit', 'message' => 'Distribute.thing.module.no.edit.', 'http_code' => 400, 'description' => 'Distribute.thing.module.no.edit.'], ['code' => 'ErrorCode', 'message' => 'ErrorMessage', 'http_code' => 500, 'description' => ''], ['code' => 'IllegalInput', 'message' => 'ILLEGAL INPUTS.', 'http_code' => 429, 'description' => 'The content that you specified is invalid.'], ['code' => 'InsufficientAuthority', 'message' => 'Insufficient permission.', 'http_code' => 400, 'description' => ''], ['code' => 'invalid.pca.result.format', 'message' => 'pca result format is error.', 'http_code' => 400, 'description' => 'pca result format is error.'], ['code' => 'InvalidParameter', 'message' => 'The parameter is invalid.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ah.failed.query', 'message' => 'Failed to query application.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ai.AlgorithmVersionAlreadyExist', 'message' => 'algorithm version already exist.', 'http_code' => 400, 'description' => 'algorithm version already exist.'], ['code' => 'iot.ai.algorithmVersionNameInvalid', 'message' => 'algorithm version name invalid.', 'http_code' => 400, 'description' => 'algorithm version name invalid.'], ['code' => 'iot.ai.algorithmVersionUpgradeNotSupport', 'message' => 'algorithm version upgrade not support.', 'http_code' => 400, 'description' => 'algorithm version upgrade not support.'], ['code' => 'iot.ai.algorithmVersionUpgradePlatformNotMatch', 'message' => 'algorithm version upgrade platform not match.', 'http_code' => 400, 'description' => 'algorithm version upgrade platform not match.'], ['code' => 'iot.ai.ModelAlreadyExist', 'message' => 'model already exist.', 'http_code' => 400, 'description' => 'model already exist.'], ['code' => 'iot.ai.ModelConvertNotSupport', 'message' => 'model convert not support.', 'http_code' => 400, 'description' => 'model convert not support.'], ['code' => 'iot.ai.ModelConvertRetryNotSupport', 'message' => 'model convert retry not support.', 'http_code' => 400, 'description' => 'model convert retry not support.'], ['code' => 'iot.ai.ModelConvertTaskNotExist', 'message' => 'model convert task not exist.', 'http_code' => 400, 'description' => 'model convert task not exist.'], ['code' => 'iot.ai.ModelLabelOssInvalid', 'message' => 'iot.ai.ModelLabelOssInvalid.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ai.ModelOssInvalid', 'message' => 'model Oss invalid.', 'http_code' => 400, 'description' => 'model Oss invalid.'], ['code' => 'iot.ai.ModelPlatformInvalid', 'message' => 'model platform invalid.', 'http_code' => 400, 'description' => 'model platform invalid.'], ['code' => 'iot.algo.OcrInvokeError', 'message' => 'Ocr invoke error.', 'http_code' => 400, 'description' => 'Ocr invoke error.'], ['code' => 'iot.algo.OcrParamInvalid', 'message' => 'Ocr param invalid.', 'http_code' => 400, 'description' => 'Ocr param invalid.'], ['code' => 'iot.algo.OcrServiceNotSubscribe', 'message' => 'Ocr service not subscribe.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.algo.OcrUrlInvalid', 'message' => 'Ocr url invalid.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.app.AccessLimited', 'message' => 'Access denied.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ca.ApplicationNotExist', 'message' => 'The application is not found.', 'http_code' => 400, 'description' => 'application not exist.'], ['code' => 'iot.ca.ApplicationNotExist', 'message' => 'application not exist.', 'http_code' => 400, 'description' => 'application not exist.'], ['code' => 'iot.ca.ParameterError', 'message' => 'Parameter error.', 'http_code' => 400, 'description' => 'parameter error.'], ['code' => 'iot.ca.UnknownException', 'message' => 'Unknown error.', 'http_code' => 400, 'description' => 'unknown exception.'], ['code' => 'iot.check.IncorrectParameter', 'message' => 'The parameter value is invalid.', 'http_code' => 400, 'description' => 'The parameter value is invalid.'], ['code' => 'iot.check.InvalidElementInArray', 'message' => 'The array contains invalid data.', 'http_code' => 400, 'description' => 'The array contains invalid data.'], ['code' => 'iot.check.InvalidFormattedParameter', 'message' => 'The parameter format is invalid.', 'http_code' => 400, 'description' => 'The parameter format is invalid.'], ['code' => 'iot.check.LackSlaveIdInParameter', 'message' => 'The slave ID has not been specified.', 'http_code' => 400, 'description' => 'The slave ID has not been specified.'], ['code' => 'iot.check.NotFoundDeviceInDeviceNameArray', 'message' => 'Some listed devices do not exist.', 'http_code' => 400, 'description' => 'Some listed devices do not exist.'], ['code' => 'iot.check.NullParameter', 'message' => 'Specify parameter is null.', 'http_code' => 400, 'description' => 'Specify parameter is null'], ['code' => 'iot.check.NullParameter', 'message' => 'The parameter {0} parameter is empty.', 'http_code' => 400, 'description' => 'The parameter {0} parameter is empty.'], ['code' => 'iot.common.AccountInfoCannotNull', 'message' => 'The account information cannot be empty.', 'http_code' => 400, 'description' => 'The account information cannot be empty.'], ['code' => 'iot.common.AccountNameIsNotReal', 'message' => 'You have not passed real-name verification. Go to the Account Management center for real-name verification.', 'http_code' => 400, 'description' => 'You have not passed real-name verification. Go to the Account Management center for real-name verification.'], ['code' => 'iot.common.AlreadyOpenLinkPlatForm', 'message' => 'You have activated the IoT Platform service.', 'http_code' => 400, 'description' => 'You have activated the IoT Platform service.'], ['code' => 'iot.common.ApiAccessForbidden', 'message' => 'Api access forbidden.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.common.APINotSupportedInInstance', 'message' => 'This API operation is not supported in this instance.', 'http_code' => 400, 'description' => 'The API operation is not supported in this instance.'], ['code' => 'iot.common.ArrearageAccount', 'message' => 'Overdue payments exist. Top up the account before you activate the service.', 'http_code' => 400, 'description' => 'Overdue payments exist. Top up the account before you activate the service.'], ['code' => 'iot.common.AuthActionPermissionDeny', 'message' => 'The authorization fails.', 'http_code' => 400, 'description' => 'The authorization fails.'], ['code' => 'iot.common.AuthActionPermissionDeny', 'message' => 'You are not authorized to operate this product or device.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.common.AuthActionPermissionDeny', 'message' => 'auth action permission deny', 'http_code' => 400, 'description' => ''], ['code' => 'iot.common.AuthActionPermissionDeny', 'message' => 'iot.common.AuthActionPermissionDeny', 'http_code' => 400, 'description' => ''], ['code' => 'iot.common.CreateServiceLinkedRoleFailed', 'message' => 'Failed to create the service-linked role.', 'http_code' => 400, 'description' => 'Failed to create the service-linked role.'], ['code' => 'iot.common.EmptyListParam', 'message' => 'The List parameter cannot be empty.', 'http_code' => 400, 'description' => 'The List parameter cannot be empty.'], ['code' => 'iot.common.EmptyRegion', 'message' => 'The region information is empty.', 'http_code' => 400, 'description' => 'The region information is empty.'], ['code' => 'iot.common.EmptyRoleArn', 'message' => 'You must specify the role ARN.', 'http_code' => 400, 'description' => 'You must specify the role ARN.'], ['code' => 'iot.common.EmptyRoleArn', 'message' => 'The parameter of roleArn is empty.', 'http_code' => 400, 'description' => 'The roleArn parameter is empty.'], ['code' => 'iot.common.EmptyRoleName', 'message' => 'You must specify the RoleName.', 'http_code' => 400, 'description' => 'You must specify the RoleName.'], ['code' => 'iot.common.EmptyRoleName', 'message' => 'The parameter of roleName is empty.', 'http_code' => 400, 'description' => 'The roleName parameter is empty.'], ['code' => 'iot.common.FileNotExist', 'message' => 'The file does not exist.', 'http_code' => 400, 'description' => 'The file does not exist.'], ['code' => 'iot.common.FlowControlTriggered', 'message' => 'The requests are throttled.', 'http_code' => 400, 'description' => 'The requests are throttled.'], ['code' => 'iot.common.IllegalFileBizCode', 'message' => 'The business type of the file is invalid.', 'http_code' => 400, 'description' => 'The business type of the file is invalid.'], ['code' => 'iot.common.IllegalFileFormat', 'message' => 'The file format is invalid.', 'http_code' => 400, 'description' => 'The file format is invalid.'], ['code' => 'iot.common.IllegalProdValidateType', 'message' => 'The verification type is invalid.', 'http_code' => 400, 'description' => 'The verification type is invalid.'], ['code' => 'iot.common.IllegalUpdateValidateType', 'message' => 'The format of the TSL data is invalid.', 'http_code' => 400, 'description' => 'The data type of the TSL model is invalid.'], ['code' => 'iot.common.InvalidCallerTypeError', 'message' => 'This access mode is not supported.', 'http_code' => 400, 'description' => 'This access mode is not supported.'], ['code' => 'iot.common.InvalidFormattedParameter', 'message' => 'The parameter format is invalid.', 'http_code' => 400, 'description' => 'The parameter format is invalid.'], ['code' => 'iot.common.InvalidFormattedParameter', 'message' => 'Parameter format is invalid.', 'http_code' => 400, 'description' => 'Parameter format is invalid.'], ['code' => 'iot.common.InvalidFormattedParameter', 'message' => 'ThingModelJson invalid formatted.', 'http_code' => 400, 'description' => 'ThingModelJson invalid formatted.'], ['code' => 'iot.common.InvalidFormattedTagKey', 'message' => 'The tag key format is invalid.', 'http_code' => 400, 'description' => 'The tag key format is invalid.'], ['code' => 'iot.common.InvalidFormattedTagValue', 'message' => 'The tag value format is invalid.', 'http_code' => 400, 'description' => 'The tag value format is invalid.'], ['code' => 'iot.common.InvalidPageParams', 'message' => 'The specified pagination size or pagination parameter is invalid.', 'http_code' => 400, 'description' => 'The page size or page number is invalid.'], ['code' => 'iot.common.InvalidParam', 'message' => 'invalid param', 'http_code' => 400, 'description' => ''], ['code' => 'iot.common.InvalidParam', 'message' => 'iot.common.InvalidParam', 'http_code' => 400, 'description' => ''], ['code' => 'iot.common.InvalidTenant', 'message' => 'The tenant is invalid.', 'http_code' => 400, 'description' => 'The tenant is invalid.'], ['code' => 'iot.common.InvalidTenant', 'message' => 'The tenant Id is invalid.', 'http_code' => 400, 'description' => 'The tenant Id is invalid.'], ['code' => 'iot.common.InvalidTenant', 'message' => 'the device tenantId is invalid.', 'http_code' => 400, 'description' => 'the device tenantId is invalid.'], ['code' => 'iot.common.InvalidTenant', 'message' => 'The Invalid tenant.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.common.InvalidUid', 'message' => 'The Alibaba Cloud account is invalid or the IoT Platform service is not activated.', 'http_code' => 400, 'description' => 'The Alibaba Cloud account is invalid or the IoT Platform service is not activated.'], ['code' => 'iot.common.LessCreateServiceLinkedRolePermission', 'message' => 'The RAM user does not have the ram:CreateServiceLinkedRole permission.', 'http_code' => 400, 'description' => 'The RAM user does not have the ram:CreateServiceLinkedRole permission.'], ['code' => 'iot.common.MethodInvokeNotPermitted', 'message' => 'The access to the API is prohibited due to excessive failures.', 'http_code' => 400, 'description' => 'The access to the API is prohibited due to excessive failures.'], ['code' => 'iot.common.NotAllowUpdateDefaultModelName', 'message' => 'The default module name cannot be updated.', 'http_code' => 400, 'description' => 'The default module name cannot be updated.'], ['code' => 'iot.common.NotAllowUpdateDefaultModelName', 'message' => 'The thing model function is not existed.', 'http_code' => 400, 'description' => 'The thing model function is not existed'], ['code' => 'iot.common.NotAllowUpdateValidateType', 'message' => 'The original data cannot be modified.', 'http_code' => 400, 'description' => 'The original data cannot be modified.'], ['code' => 'iot.common.notExistIdentifier', 'message' => 'The feature does not exist.', 'http_code' => 400, 'description' => 'The feature does not exist.'], ['code' => 'iot.common.NotPrimary.Account', 'message' => 'This account is not an Alibaba Cloud account.', 'http_code' => 400, 'description' => 'This account is not an Alibaba Cloud account.'], ['code' => 'iot.common.NullParameter', 'message' => 'The parameter cannot be empty.', 'http_code' => 400, 'description' => 'The parameter cannot be empty.'], ['code' => 'iot.common.NullParameter', 'message' => 'Parameter cannot the be empty.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.common.NullProdValidateType', 'message' => 'The verification type is empty.', 'http_code' => 400, 'description' => 'The verification type is empty.'], ['code' => 'iot.common.OpenServiceError', 'message' => 'An error occurred while activating the service.', 'http_code' => 400, 'description' => 'An error occurred while activating the service.'], ['code' => 'iot.common.PolicyNoPermission', 'message' => 'You are not authorized to access this resource.', 'http_code' => 400, 'description' => 'You are not authorized to access this resource.'], ['code' => 'iot.common.ProductNotExist', 'message' => 'Product does not exist.', 'http_code' => 400, 'description' => 'Product does not exist.'], ['code' => 'iot.common.PropertyNotFound', 'message' => 'The property not found.', 'http_code' => 400, 'description' => 'The property not found.'], ['code' => 'Iot.common.QueryDeviceActionError', 'message' => 'An error occurred while querying the device.', 'http_code' => 400, 'description' => 'An error occurred while querying the device.'], ['code' => 'iot.common.QueryDeviceActionError', 'message' => 'The device does not exist.', 'http_code' => 400, 'description' => 'The device does not exist.'], ['code' => 'iot.common.QueryDeviceActionError', 'message' => 'An error occurred while querying this device.', 'http_code' => 400, 'description' => 'An error occurred while querying this device.'], ['code' => 'iot.common.QueryDevicePropertyActionError', 'message' => 'An error occurred while querying the device property.', 'http_code' => 400, 'description' => 'An error occurred while querying the device property.'], ['code' => 'iot.common.QueryManyDevicesActionError', 'message' => 'An error occurred while querying the devices.', 'http_code' => 400, 'description' => 'An error occurred while querying the devices.'], ['code' => 'iot.common.QueryManyDevicesActionError', 'message' => 'An error occurred while querying the devices', 'http_code' => 400, 'description' => 'An error occurred while querying the devices'], ['code' => 'iot.common.QueryProductActionError', 'message' => 'An error occurred while querying the product.', 'http_code' => 400, 'description' => 'An error occurred while querying the product.'], ['code' => 'iot.common.QueryProductActionError', 'message' => 'query product info fail.', 'http_code' => 400, 'description' => 'query product info fail'], ['code' => 'iot.common.QueryProductCountActionError', 'message' => 'An error occurred while querying the total number of products.', 'http_code' => 400, 'description' => 'An error occurred while querying the total number of products.'], ['code' => 'iot.common.QueryThingModelValidationConfigFailed', 'message' => 'Failed to the product verification type.', 'http_code' => 400, 'description' => 'Failed to the product verification type.'], ['code' => 'iot.common.QueryUserInfoFailed', 'message' => 'Failed to get user information.', 'http_code' => 400, 'description' => 'Failed to get user information.'], ['code' => 'iot.common.RamActionPermissionDeny', 'message' => 'You do not have the RAM permission.', 'http_code' => 400, 'description' => 'You do not have the RAM permission.'], ['code' => 'iot.common.RequestForbidden', 'message' => 'The request is forbidden.', 'http_code' => 400, 'description' => 'The request is forbidden.'], ['code' => 'iot.common.RequestForbidden', 'message' => 'Request is forbidden.', 'http_code' => 400, 'description' => 'Request is forbidden.'], ['code' => 'Iot.common.RequestForbidden', 'message' => 'Request forbidden: %s.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.common.ServiceLinkedRoleAlreadyExists', 'message' => 'The service-linked role already exists.', 'http_code' => 400, 'description' => 'The service-linked role already exists.'], ['code' => 'iot.common.TargetAccountCannotBeCurrentAccount', 'message' => 'The target user cannot be the current user.', 'http_code' => 400, 'description' => 'The target user cannot be the current user.'], ['code' => 'iot.common.TargetAliyunAccountIsNotRealNameAccount', 'message' => 'The Alibaba Cloud account does not pass the real-name verification.', 'http_code' => 400, 'description' => 'The Alibaba Cloud account does not pass the real-name verification.'], ['code' => 'iot.common.ThingModelFunctionNameDuplicated', 'message' => 'The TSL module names must be unique.', 'http_code' => 400, 'description' => 'The TSL module names must be unique.'], ['code' => 'iot.common.ThingModelFunctionNotExist', 'message' => 'The TSL module does not exist.', 'http_code' => 400, 'description' => 'The TSL module does not exist.'], ['code' => 'iot.common.ThingModelFunctionOverLimit', 'message' => 'The number of TSL modules exceeds the limit.', 'http_code' => 400, 'description' => 'The number of TSL modules exceeds the limit.'], ['code' => 'iot.common.ThingModelObjectSizeOverLimit', 'message' => 'The size of the TSL module exceeds the limit.', 'http_code' => 400, 'description' => 'The size of the TSL module exceeds the limit.'], ['code' => 'iot.common.TooManyRequest', 'message' => 'The server cannot process this number of requests.', 'http_code' => 400, 'description' => 'The server cannot process this number of requests.'], ['code' => 'iot.common.TooManyRequest', 'message' => 'Request frequency is too high.', 'http_code' => 400, 'description' => 'Request frequency is too high.'], ['code' => 'iot.common.TooManySlsProject', 'message' => 'The number of Log Service projects exceeds the limit.', 'http_code' => 400, 'description' => 'The number of Log Service projects exceeds the limit.'], ['code' => 'iot.common.UnsupportedForLora', 'message' => 'The LoRa device cannot be connected.', 'http_code' => 400, 'description' => 'The LoRa device cannot be connected.'], ['code' => 'iot.common.UnsupportedForLora', 'message' => 'Loar device access is not supported.', 'http_code' => 400, 'description' => 'Loar device access is not supported.'], ['code' => 'iot.common.UnsupportedRegion', 'message' => 'LoRa access is not supported in this region.', 'http_code' => 400, 'description' => 'LoRa access is not supported in this region.'], ['code' => 'iot.common.UpdateThingModelOverLimit', 'message' => 'The number of TSL features exceeds the limit.', 'http_code' => 400, 'description' => 'The number of TSL features exceeds the limit.'], ['code' => 'iot.common.UpdateThingModelOverLimit', 'message' => 'the number of thingModel identifier is over the max number.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.common.UpdateThingModelValidationConfigFailed', 'message' => 'Failed to update the product verification type.', 'http_code' => 400, 'description' => 'Failed to update the product verification type.'], ['code' => 'iot.common.ValidateTypeIsSame', 'message' => 'The data type to be updated is consistent with the current value.', 'http_code' => 400, 'description' => 'The data type to be updated is consistent with the current value.'], ['code' => 'iot.common.VSwitchAddressConflict', 'message' => 'The CIDR Block of the vSwitch conflicts with the IoT Platform endpoint.', 'http_code' => 400, 'description' => 'The CIDR Block of the vSwitch conflicts with the IoT Platform endpoint.'], ['code' => 'iot.consumer.group.CallbackTypeEmpty', 'message' => 'The CallbackType parameter cannot be empty.', 'http_code' => 400, 'description' => 'The CallbackType parameter cannot be empty.'], ['code' => 'iot.consumer.group.ChangeDefaultConsumerGroupNotAllowed', 'message' => 'The default consumer group cannot be modified.', 'http_code' => 400, 'description' => 'The default consumer group cannot be modified.'], ['code' => 'iot.consumer.group.ConsumerGroupExceedLimit', 'message' => 'The number of consumer groups exceeds the limit.', 'http_code' => 400, 'description' => 'The number of consumer groups exceeds the limit.'], ['code' => 'iot.consumer.group.ConsumerGroupExceedsLimit', 'message' => 'The number of consumer groups in a subscription exceeds the limit.', 'http_code' => 400, 'description' => 'The number of consumer groups in a subscription exceeds the limit.'], ['code' => 'iot.consumer.group.ConsumerGroupHasSubscription', 'message' => 'Failed to delete the consumer group. Cancel the subscription first.', 'http_code' => 400, 'description' => 'Failed to delete the consumer group. Cancel the subscription first.'], ['code' => 'iot.consumer.group.ConsumerGroupNameExisted', 'message' => 'The consumer group name already exists.', 'http_code' => 400, 'description' => 'The consumer group name already exists.'], ['code' => 'iot.consumer.group.ConsumerGroupNotExist', 'message' => 'The consumer group does not exist.', 'http_code' => 400, 'description' => 'The consumer group does not exist.'], ['code' => 'iot.consumer.group.CreateConsumerGroupFailed', 'message' => 'Failed to add the consumer group.', 'http_code' => 400, 'description' => 'Failed to add the consumer group.'], ['code' => 'iot.consumer.group.DeleteConsumerGroupFailed', 'message' => 'Failed to delete the consumer group.', 'http_code' => 400, 'description' => 'Failed to delete the consumer group.'], ['code' => 'iot.consumer.group.flagAllFalse', 'message' => 'You must specify a flag.', 'http_code' => 400, 'description' => 'You must specify a flag.'], ['code' => 'iot.consumer.group.InvalidConsumerGroup', 'message' => 'The consumer group is invalid.', 'http_code' => 400, 'description' => 'The consumer group is invalid.'], ['code' => 'iot.consumer.group.InvalidConsumerGroup', 'message' => 'Invalid Consumer Group Id.', 'http_code' => 400, 'description' => 'Invalid Consumer Group Id.'], ['code' => 'iot.consumer.group.InvalidConsumerGroupId', 'message' => 'The consumer group ID is invalid.', 'http_code' => 400, 'description' => 'The consumer group ID is invalid.'], ['code' => 'iot.consumer.group.InvalidConsumerGroupId', 'message' => 'Illegal consumer group ID.', 'http_code' => 400, 'description' => 'Illegal consumer group ID.'], ['code' => 'iot.consumer.group.InvalidConsumerGroupId', 'message' => 'Illegal consumer group ID', 'http_code' => 400, 'description' => 'Illegal consumer group ID'], ['code' => 'iot.consumer.group.InvalidConsumerGroupName', 'message' => 'The consumer group name is invalid.', 'http_code' => 400, 'description' => 'The consumer group name is invalid.'], ['code' => 'iot.consumer.group.InvalidGroupBy', 'message' => 'The groupby parameter is invalid.', 'http_code' => 400, 'description' => 'The groupby parameter is invalid.'], ['code' => 'iot.consumer.group.InvalidSubscribeType', 'message' => 'The subscription type is invalid.', 'http_code' => 400, 'description' => 'The subscription type is invalid.'], ['code' => 'iot.consumer.group.MnsCheckFailed', 'message' => 'The MNS authentication fails.', 'http_code' => 400, 'description' => 'The MNS authentication fails.'], ['code' => 'iot.consumer.group.MnsNotSupport', 'message' => 'MNS subscriptions are not supported by authorized products.', 'http_code' => 400, 'description' => 'MNS subscriptions are not supported by authorized products.'], ['code' => 'iot.consumer.group.ProductKeyExceedsLimit', 'message' => 'The number of products subscribed by the consumer group exceeds the limit.', 'http_code' => 400, 'description' => 'The number of products subscribed by the consumer group exceeds the limit.'], ['code' => 'iot.consumer.group.QueryConsumerGroupFailed', 'message' => 'Failed to query consumption groups.', 'http_code' => 400, 'description' => 'Failed to query consumption groups.'], ['code' => 'iot.consumer.group.QueryConsumerGroupStatusFailed', 'message' => 'Failed to query the status of the consumer group.', 'http_code' => 400, 'description' => 'Failed to query the status of the consumer group.'], ['code' => 'iot.consumer.group.QuerySubscribeError', 'message' => 'Failed to obtain the server-side subscription.', 'http_code' => 400, 'description' => 'Failed to obtain the server-side subscription.'], ['code' => 'iot.consumer.group.SubscribeCannotDelete', 'message' => 'The subscription under the product has only one consumer group. You cannot delete the subscription.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.consumer.group.SubscribeCannotDelete', 'message' => 'Subscription relationships under corresponding products only have one current consumption group associated and cannot be unsubscribed.', 'http_code' => 400, 'description' => 'Subscription relationships under corresponding products only have one current consumption group associated and cannot be unsubscribed.'], ['code' => 'iot.consumer.group.SubscribeExist', 'message' => 'The subscription already exists.', 'http_code' => 400, 'description' => 'The subscription already exists.'], ['code' => 'iot.consumer.group.SubscribeNotExist', 'message' => 'The subscription does not exist.', 'http_code' => 400, 'description' => 'The subscription does not exist.'], ['code' => 'iot.consumer.group.UpdateConsumerGroupFailed', 'message' => 'Failed to update the consumer group.', 'http_code' => 400, 'description' => 'Failed to update the consumer group.'], ['code' => 'iot.consumer.group.UpdateConsumerGroupFailed', 'message' => 'Failed to update consumer group.', 'http_code' => 400, 'description' => 'Failed to update consumer group.'], ['code' => 'iot.customizedcert.CreateCustomizedCertError', 'message' => 'Failed to create the custom certificate.', 'http_code' => 400, 'description' => 'Failed to create the custom certificate.'], ['code' => 'iot.customizedcert.DeleteCustomizedCertError', 'message' => 'Failed to delete the custom certificate.', 'http_code' => 400, 'description' => 'Failed to delete the custom certificate.'], ['code' => 'iot.customizedcert.ExclusiveFunctionIsRestarting', 'message' => 'The dedicated module of the instance is restarting.', 'http_code' => 400, 'description' => 'The dedicated module of the instance is restarting.'], ['code' => 'iot.customizedcert.ParseCertPemError', 'message' => 'An error occurred while parsing the custom certificate.', 'http_code' => 400, 'description' => 'An error occurred while parsing the custom certificate.'], ['code' => 'iot.customizedcert.QueryCustomizedCertError', 'message' => 'Failed to query the custom certificate information.', 'http_code' => 400, 'description' => 'Failed to query the custom certificate information.'], ['code' => 'iot.customizedcert.RestartExclusiveFunctionAppError', 'message' => 'An error occurred while restarting the dedicated module of the instance.', 'http_code' => 400, 'description' => 'An error occurred while restarting the dedicated module of the instance.'], ['code' => 'iot.customizedcert.UpdateCustomizedCertError', 'message' => 'Failed to update the custom certificate.', 'http_code' => 400, 'description' => 'Failed to update the custom certificate.'], ['code' => 'iot.dap.createPipelineError', 'message' => 'create pipeline error.because invoke the data-cube failure', 'http_code' => 400, 'description' => 'create pipeline error.because invoke the data-cube failure'], ['code' => 'iot.dap.createPipelineError', 'message' => 'create pipeline error.because invoke the data-cube failure.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.folderNameRepeat', 'message' => 'folder name repetition', 'http_code' => 400, 'description' => 'folder name repetition'], ['code' => 'iot.dap.folderNameRepeat', 'message' => 'folder name repetition.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.hsfError', 'message' => 'server hsf error please try later', 'http_code' => 400, 'description' => 'server hsf error please try later'], ['code' => 'iot.dap.hsfError', 'message' => 'server hsf error please try later', 'http_code' => 400, 'description' => 'server hsf error please try later'], ['code' => 'iot.dap.hsfError', 'message' => 'server hsf error please try later.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.insight.addSourceTableFailed', 'message' => 'Failed to modify custom storage table', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.insight.algoInstNumberBeyondLimit', 'message' => 'The algorithm instance has reached the maximum number. If you need to create it. please submit a work order.', 'http_code' => 400, 'description' => 'The algorithm instance has reached the maximum number. If you need to create it. please submit a work order.'], ['code' => 'iot.dap.insight.apiQueryParamError', 'message' => 'A query parameter error occurred.', 'http_code' => 400, 'description' => 'api query param error'], ['code' => 'iot.dap.insight.apiQueryParamError', 'message' => 'api query param error', 'http_code' => 400, 'description' => 'api query param error'], ['code' => 'iot.dap.insight.apiQueryParamError', 'message' => 'API execution query parameter exception.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.insight.apiQueryParamError', 'message' => 'A query paramter error occurred.', 'http_code' => 400, 'description' => 'A query paramter error occurred.'], ['code' => 'iot.dap.insight.attrNameDuplicate', 'message' => 'the field name duplicate', 'http_code' => 400, 'description' => 'the field name duplicate'], ['code' => 'iot.dap.insight.bizExceptionNotSpecified', 'message' => 'biz exception not specified', 'http_code' => 400, 'description' => 'biz exception not specified'], ['code' => 'iot.dap.insight.bizExceptionNotSpecified', 'message' => 'server inner error.', 'http_code' => 500, 'description' => 'server inner error.'], ['code' => 'iot.dap.insight.bizExceptionNotSpecified', 'message' => 'biz exception not specified.', 'http_code' => 500, 'description' => 'biz exception not specified.'], ['code' => 'iot.dap.insight.bizExceptionNotSpecified', 'message' => 'serve inner biz error', 'http_code' => 500, 'description' => 'serve inner biz error'], ['code' => 'iot.dap.insight.bizExceptionNotSpecified', 'message' => 'server error', 'http_code' => 400, 'description' => 'server error'], ['code' => 'iot.dap.insight.bizExceptionNotSpecified', 'message' => 'Service internal error please contact technical support', 'http_code' => 400, 'description' => 'Service internal error please contact technical support'], ['code' => 'iot.dap.insight.bizExceptionNotSpecified', 'message' => 'inner error', 'http_code' => 400, 'description' => 'inner error'], ['code' => 'iot.dap.insight.columnNotMatch', 'message' => 'Output columns do not match table columns.', 'http_code' => 400, 'description' => 'Output columns do not match table columns.'], ['code' => 'iot.dap.insight.connectorOpenOfflineAnalysisFailed', 'message' => 'Failed to start offline analysis.', 'http_code' => 400, 'description' => 'The system failed to enable the offline analysis feature.'], ['code' => 'iot.dap.insight.createUserTableOutOfLimit', 'message' => 'The maximum number of created tables is exceeded.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.insight.createUserTableOutOfLimit', 'message' => 'The number of storage tables exceeds the maximum that can be created.', 'http_code' => 400, 'description' => 'The number of storage tables that you can create exceeds the limit.'], ['code' => 'iot.dap.insight.csvFormatError', 'message' => 'Failed to parse the CSV data.', 'http_code' => 400, 'description' => 'The csv data parse failed.'], ['code' => 'iot.dap.insight.dataApiNotDeploy', 'message' => 'The current API operation is not deployed.', 'http_code' => 400, 'description' => 'data api not deploy'], ['code' => 'iot.dap.insight.dataApiNotDeploy', 'message' => 'data api not deploy', 'http_code' => 400, 'description' => 'data api not deploy'], ['code' => 'iot.dap.insight.dataApiNotDeploy', 'message' => 'The API has not been published.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.insight.dataProcessing', 'message' => 'the store table data processing.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.insight.dataSourceNotFound', 'message' => 'source not found', 'http_code' => 400, 'description' => 'source not found'], ['code' => 'iot.dap.insight.dataSourceNotFound', 'message' => 'The data source was not found.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.insight.dataStoreTableAlreadyExist', 'message' => 'the Datastore table already exists.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.insight.dataStoreTableHasNotBeenInit', 'message' => 'data store table has not been init.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.insight.dataStoreTableNotExist', 'message' => 'data store table not exist.', 'http_code' => 400, 'description' => 'data store table not exist.'], ['code' => 'iot.dap.insight.datetimeNotMatch', 'message' => 'The acquisition time does not match the data time.', 'http_code' => 400, 'description' => 'The time when the data was collected is different from the time when the data was generated.'], ['code' => 'iot.dap.insight.disorderlyTime', 'message' => 'Time column data is out of order.', 'http_code' => 400, 'description' => 'The data of the time column is randomly sorted.'], ['code' => 'iot.dap.insight.dopAddDataError', 'message' => 'dop add data error', 'http_code' => 400, 'description' => 'dop add data error'], ['code' => 'iot.dap.insight.dopAddDataError', 'message' => 'Failed to write data.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.insight.dopCreateApiError', 'message' => 'dop create api error', 'http_code' => 400, 'description' => 'dop create api error'], ['code' => 'iot.dap.insight.dopQueryApiError', 'message' => 'A DOP query error occurred.', 'http_code' => 400, 'description' => 'dop query api error'], ['code' => 'iot.dap.insight.dopQueryApiError', 'message' => 'An error occurred in the DOP service query.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.insight.dopQueryApiError', 'message' => 'dop query api error', 'http_code' => 400, 'description' => 'dop query api error'], ['code' => 'iot.dap.insight.downloadTaskNumUpperLimit', 'message' => 'the number of downloaded tasks exceeded the upper limit.', 'http_code' => 400, 'description' => 'the number of downloaded tasks exceeded the upper limit.'], ['code' => 'iot.dap.insight.downloadTaskNumUpperLimit', 'message' => 'the number of downloaded tasks exceeded the upper limit', 'http_code' => 400, 'description' => 'the number of downloaded tasks exceeded the upper limit'], ['code' => 'iot.dap.insight.downloadTimesUpperLimit', 'message' => 'the number of current job downloaded tasks exceeded the upper limit.', 'http_code' => 400, 'description' => 'the number of current job downloaded tasks exceeded the upper limit.'], ['code' => 'iot.dap.insight.downloadTimesUpperLimit', 'message' => 'the number of current job downloaded tasks exceeded the upper limit', 'http_code' => 400, 'description' => 'the number of current job downloaded tasks exceeded the upper limit'], ['code' => 'iot.dap.insight.duplicateName', 'message' => 'Duplicate name.', 'http_code' => 400, 'description' => 'Duplicate name.'], ['code' => 'iot.dap.insight.exceedSubscribeNumber', 'message' => 'Exceed subscribe number.', 'http_code' => 400, 'description' => 'The number of sites that you can purchase exceeds the limit. The system failed to create the site.'], ['code' => 'iot.dap.insight.fileTypeError', 'message' => 'file extend name not support.', 'http_code' => 400, 'description' => 'file extend name not support.'], ['code' => 'iot.dap.insight.flinkJobCannotBeDeleted', 'message' => 'The flink job is running and cannot be deleted.', 'http_code' => 400, 'description' => 'The flink job is running and cannot be deleted.'], ['code' => 'iot.dap.insight.flinkJobNotExist', 'message' => 'The flink job is not exist.', 'http_code' => 400, 'description' => 'The flink job is not exist.'], ['code' => 'iot.dap.insight.flinkJobNotFound', 'message' => 'The flink job is not found.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.insight.frozen', 'message' => 'The algorithm instance has been frozen. please renew.', 'http_code' => 400, 'description' => 'The algorithm instance is frozen. Renew the instance.'], ['code' => 'iot.dap.insight.hasRunningTask', 'message' => 'There is a running task %s that cannot be deleted.', 'http_code' => 400, 'description' => 'There is a running task %s that cannot be deleted.'], ['code' => 'iot.dap.insight.identifierNotParse', 'message' => 'sheet not exist.', 'http_code' => 400, 'description' => 'sheet not exist.'], ['code' => 'iot.dap.insight.integrationEndTimeIsMandatory', 'message' => 'The EndTime parameter is required for the data integration.', 'http_code' => 400, 'description' => 'The data integration EndTime is mandatory.'], ['code' => 'iot.dap.insight.integrationEndTimeIsMandatory', 'message' => 'The data integration EndTime is mandatory.', 'http_code' => 400, 'description' => 'The data integration EndTime is mandatory.'], ['code' => 'iot.dap.insight.integrationJobFailed', 'message' => 'Failed to get results because the integration job has failed.', 'http_code' => 400, 'description' => 'Failed to get result because integration job has failed.'], ['code' => 'iot.dap.insight.integrationJobFailed', 'message' => 'Failed to get result because integration job has failed.', 'http_code' => 400, 'description' => 'Failed to get result because integration job has failed.'], ['code' => 'iot.dap.insight.integrationJobNotCompleted', 'message' => 'Failed to get results because the integration job is still in progress.', 'http_code' => 400, 'description' => 'Failed to get result because integration job is not completed.'], ['code' => 'iot.dap.insight.integrationJobNotCompleted', 'message' => 'Failed to get result because integration job is not completed.', 'http_code' => 400, 'description' => 'Failed to get result because integration job is not completed.'], ['code' => 'iot.dap.insight.integrationStartTimeIsMandatory', 'message' => 'The StartTime parameter is required for the data integration.', 'http_code' => 400, 'description' => 'The data integration StartTime is mandatory.'], ['code' => 'iot.dap.insight.integrationStartTimeIsMandatory', 'message' => 'The data integration StartTime is mandatory.', 'http_code' => 400, 'description' => 'The data integration StartTime is mandatory.'], ['code' => 'iot.dap.insight.integrationTimeOutOfRange', 'message' => 'The data integration time range exceeded the allowed time range.', 'http_code' => 400, 'description' => 'The data integration time range exceeded the allowed time range.'], ['code' => 'iot.dap.insight.invalidPartitionKey', 'message' => 'Invalid partition key.', 'http_code' => 400, 'description' => 'Invalid partition key.'], ['code' => 'iot.dap.insight.invalidPartitionSpec', 'message' => 'Invalid partition information.', 'http_code' => 400, 'description' => 'Invalid partition spec.'], ['code' => 'iot.dap.insight.invalidPartitionSpec', 'message' => 'Invalid partition spec.', 'http_code' => 400, 'description' => 'Invalid partition spec.'], ['code' => 'iot.dap.insight.invalidToken', 'message' => 'Invalid token.', 'http_code' => 400, 'description' => 'Invalid token.'], ['code' => 'iot.dap.insight.jsonFormatError', 'message' => 'Invalid JSON data format.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.insight.jsonFormatError', 'message' => 'Invalid JSON format.', 'http_code' => 400, 'description' => 'The json data format error.'], ['code' => 'iot.dap.insight.limitedInvoke', 'message' => 'Please check subscribe number and invoke limitation.', 'http_code' => 400, 'description' => 'Check the subscription quota or call quota.'], ['code' => 'iot.dap.insight.llmResponseNotValid', 'message' => 'The response returned by the LLM is not valid.', 'http_code' => 400, 'description' => 'The response returned by the LLM is not valid.'], ['code' => 'iot.dap.insight.llmResponseTimeout', 'message' => 'LLM invocation has timed out.', 'http_code' => 400, 'description' => 'LLM invocation has timed out.'], ['code' => 'iot.dap.insight.loadProtobufDescFailed', 'message' => 'Failed to parse the ProtoBuf description file.', 'http_code' => 400, 'description' => 'Failed to parse the ProtoBuf description file.'], ['code' => 'iot.dap.insight.maxRefreshDate', 'message' => 'The maximum refresh time of the data has been exceeded.', 'http_code' => 400, 'description' => 'The maximum refresh time of the data has been exceeded.'], ['code' => 'iot.dap.insight.mustSetAtLeastOnePrimaryKey', 'message' => 'Set at least one primary key.', 'http_code' => 400, 'description' => 'Set at least one primary key.'], ['code' => 'iot.dap.insight.nameDuplicate', 'message' => 'the name duplicate', 'http_code' => 400, 'description' => 'the name duplicate'], ['code' => 'iot.dap.insight.nameDuplicate', 'message' => 'The name is duplicated.', 'http_code' => 400, 'description' => 'the name duplicate'], ['code' => 'iot.dap.insight.needBuyDataAnalytics', 'message' => 'data analytics not available', 'http_code' => 400, 'description' => 'data analytics not available'], ['code' => 'iot.dap.insight.needDatesColumn', 'message' => 'The dates column is required.', 'http_code' => 400, 'description' => 'The dates column is required.'], ['code' => 'iot.dap.insight.needDetectionData', 'message' => 'Detection data is required.', 'http_code' => 400, 'description' => 'You must verify the data.'], ['code' => 'iot.dap.insight.needPrimaryKey', 'message' => 'need primary key to publish', 'http_code' => 400, 'description' => 'need primary key to publish'], ['code' => 'iot.dap.insight.noAuthorization', 'message' => 'no authorization.', 'http_code' => 400, 'description' => 'no authorization.'], ['code' => 'iot.dap.insight.noAuthorization', 'message' => 'No permissions.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.insight.noDeleteAlgoInst', 'message' => 'Please stop the running instance first.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.insight.notEditDataPipeline', 'message' => 'The online pipeline information cannot be edited.', 'http_code' => 400, 'description' => 'The online pipeline information cannot be edited.'], ['code' => 'iot.dap.insight.notEnoughCU', 'message' => 'There is not enough CU for the operation.', 'http_code' => 400, 'description' => 'There is not enough CU for the operation.'], ['code' => 'iot.dap.insight.notEnoughStorage', 'message' => 'There is not enough storage for the operation.', 'http_code' => 400, 'description' => 'There is not enough storage for the operation.'], ['code' => 'iot.dap.insight.notExistAlgoInstance', 'message' => 'Algorithm instance does not exist.', 'http_code' => 400, 'description' => 'Algorithm instance does not exist.'], ['code' => 'iot.dap.insight.notExistsDir', 'message' => 'The directory %s does not exist.', 'http_code' => 400, 'description' => 'The directory %s does not exist.'], ['code' => 'iot.dap.insight.notOpenFunctionOrInstanceAPI', 'message' => 'not open function or instance api.', 'http_code' => 400, 'description' => 'not open function or instance api.'], ['code' => 'iot.dap.insight.notPublish', 'message' => 'the table columns not change so not need publish', 'http_code' => 400, 'description' => 'the table columns not change so not need publish'], ['code' => 'iot.dap.insight.notSupportPartitionTable', 'message' => 'Partitioned tables are not supported.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.insight.parsedDataError', 'message' => 'Failed to parse data.', 'http_code' => 400, 'description' => 'The system failed to parse the data.'], ['code' => 'iot.dap.insight.pipelineProcessError', 'message' => 'pipeline processing error', 'http_code' => 400, 'description' => 'pipeline processing error'], ['code' => 'iot.dap.insight.pipelineProcessError', 'message' => 'pipeline processing error.', 'http_code' => 400, 'description' => 'pipeline processing error.'], ['code' => 'iot.dap.insight.pkLimit', 'message' => 'the store table primary key beyond maximum limit.', 'http_code' => 400, 'description' => 'the store table primary key beyond maximum limit.'], ['code' => 'iot.dap.insight.pkNotChange', 'message' => 'primary key not change or not increase', 'http_code' => 400, 'description' => 'primary key not change or not increase'], ['code' => 'iot.dap.insight.powerPlantsNumError', 'message' => 'The number of power stations must be greater than or equal to 20.', 'http_code' => 400, 'description' => 'The number of power stations must be greater than or equal to 20.'], ['code' => 'iot.dap.insight.processDownloadJobMoreConcurrenceCount', 'message' => 'the number of concurrent download tasks in progress exceeds the upper limit', 'http_code' => 400, 'description' => 'the number of concurrent download tasks in progress exceeds the upper limit'], ['code' => 'iot.dap.insight.processDownloadJobMoreConcurrenceCount', 'message' => 'the number of concurrent download tasks in progress exceeds the upper limit.', 'http_code' => 400, 'description' => 'the number of concurrent download tasks in progress exceeds the upper limit.'], ['code' => 'iot.dap.insight.productReplicating', 'message' => 'The product data is being backed up.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.insight.protoBufDataNotFound', 'message' => 'protobuf data not found.', 'http_code' => 400, 'description' => 'protobuf data not found.'], ['code' => 'iot.dap.insight.protoBufDescNotFound', 'message' => 'protobuf desc not found.', 'http_code' => 400, 'description' => 'protobuf desc not found.'], ['code' => 'iot.dap.insight.protobufFieldStackSizeOverLimit', 'message' => 'protobuf field stack size over limit.', 'http_code' => 400, 'description' => 'protobuf field stack size over limit.'], ['code' => 'iot.dap.insight.pullMessageFailed', 'message' => 'No data uploaded in the past seven days', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.insight.queryTimeMoreThanQueryDays', 'message' => 'The query time range exceeded the allowed time range', 'http_code' => 400, 'description' => 'The query time range exceeded the allowed time range'], ['code' => 'iot.dap.insight.queryTimeMoreThanQueryDays', 'message' => 'The query time range exceeded the allowed time range.', 'http_code' => 400, 'description' => 'The query time range exceeded the allowed time range.'], ['code' => 'iot.dap.insight.requestParamError', 'message' => 'request param error', 'http_code' => 400, 'description' => 'request param error'], ['code' => 'iot.dap.insight.requestParamError', 'message' => 'request param empty error', 'http_code' => 400, 'description' => 'request param empty error'], ['code' => 'iot.dap.insight.requestParamError', 'message' => 'request param error.', 'http_code' => 400, 'description' => 'request param error.'], ['code' => 'iot.dap.insight.requestParamError', 'message' => 'request params error', 'http_code' => 400, 'description' => 'request params error'], ['code' => 'iot.dap.insight.requestParamError', 'message' => 'requst params error', 'http_code' => 400, 'description' => 'requst params error'], ['code' => 'iot.dap.insight.requestParamError', 'message' => 'The request parameter is wrong. please check the request parameter', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.insight.requiredName', 'message' => 'Data storage table display name or data storage table name is required', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.insight.resourceNotExist', 'message' => 'Resource does not exist. Please refresh the page.', 'http_code' => 400, 'description' => 'Resource does not exist. Please refresh the page.'], ['code' => 'iot.dap.insight.retry', 'message' => 'The operation needs to be retried.', 'http_code' => 400, 'description' => 'The operation failed. Try again.'], ['code' => 'iot.dap.insight.scriptNodeRunError', 'message' => 'Failed to run the script. Cause: %s.', 'http_code' => 400, 'description' => 'Running script failed cause: %s.'], ['code' => 'iot.dap.insight.serverError', 'message' => 'server hsf error, please try later', 'http_code' => 400, 'description' => 'server hsf error, please try later'], ['code' => 'iot.dap.insight.serverError', 'message' => 'server inner error.', 'http_code' => 500, 'description' => ''], ['code' => 'iot.dap.insight.serverError', 'message' => 'server error', 'http_code' => 500, 'description' => 'server error'], ['code' => 'iot.dap.insight.serverError', 'message' => 'A server error occurred.', 'http_code' => 500, 'description' => 'serve error'], ['code' => 'iot.dap.insight.serverError', 'message' => 'server time out please retry', 'http_code' => 400, 'description' => 'server time out please retry'], ['code' => 'iot.dap.insight.serverError', 'message' => 'server hsf error please try later', 'http_code' => 400, 'description' => 'server hsf error please try later'], ['code' => 'iot.dap.insight.serverError', 'message' => 'Service internal error please contact technical support', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.insight.serverError', 'message' => 'A service error occurred.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.insight.serverError', 'message' => 'server hsf error please try later.', 'http_code' => 400, 'description' => 'server hsf error please try later.'], ['code' => 'iot.dap.insight.serverError', 'message' => 'Service error. please try again later.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.insight.serverError', 'message' => 'server hsf error please try later.', 'http_code' => 400, 'description' => 'server hsf error please try later.'], ['code' => 'iot.dap.insight.serverError', 'message' => 'There is an internal error in the service please submit a ticket to contact technical support', 'http_code' => 400, 'description' => 'There is an internal error in the service please submit a ticket to contact technical support'], ['code' => 'iot.dap.insight.serviceBusy', 'message' => 'service busy please try later.', 'http_code' => 400, 'description' => 'The server is busy. Try again later.'], ['code' => 'iot.dap.insight.sourceReplicaStatusError', 'message' => 'Backup instance status error.', 'http_code' => 400, 'description' => 'Backup instance status error.'], ['code' => 'iot.dap.insight.sourceReplicaStatusError', 'message' => 'replica instance status error.', 'http_code' => 400, 'description' => 'replica instance status error.'], ['code' => 'iot.dap.insight.startTimeMustBeLessThanEndTime', 'message' => 'The start time must be earlier than the end time.', 'http_code' => 400, 'description' => 'The StartTime parameter must be less than EndTime.'], ['code' => 'iot.dap.insight.startTimeMustBeLessThanEndTime', 'message' => 'The StartTime parameter must be less than EndTime.', 'http_code' => 400, 'description' => 'The StartTime parameter must be less than EndTime.'], ['code' => 'iot.dap.insight.tableFieldNameNotExist', 'message' => 'The table field name is not exist.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.insight.tableFieldNameNotExist', 'message' => 'The table field names is not exist.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.insight.tableFieldNameNotFound', 'message' => 'The fields are not found in the table.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.insight.tableNameTooLong', 'message' => 'table name or disply table name beyond max limit', 'http_code' => 400, 'description' => 'table name or disply table name beyond max limit'], ['code' => 'iot.dap.insight.taskRunning', 'message' => 'There is a task running.', 'http_code' => 400, 'description' => 'There is a task running.'], ['code' => 'iot.dap.insight.taskRunning', 'message' => 'task running.', 'http_code' => 400, 'description' => 'task running.'], ['code' => 'iot.dap.insight.templateDemoDataNotExists', 'message' => 'template demo data not exists', 'http_code' => 400, 'description' => 'template demo data not exists'], ['code' => 'iot.dap.insight.templateDemoDataResolveError', 'message' => 'template demo data resolve error', 'http_code' => 400, 'description' => 'template demo data resolve error'], ['code' => 'iot.dap.insight.templateNotExist', 'message' => 'template not exist', 'http_code' => 400, 'description' => 'template not exist'], ['code' => 'iot.dap.insight.timeSeriesRelationColNotMatch', 'message' => 'The number of detection data needs to be between 2 and 10 columns.', 'http_code' => 400, 'description' => 'The number of columns of data that you can check ranges from 2 to 10.'], ['code' => 'iot.dap.insight.unknownDataIntegrationField', 'message' => 'Unknown data integration field.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.insight.unknownException', 'message' => 'server inner error.', 'http_code' => 500, 'description' => ''], ['code' => 'iot.dap.insight.unknownException', 'message' => 'unknown error.', 'http_code' => 500, 'description' => 'unknown error.'], ['code' => 'iot.dap.insight.unknownException', 'message' => 'A server error occurred. Please submit a ticket.', 'http_code' => 500, 'description' => 'server error. please submit ticket for process.'], ['code' => 'iot.dap.insight.unknownException', 'message' => 'biz exception not specified.', 'http_code' => 400, 'description' => 'biz exception not specified.'], ['code' => 'iot.dap.insight.unknownException', 'message' => 'Service internal error please contact technical support', 'http_code' => 400, 'description' => 'Service internal error please contact technical support'], ['code' => 'iot.dap.insight.unknownException', 'message' => 'unknown exception.', 'http_code' => 400, 'description' => 'unknown exception.'], ['code' => 'iot.dap.insight.unknownException', 'message' => 'System error. Please submit a ticket.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.insight.unsubscribe', 'message' => 'Not subscribed to related algorithm solutions.', 'http_code' => 400, 'description' => 'Not subscribed to related algorithm solutions.'], ['code' => 'iot.dap.insight.unsupportedDataIntegrationTable', 'message' => 'Data Integration for this table is not supported.', 'http_code' => 400, 'description' => 'Data Integration for this table is not supported.'], ['code' => 'iot.dap.insight.unsupportedDataIntegrationTable', 'message' => 'Unsupported data integration table.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.insight.unsupportTableType', 'message' => 'Deletion of this type of table data is not supported.', 'http_code' => 400, 'description' => 'You cannot delete the data of tables of this type.'], ['code' => 'iot.dap.insight.useSystemColumn', 'message' => 'Column names contain system fields', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.internalError', 'message' => 'internal error.', 'http_code' => 400, 'description' => 'internal error.'], ['code' => 'iot.dap.jobNameRepetition', 'message' => 'job name repetition', 'http_code' => 400, 'description' => 'job name repetition'], ['code' => 'iot.dap.jobNameRepetition', 'message' => 'job name repetition.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.methodTimeout', 'message' => 'timeout', 'http_code' => 400, 'description' => 'timeout'], ['code' => 'iot.dap.methodTimeout', 'message' => 'The service call timed out.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.noServeJobExit', 'message' => 'no serve job exist', 'http_code' => 400, 'description' => 'no serve job exist'], ['code' => 'iot.dap.noServeJobExit', 'message' => 'no serve job exist.', 'http_code' => 400, 'description' => 'no serve job exist.'], ['code' => 'iot.dap.onlyEstablishOneFolder', 'message' => 'Can only establish one class folder', 'http_code' => 400, 'description' => 'Can only establish one class folder'], ['code' => 'iot.dap.onlyEstablishOneFolder', 'message' => 'Can only establish one class folder.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.parametersError', 'message' => 'request parameter error', 'http_code' => 400, 'description' => 'request parameter error'], ['code' => 'iot.dap.parametersError', 'message' => 'Invalid request parameters.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.parametersError', 'message' => 'The request parameter is wrong.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.productListIsNull', 'message' => 'product list is null', 'http_code' => 400, 'description' => 'product list is null'], ['code' => 'iot.dap.productListIsNull', 'message' => 'product list is null.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.publishedTaskNotDelete', 'message' => 'published task not delete', 'http_code' => 400, 'description' => 'published task not delete'], ['code' => 'iot.dap.publishedTaskNotDelete', 'message' => 'Published tasks cannot be deleted.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.requestHighFrequentError', 'message' => 'too many requests', 'http_code' => 400, 'description' => 'too many requests'], ['code' => 'iot.dap.requestHighFrequentError', 'message' => 'The amount of concurrency is high. please try again later.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.serveApiInvalidParam', 'message' => 'call serve api with invalid parameter', 'http_code' => 400, 'description' => 'call serve api with invalid parameter'], ['code' => 'iot.dap.serveApiPathIsEmpty', 'message' => 'the api path is empty', 'http_code' => 400, 'description' => 'the api path is empty'], ['code' => 'iot.dap.serveApiPathRepetition', 'message' => 'serve api path is repetition.', 'http_code' => 400, 'description' => 'serve api path is repetition.'], ['code' => 'iot.dap.serveApiPathRepetition', 'message' => 'The address of the data service API interface is duplicated.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.serveApiSqlInvokeParamError', 'message' => 'SQL parameter error value non match type', 'http_code' => 400, 'description' => 'SQL parameter error value non match type'], ['code' => 'iot.dap.serveApiSqlInvokeParamError', 'message' => 'Invalid SQL parameters.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.serveApiSqlTemplateError', 'message' => 'sql template error please check sql template and updated', 'http_code' => 400, 'description' => 'sql template error please check sql template and updated'], ['code' => 'iot.dap.sourceUidIsEmpty', 'message' => 'source uid is empty', 'http_code' => 400, 'description' => 'source uid is empty'], ['code' => 'iot.dap.sourceUidIsEmpty', 'message' => 'source uid is empty.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.syncStartPipelineError', 'message' => 'start pipeline error.because invoke the data-cube failure', 'http_code' => 400, 'description' => 'start pipeline error.because invoke the data-cube failure'], ['code' => 'iot.dap.syncStartPipelineError', 'message' => 'Failed to start task.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.taskNotPublished', 'message' => 'the serve api not publish', 'http_code' => 400, 'description' => 'the serve api not publish'], ['code' => 'iot.dap.taskNotPublished', 'message' => 'The API has not been published.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dap.unauthorization', 'message' => 'no authorization.', 'http_code' => 400, 'description' => 'no authorization.'], ['code' => 'iot.dataalgo.MethodNotFoundInScript', 'message' => 'Method is not found in script', 'http_code' => 400, 'description' => 'Method is not found in script'], ['code' => 'iot.dataalgo.ScriptDataFormatException', 'message' => 'Script function result format is incorrect.', 'http_code' => 400, 'description' => 'Script function result format is incorrect.'], ['code' => 'iot.dataalgo.ScriptExecutionException', 'message' => 'Script execution exception', 'http_code' => 400, 'description' => 'Script execution exception'], ['code' => 'iot.dataalgo.ScriptExecutionException', 'message' => 'Script execution exception.', 'http_code' => 400, 'description' => 'Script execution exception.'], ['code' => 'iot.dataalgo.ScriptExecutionOomException', 'message' => 'Script execution is out of memory.', 'http_code' => 400, 'description' => 'Script execution is out of memory.'], ['code' => 'iot.dataalgo.ScriptExecutionTimeout', 'message' => 'Script execution timeout.', 'http_code' => 400, 'description' => 'Script execution timeout.'], ['code' => 'iot.dataalgo.ScriptFlowRestriction', 'message' => 'Script Flow restrictions', 'http_code' => 400, 'description' => 'Script Flow restrictions'], ['code' => 'iot.dataalgo.ScriptMethodNotFound', 'message' => 'Method is not found in script.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.dataalgo.ScriptRelationNotExist', 'message' => 'Script relation not exist.', 'http_code' => 400, 'description' => 'Script relation not exist.'], ['code' => 'iot.databus.InsertSearchIndexConfigFail', 'message' => 'Failed to configure the index.', 'http_code' => 400, 'description' => 'Failed to configure the index.'], ['code' => 'iot.databus.QuerySearchIndexCleanFail', 'message' => 'Failed to query the index cleaning information.', 'http_code' => 400, 'description' => 'Failed to query the index cleaning information.'], ['code' => 'iot.databus.QuerySearchIndexConfigFail', 'message' => 'Failed to query the index information.', 'http_code' => 400, 'description' => 'Failed to query the index information.'], ['code' => 'Iot.databus.SearchDocError', 'message' => 'Search doc error.', 'http_code' => 400, 'description' => 'Search doc error.'], ['code' => 'iot.databus.SearchIndexConfigNotFound', 'message' => 'The search index config is not found.', 'http_code' => 400, 'description' => 'The search index config is not found.'], ['code' => 'Iot.dc.DeviceExist', 'message' => 'Device exist.', 'http_code' => 400, 'description' => 'Device exist.'], ['code' => 'Iot.dc.QuotaExceeds', 'message' => 'Quota exceeds.', 'http_code' => 400, 'description' => 'Quota exceeds.'], ['code' => 'Iot.dc.runtime.RegionNotSupported', 'message' => 'Current region not supported.', 'http_code' => 400, 'description' => ''], ['code' => 'Iot.dc.runtime.TenantInstanceIdIllegal', 'message' => 'Tenant of instanceId illegal.', 'http_code' => 400, 'description' => ''], ['code' => 'Iot.dc.runtime.TenantInstanceIdIllegal', 'message' => 'Tenant of instanceId illegal', 'http_code' => 400, 'description' => 'Tenant of instanceId illegal'], ['code' => 'Iot.dc.runtime.TsdbConfigNotExsit', 'message' => 'Tsdb config not exist.', 'http_code' => 400, 'description' => 'Tsdb config not exist.'], ['code' => 'Iot.dc.runtime.TsdbConfigTtlMustBigger', 'message' => 'Tsdb config new ttl must bigger than last.', 'http_code' => 400, 'description' => 'Tsdb config new ttl must bigger than last.'], ['code' => 'Iot.dc.runtime.TsdbConfigTtlOutRange', 'message' => 'Tsdb config ttl out range.', 'http_code' => 400, 'description' => ''], ['code' => 'Iot.dc.TenantIllegal', 'message' => 'TenantId illegal.', 'http_code' => 400, 'description' => 'TenantId illegal.'], ['code' => 'iot.deivce.CancelDeviceAuthFailed', 'message' => 'An error occurred while canceling the device authorization.', 'http_code' => 400, 'description' => 'An error occurred while canceling the device authorization.'], ['code' => 'iot.deivce.NotExistedThingConfig', 'message' => 'The specified product has not been configured.', 'http_code' => 400, 'description' => 'The specified product has not been configured.'], ['code' => 'iot.device.AddNodeFailed', 'message' => 'Failed to add the LoRa device.', 'http_code' => 400, 'description' => 'Failed to add the LoRa device.'], ['code' => 'iot.device.AddThingConfigFailed', 'message' => 'An error occurred while creating the TSL model.', 'http_code' => 400, 'description' => 'An error occurred while creating the TSL model.'], ['code' => 'iot.device.AddTopoFailed', 'message' => 'An error occurred while creating a topological relation between the device and the gateway.', 'http_code' => 400, 'description' => 'An error occurred while creating a topological relation between the device and the gateway.'], ['code' => 'iot.device.AddTopoRelationFailed', 'message' => 'An error occurred while adding the topological relationship.', 'http_code' => 400, 'description' => 'An error occurred while adding the topological relationship.'], ['code' => 'iot.device.AllDeviceIsAuthorized', 'message' => 'All devices have been authorized and cannot be deleted.', 'http_code' => 400, 'description' => 'All devices have been authorized and cannot be deleted.'], ['code' => 'iot.device.AlreadyCreatedExistedApplyId', 'message' => 'The specified application ID already exists.', 'http_code' => 400, 'description' => 'The specified application ID already exists.'], ['code' => 'iot.device.AlreadyExistedDeviceName', 'message' => 'The device already exists.', 'http_code' => 400, 'description' => 'device already exists'], ['code' => 'iot.device.AlreadyExistedDeviceName', 'message' => 'The DeviceName already exists.', 'http_code' => 400, 'description' => 'The DeviceName already exists.'], ['code' => 'iot.device.ApplyDeviceNumberIslarge', 'message' => 'The number of devices exceeds the limit for a single request.', 'http_code' => 400, 'description' => 'The number of devices exceeds the limit for a single request.'], ['code' => 'iot.device.ApplyManyDevicesFailed', 'message' => 'An error occurred while creating multiple devices.', 'http_code' => 400, 'description' => 'An error occurred while creating multiple devices.'], ['code' => 'iot.device.ApplyManyDevicesFailed', 'message' => 'An error occurred while requesting multiple devices.', 'http_code' => 400, 'description' => 'An error occurred while requesting multiple devices.'], ['code' => 'iot.device.ApplyNotExist', 'message' => 'The batch does not exist.', 'http_code' => 400, 'description' => 'The batch does not exist.'], ['code' => 'iot.device.AuthDeviceToISVFailed', 'message' => 'Failed to grant device permissions to ISV.', 'http_code' => 400, 'description' => 'Failed to grant device permissions to ISV.'], ['code' => 'iot.device.AuthorizeDeviceToTenantFailed', 'message' => 'An error occurred while authorizing the tenant to use the device.', 'http_code' => 400, 'description' => 'An error occurred while authorizing the tenant to use the device.'], ['code' => 'iot.device.BatchDeleteDeviceCountExceedMax', 'message' => 'The number of deleted devices cannot exceed 20.', 'http_code' => 400, 'description' => 'The number of deleted devices cannot exceed 20.'], ['code' => 'iot.device.BatchGetThingPropertyFailed', 'message' => 'Failed to query specified properties of multiple devices.', 'http_code' => 400, 'description' => 'Failed to query specified properties of multiple devices.'], ['code' => 'iot.device.BatchQueryDeviceFailed', 'message' => 'Failed to query the information about multiple devices.', 'http_code' => 400, 'description' => 'Failed to query the information about multiple devices.'], ['code' => 'iot.device.BatchQueryDeviceTimelineError', 'message' => 'Failed to query historical property records.', 'http_code' => 400, 'description' => 'Failed to query historical property records.'], ['code' => 'iot.device.CancelAuthDeviceToISVFailed', 'message' => 'Failed to cancel the ISV authorization.', 'http_code' => 400, 'description' => 'Failed to cancel the ISV authorization.'], ['code' => 'iot.device.CanNotEnableInactiveDevice', 'message' => 'The inactive device cannot be enabled.', 'http_code' => 400, 'description' => 'The inactive device cannot be enabled.'], ['code' => 'iot.device.CanNotSetReadOnlyProperty', 'message' => 'Cannot set read only property.', 'http_code' => 400, 'description' => 'Cannot set read only property'], ['code' => 'iot.device.CertBindListSizeExceed', 'message' => 'The size of the certificate binding list exceeds the limit.', 'http_code' => 400, 'description' => 'The size of the certificate binding list exceeds the limit.'], ['code' => 'iot.device.ChannelIsNotBelongToGateway', 'message' => 'The specified channel does not belong to the gateway device.', 'http_code' => 400, 'description' => 'The specified channel does not belong to the gateway device.'], ['code' => 'iot.device.ChannelNameIsRepeated', 'message' => 'The specified channel name already exists.', 'http_code' => 400, 'description' => 'The specified channel name already exists.'], ['code' => 'iot.device.CheckDeviceNameListFailed', 'message' => 'An error occurred while checking the deviceName list.', 'http_code' => 400, 'description' => 'An error occurred while checking the deviceName list.'], ['code' => 'iot.device.ChildDeviceCountExceedMax', 'message' => 'You cannot create any more sub-devices.', 'http_code' => 400, 'description' => 'You cannot create any more sub-devices.'], ['code' => 'iot.device.ChildDeviceHasTopo', 'message' => 'A topological relationship has been established between the device and the gateway.', 'http_code' => 400, 'description' => 'A topological relationship has been established between the device and the gateway.'], ['code' => 'iot.device.ClearPropertyDesiredFailed', 'message' => 'Failed to clear desired value of property.', 'http_code' => 400, 'description' => 'Failed to clear desired value of property.'], ['code' => 'iot.device.ConfigCheckFailed', 'message' => 'Failed to check the configurations.', 'http_code' => 400, 'description' => 'Failed to check the configurations.'], ['code' => 'iot.device.CreateChildDeviceFailed', 'message' => 'An error occurred while creating the sub-device.', 'http_code' => 400, 'description' => 'An error occurred while creating the sub-device.'], ['code' => 'iot.device.CreateDeviceFailed', 'message' => 'An error occurred while creating the device.', 'http_code' => 400, 'description' => 'An error occurred while creating the device.'], ['code' => 'iot.device.CreateDeviceTaskIsRunning', 'message' => 'The task to create the device is still running.', 'http_code' => 400, 'description' => 'The task to create the device is still running.'], ['code' => 'iot.device.CreateDeviceTaskIsRunning.', 'message' => 'The device is being created.', 'http_code' => 400, 'description' => 'The device is being created.'], ['code' => 'iot.device.CreateDeviceX509CertError', 'message' => 'Failed to generate the X.509 certificate.', 'http_code' => 400, 'description' => 'Failed to generate the X.509 certificate.'], ['code' => 'iot.device.CreateThingTagFailed', 'message' => 'Failed to add the device tag.', 'http_code' => 400, 'description' => 'Failed to add the device tag.'], ['code' => 'iot.device.CreateVirtualDeviceFailed', 'message' => 'An error occurred while creating a virtual device.', 'http_code' => 400, 'description' => 'An error occurred while creating a virtual device.'], ['code' => 'iot.device.DebugAbilityFaild', 'message' => 'An error occurred while debugging the product features.', 'http_code' => 400, 'description' => 'An error occurred while debugging the product features.'], ['code' => 'iot.device.DeleteDeviceFailed', 'message' => 'An error occurred while deleting the device.', 'http_code' => 400, 'description' => 'An error occurred while deleting the device.'], ['code' => 'iot.device.DeleteDeviceFileFailed', 'message' => 'Failed to delete the device file.', 'http_code' => 400, 'description' => 'Failed to delete the device file.'], ['code' => 'iot.device.DeleteDevicePropertyFailed', 'message' => 'An error occurred while deleting the device property.', 'http_code' => 400, 'description' => 'An error occurred while deleting the device property.'], ['code' => 'iot.device.DeleteSubDeviceFailed', 'message' => 'An error occurred while deleting the sub-device.', 'http_code' => 400, 'description' => 'An error occurred while deleting the sub-device.'], ['code' => 'iot.device.DeleteThingTagFailed', 'message' => 'Failed to delete the device tag.', 'http_code' => 400, 'description' => 'Failed to delete the device tag.'], ['code' => 'iot.device.DesiredPropertyVersionConflict', 'message' => 'Version conflict. Please check version of the properties.', 'http_code' => 400, 'description' => 'Version conflict. Please check version of the properties'], ['code' => 'iot.device.DeviceApplyIsNotFound', 'message' => 'The application ID for the device does not exist.', 'http_code' => 400, 'description' => 'The application ID for the device does not exist.'], ['code' => 'iot.device.DeviceBatchApplyNotReady', 'message' => 'The specified request ticket is not ready.', 'http_code' => 400, 'description' => 'The specified request ticket is not ready.'], ['code' => 'iot.device.DeviceCountExceeded', 'message' => 'The number of devices exceeds the limit.', 'http_code' => 400, 'description' => 'The number of devices exceeds the limit.'], ['code' => 'iot.device.DeviceCountExceedMax', 'message' => 'The number of devices under the product exceeds the limit.', 'http_code' => 400, 'description' => 'The number of devices under the product exceeds the limit.'], ['code' => 'iot.device.DeviceCountExceedTenantInstanceMax', 'message' => 'The number of devices exceeds the limit.', 'http_code' => 400, 'description' => 'The number of devices exceeds the limit.'], ['code' => 'iot.device.DeviceFileNotFound', 'message' => 'The device file does not exist.', 'http_code' => 400, 'description' => 'The device file does not exist.'], ['code' => 'iot.device.DeviceHasAuthorizations', 'message' => 'The current device has been assigned to another tenant and cannot be deleted.', 'http_code' => 400, 'description' => 'The current device has been assigned to another tenant and cannot be deleted.'], ['code' => 'iot.device.DeviceHasDistributed', 'message' => 'A device with the same name has been distributed.', 'http_code' => 400, 'description' => 'A device with the same name has been distributed.'], ['code' => 'iot.device.DeviceInstanceInconsistency', 'message' => 'The instance of devices is inconsistency.', 'http_code' => 400, 'description' => 'The instance of devices is inconsistency.'], ['code' => 'iot.device.DeviceIsAlreadyOnline', 'message' => 'The specified device is already online.', 'http_code' => 400, 'description' => 'The specified device is already online.'], ['code' => 'iot.device.DeviceIsDisable', 'message' => 'The specified device has been disabled.', 'http_code' => 400, 'description' => 'The specified device has been disabled.'], ['code' => 'iot.device.DeviceIsNotMathchedWithDeviceConnectionCode', 'message' => 'The specified code for device connection does not belong to this device.', 'http_code' => 400, 'description' => 'The specified code for device connection does not belong to this device.'], ['code' => 'iot.device.DeviceNameAuthError', 'message' => 'An error occurred while authenticating the device.', 'http_code' => 400, 'description' => 'An error occurred while authenticating the device.'], ['code' => 'iot.device.DeviceNameListSizeExceed', 'message' => 'The size of the DeviceName list exceeds the limit.', 'http_code' => 400, 'description' => 'The size of the DeviceName list exceeds the limit.'], ['code' => 'Iot.device.DeviceNotFound', 'message' => 'device not found.', 'http_code' => 400, 'description' => 'The device cannot be found.'], ['code' => 'Iot.device.DeviceNotFound', 'message' => 'device not found', 'http_code' => 400, 'description' => 'device not found'], ['code' => 'iot.device.DeviceNotOnline', 'message' => 'Device is not online.', 'http_code' => 400, 'description' => 'The device is offline.'], ['code' => 'iot.device.DeviceNumberExceedInstance', 'message' => 'Exceeds instance device number limit', 'http_code' => 400, 'description' => 'Exceeds instance device number limit'], ['code' => 'iot.device.DeviceNumerExceedTenant', 'message' => 'The total number of devices exceed the limit.', 'http_code' => 400, 'description' => 'The total number of devices exceed the limit.'], ['code' => 'iot.device.DeviceNumerExceedTenant', 'message' => 'The device total number beyond limit.', 'http_code' => 400, 'description' => 'The device total number beyond limit.'], ['code' => 'iot.device.DeviceProtocolNotMatchedWithGatewayChannel', 'message' => 'The device and the channel must use the same protocol.', 'http_code' => 400, 'description' => 'The device and the channel must use the same protocol.'], ['code' => 'iot.device.DeviceQuotaExceedMax', 'message' => 'The quota for the product is insufficient.', 'http_code' => 400, 'description' => 'The quota for the product is insufficient.'], ['code' => 'iot.device.DeviceTenantsCheckFailed', 'message' => 'An error occurred while authenticating the device tenant.', 'http_code' => 400, 'description' => 'An error occurred while authenticating the device tenant.'], ['code' => 'iot.device.DisableDeviceFailed', 'message' => 'An error occurred while disabling the device.', 'http_code' => 400, 'description' => 'An error occurred while disabling the device.'], ['code' => 'iot.device.DistributedProductCanNotCreateDevice', 'message' => 'The device cannot be created under the distributed product.', 'http_code' => 400, 'description' => 'The device cannot be created under the distributed product.'], ['code' => 'iot.device.DistributedProductCanNotCreateDevice', 'message' => 'The creation of devices under distributed products is prohibited.', 'http_code' => 400, 'description' => 'The creation of devices under distributed products is prohibited.'], ['code' => 'iot.device.DuplicateDeviceName', 'message' => 'The device name is duplicate.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.device.DuplicateDeviceNicknameInfo', 'message' => 'The device name and alias must be unique.', 'http_code' => 400, 'description' => 'The device name and alias must be unique.'], ['code' => 'iot.device.EmptyDeviceList', 'message' => 'You must specify a device list.', 'http_code' => 400, 'description' => 'You must specify a device list.'], ['code' => 'iot.device.EmptyDeviceList', 'message' => 'The productKey is empty.', 'http_code' => 400, 'description' => 'The productKey is empty.'], ['code' => 'iot.device.EmptyDeviceNameList', 'message' => 'The DeviceName list is empty.', 'http_code' => 400, 'description' => 'The DeviceName list is empty.'], ['code' => 'iot.device.EmptyDeviceNicknameInfo', 'message' => 'The device alias cannot not be empty.', 'http_code' => 400, 'description' => 'The device alias cannot not be empty.'], ['code' => 'iot.device.EmptyDeviceNicknameInfoList', 'message' => 'The DeviceNicknameInfoList parameter cannot be empty.', 'http_code' => 400, 'description' => 'The DeviceNicknameInfoList parameter cannot be empty.'], ['code' => 'iot.device.EmptyFirmwareNames', 'message' => 'You must specify a firmware name for update.', 'http_code' => 400, 'description' => 'You must specify a firmware name for update.'], ['code' => 'iot.device.EnableDeviceFailed', 'message' => 'An error occurred while enabling the device.', 'http_code' => 400, 'description' => 'An error occurred while enabling the device.'], ['code' => 'iot.device.EveryDeviceIsNotExisted', 'message' => 'The devices you are querying do not exist.', 'http_code' => 400, 'description' => 'The devices you are querying do not exist.'], ['code' => 'iot.device.EveryDeviceNameFormatIsInvalid', 'message' => 'The formats of DeviceNames are invalid.', 'http_code' => 400, 'description' => 'The formats of DeviceNames are invalid.'], ['code' => 'iot.device.ExistedThingConfig', 'message' => 'The product or device is already configured.', 'http_code' => 400, 'description' => 'The product or device is already configured.'], ['code' => 'iot.device.FailedCreateChannel', 'message' => 'An error occurred while creating a sub-device channel.', 'http_code' => 400, 'description' => 'An error occurred while creating a sub-device channel.'], ['code' => 'iot.device.FailedDeleteServerConfig', 'message' => 'An error occurred while deleting the sub-device channel.', 'http_code' => 400, 'description' => 'An error occurred while deleting the sub-device channel.'], ['code' => 'iot.device.FailedListServerConfig', 'message' => 'An error occurred while querying the sub-device channels.', 'http_code' => 400, 'description' => 'An error occurred while querying the sub-device channels.'], ['code' => 'iot.device.FailedToSetDeviceOffline', 'message' => 'An error occurred while stopping the specified virtual device.', 'http_code' => 400, 'description' => 'An error occurred while stopping the specified virtual device.'], ['code' => 'iot.device.FailedToSetDeviceOnline', 'message' => 'An error occurred while starting the specified virtual device.', 'http_code' => 400, 'description' => 'An error occurred while starting the specified virtual device.'], ['code' => 'iot.device.FailedUpdateChannel', 'message' => 'An error occurred while updating the sub-device channel.', 'http_code' => 400, 'description' => 'An error occurred while updating the sub-device channel.'], ['code' => 'iot.device.FileNotMatchedWithDevice', 'message' => 'The file does not belong to the current device.', 'http_code' => 400, 'description' => 'The file does not belong to the current device.'], ['code' => 'iot.device.FuzzyRuntimeSearchMinLengt', 'message' => 'Fuzzy runtime search length must exceed 4.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.device.FuzzyRuntimeSearchMinLengthLimit', 'message' => 'Fuzzy runtime search length must exceed 4.', 'http_code' => 400, 'description' => 'The fuzzy runtime search length must exceed 4.'], ['code' => 'iot.device.FuzzySearchMinLengthLimi', 'message' => 'Fuzzy search length must exceed 3', 'http_code' => 400, 'description' => ''], ['code' => 'iot.device.FuzzySearchMinLengthLimit', 'message' => 'Fuzzy search length must exceed 3.', 'http_code' => 400, 'description' => 'The fuzzy search length must exceed 3.'], ['code' => 'iot.device.GetDeviceEventFailed', 'message' => 'An error occurred while querying the device events.', 'http_code' => 400, 'description' => 'An error occurred while querying the device events.'], ['code' => 'iot.device.GetDevicePropertyFailed', 'message' => 'An error occurred while querying the device properties.', 'http_code' => 400, 'description' => 'An error occurred while querying the device properties.'], ['code' => 'iot.device.GetNodesAddingTaskFailed', 'message' => 'Failed to query the task to add multiple LoRa devices.', 'http_code' => 400, 'description' => 'Failed to query the task to add multiple LoRa devices.'], ['code' => 'iot.device.GetNodesAddingTaskFailed', 'message' => 'Failed to query the LoRa device batch addition task.', 'http_code' => 400, 'description' => 'Failed to query the LoRa device batch addition task.'], ['code' => 'iot.device.HasDeviceAuthorizationRelations', 'message' => 'The device of the specified product has been authorized.', 'http_code' => 400, 'description' => 'The device of the specified product has been authorized.'], ['code' => 'iot.device.ID2ProductIsNotAllowCreateDevice', 'message' => 'You cannot create devices under the ID² product.', 'http_code' => 400, 'description' => 'You cannot create devices under the ID² product.'], ['code' => 'iot.device.InactiveDevice', 'message' => 'The device is inactive.', 'http_code' => 400, 'description' => 'The device is inactive.'], ['code' => 'iot.device.IncorrectDeviceConnectionConfig', 'message' => 'The specified protocol for the connection between the device and the gateway is invalid.', 'http_code' => 400, 'description' => 'The specified protocol for the connection between the device and the gateway is invalid.'], ['code' => 'iot.device.IncorrentDeviceApplyInfo', 'message' => 'The device application information is invalid.', 'http_code' => 400, 'description' => 'The device application information is invalid.'], ['code' => 'iot.device.InitSlsClentError', 'message' => 'An error occurred while initializing the SLS client.', 'http_code' => 400, 'description' => 'An error occurred while initializing the SLS client.'], ['code' => 'iot.device.InvalidApplyState', 'message' => 'The specified batch request status is invalid.', 'http_code' => 400, 'description' => 'The specified batch request status is invalid.'], ['code' => 'iot.device.InvalidCertSNInArray', 'message' => 'The CertSN is invalid.', 'http_code' => 400, 'description' => 'The CertSN is invalid.'], ['code' => 'iot.device.InvalidDeviceNameExisted', 'message' => 'The DeviceName list contains invalid DeviceNames.', 'http_code' => 400, 'description' => 'The DeviceName list contains invalid DeviceNames.'], ['code' => 'iot.device.InvalidDeviceNameList', 'message' => 'The string of the deviceName list is invalid.', 'http_code' => 400, 'description' => 'The string of the deviceName list is invalid.'], ['code' => 'iot.device.InvalidDeviceNickNameExisted', 'message' => 'The DeviceName list contains invalid device aliases.', 'http_code' => 400, 'description' => 'The DeviceName list contains invalid device aliases.'], ['code' => 'iot.device.InvalidDeviceNicknameInfo', 'message' => 'The DeviceNicknameInfo parameter is invalid.', 'http_code' => 400, 'description' => 'The DeviceNicknameInfo parameter is invalid.'], ['code' => 'iot.device.InvalidDeviceParams', 'message' => 'The request parameters are invalid.', 'http_code' => 400, 'description' => 'The parameters are invalid.'], ['code' => 'iot.device.InvalidDeviceStatus', 'message' => 'The device is offline.', 'http_code' => 400, 'description' => 'The device is offline.'], ['code' => 'iot.device.InvalidFormattedAppKey', 'message' => 'The AppKey format is invalid.', 'http_code' => 400, 'description' => 'The AppKey format is invalid.'], ['code' => 'iot.device.InvalidFormattedApplyId', 'message' => 'The ApplyId parameter is invalid.', 'http_code' => 400, 'description' => 'The ApplyId parameter is invalid.'], ['code' => 'iot.device.InvalidFormattedDevEui', 'message' => 'The DevEui format is invalid.', 'http_code' => 400, 'description' => 'The DevEui format is invalid.'], ['code' => 'iot.device.InvalidFormattedDeviceName', 'message' => 'The DeviceName format is invalid.', 'http_code' => 400, 'description' => 'The DeviceName format is invalid.'], ['code' => 'iot.device.InvalidFormattedDeviceName', 'message' => 'The deviceName format is incorrect.', 'http_code' => 400, 'description' => 'The deviceName format is incorrect.'], ['code' => 'iot.device.InvalidFormattedDeviceNameInNameArray', 'message' => 'The DeviceName list contains an invalid DeviceName.', 'http_code' => 400, 'description' => 'The DeviceName list contains an invalid DeviceName.'], ['code' => 'iot.device.InvalidFormattedDeviceNameInNameArray', 'message' => 'The deviceName list contains an invalid device name.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.device.InvalidFormattedDeviceNickname', 'message' => 'The device alias is invalid.', 'http_code' => 400, 'description' => 'The device alias is invalid.'], ['code' => 'iot.device.InvalidFormattedDevicePropertiesString', 'message' => 'The device property format is invalid.', 'http_code' => 400, 'description' => 'The device property format is invalid.'], ['code' => 'iot.device.InvalidFormattedDevicePropertyKey', 'message' => 'The device property name format is invalid.', 'http_code' => 400, 'description' => 'The device property name format is invalid.'], ['code' => 'iot.device.InvalidFormattedDevicePropertyValue', 'message' => 'The device property value format is invalid.', 'http_code' => 400, 'description' => 'The device property value format is invalid.'], ['code' => 'iot.device.InvalidFormattedDeviceStatus', 'message' => 'The specified device status is invalid.', 'http_code' => 400, 'description' => 'The specified device status is invalid.'], ['code' => 'iot.device.InvalidFormattedJoinEui', 'message' => 'The JoinEui format is invalid.', 'http_code' => 400, 'description' => 'The JoinEui format is invalid.'], ['code' => 'iot.device.InvalidFormattedPinCode', 'message' => 'The PinCode format is invalid.', 'http_code' => 400, 'description' => 'The PinCode format is invalid.'], ['code' => 'iot.device.InvalidFormattedPropertyLabel', 'message' => 'The specified device property format is invalid.', 'http_code' => 400, 'description' => 'The specified device property format is invalid.'], ['code' => 'iot.device.InvalidIoTId', 'message' => 'The specified device ID is invalid.', 'http_code' => 400, 'description' => 'The specified device ID is invalid.'], ['code' => 'Iot.device.InvalidIoTId', 'message' => 'This specified device ID is invalid.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.device.InvalidParams', 'message' => 'The parameter is invalid。', 'http_code' => 400, 'description' => 'The parameter is invalid。'], ['code' => 'iot.device.InvalidParams', 'message' => 'the params is illegal.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.device.InvalidParams', 'message' => 'Request params error.', 'http_code' => 400, 'description' => 'Request params error.'], ['code' => 'iot.device.InvalidParams', 'message' => 'sql migrate error', 'http_code' => 403, 'description' => ''], ['code' => 'iot.device.InvalidPushThingConfigScope', 'message' => 'The specified scope is invalid.', 'http_code' => 400, 'description' => 'The specified scope is invalid.'], ['code' => 'iot.device.InvalidThingTagName', 'message' => 'The tag name is invalid.', 'http_code' => 400, 'description' => 'The tag name is invalid.'], ['code' => 'iot.device.InvalidTimeBucket', 'message' => 'The specified time range is invalid.', 'http_code' => 400, 'description' => 'The specified time range is invalid.'], ['code' => 'iot.device.InvokeThingServiceFailed', 'message' => 'An error occurred while invoking the device service.', 'http_code' => 400, 'description' => 'An error occurred while invoking the device service.'], ['code' => 'iot.device.InvokeVirtualThingServiceFailed', 'message' => 'Failed to call the service of the virtual device.', 'http_code' => 400, 'description' => 'Failed to call the service of the virtual device.'], ['code' => 'iot.device.LongDevicePropertiesString', 'message' => 'The device property exceeds the maximum length.', 'http_code' => 400, 'description' => 'The device property exceeds the maximum length.'], ['code' => 'iot.device.NoneDeviceNameElement', 'message' => 'The DeviceName list is empty.', 'http_code' => 400, 'description' => 'The DeviceName list is empty.'], ['code' => 'iot.device.NoneDeviceProperties', 'message' => 'No valid device properties exist.', 'http_code' => 400, 'description' => 'No valid device properties exist.'], ['code' => 'iot.device.NoPermission', 'message' => 'The Operation has not permission to the device.', 'http_code' => 400, 'description' => ''], ['code' => 'Iot.Device.NotDeviceOwner', 'message' => 'You are not the device owner.', 'http_code' => 403, 'description' => ''], ['code' => 'iot.device.NotEqualPkAndDn', 'message' => 'The specified device pk and dn do not match.', 'http_code' => 400, 'description' => 'The specified device pk and dn do not match.'], ['code' => 'Iot.Device.NotExistedDevice', 'message' => 'The device does not exist.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.Device.NotExistedDevice', 'message' => 'This device does not exist.', 'http_code' => 400, 'description' => 'The error message returned because the device does not exist or is not activated.'], ['code' => 'iot.device.NotExistedDevice', 'message' => 'other error.', 'http_code' => 429, 'description' => 'An unknown error occurred.'], ['code' => 'iot.device.NotExistedDevice', 'message' => 'no such redis value.', 'http_code' => 403, 'description' => 'The value of the Redis instance does not exist.'], ['code' => 'iot.device.NotExistedDevice', 'message' => 'ILLEGAL INPUTS.', 'http_code' => 429, 'description' => 'The content that you specified is invalid.'], ['code' => 'iot.device.NotExistedDevice', 'message' => 'no value exist for this redis key.', 'http_code' => 403, 'description' => 'The corresponding value of the Redis instance does not exist.'], ['code' => 'iot.device.NotExistedDevice', 'message' => 'no such redis key.', 'http_code' => 400, 'description' => 'The key of the Redis instance does not exist.'], ['code' => 'iot.device.NotExistedDeviceInNameArray', 'message' => 'The specified device does not exist.', 'http_code' => 400, 'description' => 'The specified device does not exist.'], ['code' => 'iot.device.NotExistedDeviceInNameArray', 'message' => 'The specified device in device name list does not exist.', 'http_code' => 400, 'description' => 'The specified device in device name list does not exist.'], ['code' => 'iot.device.NotExistedThingConfig', 'message' => 'The specified device has not been configured.', 'http_code' => 400, 'description' => 'The specified device has not been configured.'], ['code' => 'iot.Device.NotExstedDevice', 'message' => 'This device does not exist.', 'http_code' => 400, 'description' => 'This device does not exist.'], ['code' => 'iot.device.NotFoundChannel', 'message' => 'The specified sub-device channel does not exist.', 'http_code' => 400, 'description' => 'The specified sub-device channel does not exist.'], ['code' => 'iot.device.NotFoundDeviceConnectionConfigCode', 'message' => 'The specified code for sub-device connection configuration does not exist.', 'http_code' => 400, 'description' => 'The specified code for sub-device connection configuration does not exist.'], ['code' => 'iot.device.NotFoundVirtualDevice', 'message' => 'The specified virtual device does not exist.', 'http_code' => 400, 'description' => 'The specified virtual device does not exist.'], ['code' => 'iot.device.NotSupportExemptionValidateType', 'message' => 'The feature does not support the specified verification type.', 'http_code' => 400, 'description' => 'The feature does not support the specified verification type.'], ['code' => 'Iot.Device.NoVehicleProtocolDevice', 'message' => 'The data must be IoV device data.', 'http_code' => 400, 'description' => 'The device non vehicle protocol data.'], ['code' => 'iot.device.NullApplyId', 'message' => 'The ApplyId parameter cannot be empty.', 'http_code' => 400, 'description' => 'The ApplyId parameter cannot be empty.'], ['code' => 'iot.device.NullApplyId', 'message' => 'create application equipment id malformed.', 'http_code' => 400, 'description' => 'create application equipment id malformed.'], ['code' => 'iot.device.NullAuthParameters', 'message' => 'You must specify an authentication parameter.', 'http_code' => 400, 'description' => 'You must specify an authentication parameter.'], ['code' => 'iot.device.NullAuthType', 'message' => 'You must specify an authentication type.', 'http_code' => 400, 'description' => 'You must specify an authentication type.'], ['code' => 'iot.device.NullCertBindList', 'message' => 'The certificate binding information is not specified.', 'http_code' => 400, 'description' => 'The certificate binding information is not specified.'], ['code' => 'iot.device.NullDestFirmwareName', 'message' => 'You must specify a target firmware name.', 'http_code' => 400, 'description' => 'You must specify a target firmware name.'], ['code' => 'iot.device.NullDevEui', 'message' => 'You must specify a DevEui.', 'http_code' => 400, 'description' => 'You must specify a DevEui.'], ['code' => 'iot.device.NullDeviceName', 'message' => 'The DeviceName parameter cannot be empty.', 'http_code' => 400, 'description' => 'The DeviceName parameter cannot be empty.'], ['code' => 'iot.device.NullDeviceName', 'message' => 'The deviceName is empty.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.device.NullDeviceName', 'message' => 'The device name s empty.', 'http_code' => 400, 'description' => 'The device name s empty.'], ['code' => 'iot.device.NullDeviceName', 'message' => 'The ProductKey or DeviceName parameter cannot be empty.', 'http_code' => 400, 'description' => 'The ProductKey or DeviceName parameter cannot be empty.'], ['code' => 'iot.device.NullDeviceNameInNameArray', 'message' => 'The DeviceName list contains empty device names.', 'http_code' => 400, 'description' => 'The DeviceName list contains empty device names.'], ['code' => 'iot.device.NullDevicePropertiesString', 'message' => 'The device property is empty.', 'http_code' => 400, 'description' => 'The device property is empty.'], ['code' => 'iot.device.NullDevicePropertyKey', 'message' => 'The device property name is empty.', 'http_code' => 400, 'description' => 'The device property name is empty.'], ['code' => 'iot.device.NullDevicePropertyValue', 'message' => 'The device property value is empty.', 'http_code' => 400, 'description' => 'The device property value is empty.'], ['code' => 'iot.device.NullFileId', 'message' => 'The FileId parameter cannot be empty.', 'http_code' => 400, 'description' => 'The FileId parameter cannot be empty.'], ['code' => 'iot.device.NullFromTime', 'message' => 'You must specify a start time.', 'http_code' => 400, 'description' => 'You must specify a start time.'], ['code' => 'iot.device.NullIoTId', 'message' => 'The device ID cannot be empty.', 'http_code' => 400, 'description' => 'The device ID cannot be empty.'], ['code' => 'iot.device.NullIoTIdAndPkDn', 'message' => 'The deviceId, productKey and deviceName parameters cannot be empty at the same time.', 'http_code' => 400, 'description' => 'The deviceId, productKey and deviceName parameters cannot be empty at the same time.'], ['code' => 'iot.device.NullLoraNodeType', 'message' => 'You must specify the loraNodeType parameter.', 'http_code' => 400, 'description' => 'You must specify the loraNodeType parameter.'], ['code' => 'iot.device.NullPinCode', 'message' => 'You must specify a PinCode.', 'http_code' => 400, 'description' => 'You must specify a PinCode.'], ['code' => 'iot.device.NullPropertyLabel', 'message' => 'You must specify a device property.', 'http_code' => 400, 'description' => 'You must specify a device property.'], ['code' => 'iot.device.NullTaskId', 'message' => 'You must specify a task ID.', 'http_code' => 400, 'description' => 'You must specify a task ID.'], ['code' => 'iot.device.NullTaskId', 'message' => 'The productKey is empty.', 'http_code' => 400, 'description' => 'The productKey is empty.'], ['code' => 'iot.device.NullToTime', 'message' => 'You must specify an end time.', 'http_code' => 400, 'description' => 'You must specify an end time.'], ['code' => 'iot.device.OfflineDevice', 'message' => 'The device is offline.', 'http_code' => 400, 'description' => 'The device is offline.'], ['code' => 'iot.device.PageTokenIsIllegal', 'message' => 'The paging token is invalid.', 'http_code' => 400, 'description' => 'The paging token is invalid.'], ['code' => 'iot.device.PageTokenIsIllegal', 'message' => 'The page token is illegal.', 'http_code' => 400, 'description' => 'The page token is illegal.'], ['code' => 'iot.device.PartialDeviceIsNotExisted', 'message' => 'Some of the queried devices do not exist.', 'http_code' => 400, 'description' => 'Some of the queried devices do not exist.'], ['code' => 'iot.device.PostEventsFailed', 'message' => 'An error occurred while pushing events from the virtual device.', 'http_code' => 400, 'description' => 'An error occurred while pushing events from the virtual device.'], ['code' => 'iot.device.PostPropertiesFailed', 'message' => 'An error occurred while pushing properties from the virtual device.', 'http_code' => 400, 'description' => 'An error occurred while pushing properties from the virtual device.'], ['code' => 'iot.device.ProductHasDeviceAuthorizations', 'message' => 'The product contains devices that have been assigned to other tenants. Cancel the device authorization first.', 'http_code' => 400, 'description' => 'The product contains devices that have been assigned to other tenants. Cancel the device authorization first.'], ['code' => 'iot.device.PropertyInVersionsNotFoundInItems', 'message' => 'Property in Versions parameter is not found in Items parameter.', 'http_code' => 400, 'description' => 'Property in Versions parameter is not found in Items parameter'], ['code' => 'iot.device.PropertyLabelCountExceed', 'message' => 'The number of property tags exceeds 100.', 'http_code' => 400, 'description' => 'The number of property tags exceeds 100.'], ['code' => 'iot.device.PropertyLabelNotJsonFormat', 'message' => 'The property tag is not in the JSON format.', 'http_code' => 400, 'description' => 'The property tag is not in the JSON format.'], ['code' => 'iot.device.PropertyLabelStringSizeExceed', 'message' => 'The device property tag exceeds the length limit.', 'http_code' => 400, 'description' => 'The device property tag exceeds the length limit.'], ['code' => 'iot.device.PropertyLabelUpdateFailed', 'message' => 'The device property tag is not in the JSON format.', 'http_code' => 400, 'description' => 'The device property tag is not in the JSON format.'], ['code' => 'iot.device.PushThingConfigFailed', 'message' => 'An error occurred while pushing the device configuration.', 'http_code' => 400, 'description' => 'An error occurred while pushing the device configuration.'], ['code' => 'iot.device.PushThingConfigFrequently', 'message' => 'The TSL configurations are pushed too frequently.', 'http_code' => 400, 'description' => 'The TSL configurations are pushed too frequently.'], ['code' => 'iot.device.PushThingSwitchClosed', 'message' => 'The specified pushing feature has not been enabled.', 'http_code' => 400, 'description' => 'The specified pushing feature has not been enabled.'], ['code' => 'iot.device.PushThingTooFrequently', 'message' => 'Wait for the changes to take effect before you configure the device pushing settings again.', 'http_code' => 400, 'description' => 'Wait for the changes to take effect before you configure the device pushing settings again.'], ['code' => 'iot.device.QueryAppliedDeviceActionError', 'message' => 'An error occurred while querying the devices by using multiple pages.', 'http_code' => 400, 'description' => 'An error occurred while querying the devices by using multiple pages.'], ['code' => 'iot.device.QueryApplyInfoFailed', 'message' => 'An error occurred while querying the batch information.', 'http_code' => 400, 'description' => 'An error occurred while querying the batch information.'], ['code' => 'iot.device.QueryBatchApplyDeviceListActionError', 'message' => 'An error occurred while retrieving the certificates for multiple devices.', 'http_code' => 400, 'description' => 'An error occurred while retrieving the certificates for multiple devices.'], ['code' => 'iot.device.QueryBatchRegisterDeviceCertStatusFailed', 'message' => 'An error occurred while querying the certificates of registered devices.', 'http_code' => 400, 'description' => 'An error occurred while querying the certificates of registered devices.'], ['code' => 'iot.device.QueryBatchRegisterDeviceStatusFailed', 'message' => 'An error occurred while querying the status of registered devices.', 'http_code' => 400, 'description' => 'An error occurred while querying the status of registered devices.'], ['code' => 'iot.device.QueryChannelConfigError', 'message' => 'An error occurred while querying the sub-device channel.', 'http_code' => 400, 'description' => 'An error occurred while querying the sub-device channel.'], ['code' => 'iot.device.QueryDeviceApplyActionError', 'message' => 'An error occurred while querying the device application.', 'http_code' => 400, 'description' => 'An error occurred while querying the device application.'], ['code' => 'iot.device.QueryDeviceAttrDataHistoryFailed', 'message' => 'An error occurred while querying the historical properties.', 'http_code' => 400, 'description' => 'An error occurred while querying the historical properties.'], ['code' => 'iot.device.QueryDeviceAttrStatusFailed', 'message' => 'An error occurred while querying the status of the device property.', 'http_code' => 400, 'description' => 'An error occurred while querying the status of the device property.'], ['code' => 'iot.device.QueryDeviceBatchInfoActionError', 'message' => 'An error occurred while querying batch information.', 'http_code' => 400, 'description' => 'An error occurred while querying batch information.'], ['code' => 'iot.device.QueryDeviceBatchListActionError', 'message' => 'An error occurred while querying the batches.', 'http_code' => 400, 'description' => 'An error occurred while querying the batches.'], ['code' => 'iot.device.QueryDeviceConnectionConfigError', 'message' => 'An error occurred while querying the connection configuration information of the sub-device.', 'http_code' => 400, 'description' => 'An error occurred while querying the connection configuration information of the sub-device.'], ['code' => 'iot.device.QueryDeviceDesiredPropertyFailed', 'message' => 'Failed to query device desired property.', 'http_code' => 400, 'description' => 'Failed to query device desired property'], ['code' => 'iot.device.QueryDeviceEventHistoryFailed', 'message' => 'An error occurred while querying the device events.', 'http_code' => 400, 'description' => 'An error occurred while querying the device events.'], ['code' => 'iot.device.QueryDeviceFileFailed', 'message' => 'Failed to obtain the uploaded device file.', 'http_code' => 400, 'description' => 'Failed to obtain the uploaded device file.'], ['code' => 'iot.device.QueryDeviceFileFailed', 'message' => 'Query device file information failed.', 'http_code' => 400, 'description' => 'Query device file information failed'], ['code' => 'iot.device.QueryDeviceFileFailed', 'message' => 'Query device file information failed', 'http_code' => 400, 'description' => 'Query device file information failed'], ['code' => 'iot.device.QueryDeviceFileStorageFailed', 'message' => 'Failed to query the storage information of the device file.', 'http_code' => 400, 'description' => 'Failed to query the storage information of the device file.'], ['code' => 'iot.device.QueryDeviceIpAndStatusActionError', 'message' => 'An error occurred while querying the device IP address and status.', 'http_code' => 400, 'description' => 'An error occurred while querying the device IP address and status.'], ['code' => 'iot.device.QueryDeviceListActionError', 'message' => 'An error occurred while querying the devices.', 'http_code' => 400, 'description' => 'An error occurred while querying the devices.'], ['code' => 'iot.device.QueryDeviceListActionInvalidToken', 'message' => 'The nextToken parameter is invalid.', 'http_code' => 400, 'description' => 'The nextToken parameter is invalid.'], ['code' => 'iot.device.QueryDeviceListOffsetLimit', 'message' => 'The offset exceeds the limit while querying devices. Set nextToken.', 'http_code' => 400, 'description' => 'The offset exceeds the limit while querying devices. Set nextToken.'], ['code' => 'iot.device.QueryDeviceListRateLimit', 'message' => 'The server is busy when you query devices. Try again.', 'http_code' => 400, 'description' => 'The server is busy when you query devices. Try again.'], ['code' => 'iot.device.QueryDeviceLogError', 'message' => 'An error occurred while querying the device logs.', 'http_code' => 400, 'description' => 'An error occurred while querying the device logs.'], ['code' => 'iot.device.QueryDeviceServiceHistoryFailed', 'message' => 'An error occurred while querying the calling records of the device service.', 'http_code' => 400, 'description' => 'An error occurred while querying the calling records of the device service.'], ['code' => 'iot.device.QueryDeviceSnapshotFailed', 'message' => 'An error occurred while querying the device snapshot.', 'http_code' => 400, 'description' => 'An error occurred while querying the device snapshot.'], ['code' => 'iot.device.QueryDeviceStatisticsFailed', 'message' => 'An error occurred while querying the device statistics.', 'http_code' => 400, 'description' => 'An error occurred while querying the device statistics.'], ['code' => 'iot.device.QueryDeviceStatusFailed', 'message' => 'An error occurred while querying the device status.', 'http_code' => 400, 'description' => 'An error occurred while querying the device status.'], ['code' => 'iot.device.QueryDeviceX509CertInfoError', 'message' => 'Failed to query the X.509 certificate of the device.', 'http_code' => 400, 'description' => 'Failed to query the X.509 certificate of the device.'], ['code' => 'iot.device.QueryDeviceX509CertInfoError', 'message' => 'Query ingress device X.509 certificate failed', 'http_code' => 400, 'description' => 'Query ingress device X.509 certificate failed'], ['code' => 'iot.device.QueryDeviceX509CertUrlError', 'message' => 'Failed to query the download URL of the X.509 certificate.', 'http_code' => 400, 'description' => 'Failed to query the download URL of the X.509 certificate.'], ['code' => 'iot.device.QueryDeviceX509CertUrlError', 'message' => 'Query Ingx.509 certificate download link failed', 'http_code' => 400, 'description' => 'Query Ingx.509 certificate download link failed'], ['code' => 'iot.device.QueryFileStoreUsedCapacityFailed', 'message' => 'Failed to get the size of files uploaded by the device.', 'http_code' => 400, 'description' => 'Failed to get the size of files uploaded by the device.'], ['code' => 'iot.device.QueryProductDeviceNumFailed', 'message' => 'An error occurred while querying the number of devices under a product.', 'http_code' => 400, 'description' => 'An error occurred while querying the number of devices under a product.'], ['code' => 'iot.device.QueryServerConfigError', 'message' => 'An error occurred while querying the sub-device channel.', 'http_code' => 400, 'description' => 'An error occurred while querying the sub-device channel.'], ['code' => 'iot.device.QueryServerSubDeviceCountError', 'message' => 'An error occurred while obtaining the number of sub-devices associated with the channel.', 'http_code' => 400, 'description' => 'An error occurred while obtaining the number of sub-devices associated with the channel.'], ['code' => 'iot.device.QuerySubDevicePageActionError', 'message' => 'An error occurred while querying the sub-devices by using multiple pages.', 'http_code' => 400, 'description' => 'An error occurred while querying the sub-devices by using multiple pages.'], ['code' => 'iot.device.QueryThingConfigFailed', 'message' => 'An error occurred while querying the device configuration.', 'http_code' => 400, 'description' => 'An error occurred while querying the device configuration.'], ['code' => 'iot.device.QueryTopoRelationFailed', 'message' => 'An error occurred while querying topological relationships.', 'http_code' => 400, 'description' => 'An error occurred while querying topological relationships.'], ['code' => 'iot.device.QueryVirtualDeviceError', 'message' => 'An error occurred while querying virtual device information.', 'http_code' => 400, 'description' => 'An error occurred while querying virtual device information.'], ['code' => 'iot.device.RegionNotSupportDynamicGroup', 'message' => 'The region does not currently support the dynamic group feature.', 'http_code' => 400, 'description' => 'The region does not currently support the dynamic group feature.'], ['code' => 'iot.device.RegionNotSupportX509', 'message' => 'The X.509 certificates are unavailable in this region.', 'http_code' => 400, 'description' => 'The X.509 certificates are unavailable in this region.'], ['code' => 'iot.device.RegionNotSupportX509', 'message' => 'The region does not currently support the x509 feature', 'http_code' => 400, 'description' => 'The region does not currently support the x509 feature'], ['code' => 'iot.device.RegionNotSupportX509.', 'message' => 'The X.509 certificates are unavailable in this region.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.device.RemoveNodeFailed', 'message' => 'Failed to delete the LoRa device.', 'http_code' => 400, 'description' => 'Failed to delete the LoRa device.'], ['code' => 'iot.device.RemoveTopoRelationFailed', 'message' => 'An error occurred while removing the topological relationship.', 'http_code' => 400, 'description' => 'An error occurred while removing the topological relationship.'], ['code' => 'iot.device.ResetDeviceFailed', 'message' => 'An error occurred while resetting the device.', 'http_code' => 400, 'description' => 'An error occurred while resetting the device.'], ['code' => 'iot.device.SaveOrUpdateDevicePropertiesFailed', 'message' => 'An error occurred while adding or modifying the device property.', 'http_code' => 400, 'description' => 'An error occurred while adding or modifying the device property.'], ['code' => 'iot.device.ServerConfigBindSubDevice', 'message' => 'The channel is bound to the sub-device.', 'http_code' => 400, 'description' => 'The channel is bound to the sub-device.'], ['code' => 'iot.device.SetDeviceDesiredPropertyFailed', 'message' => 'Failed to set the desired property value.', 'http_code' => 400, 'description' => 'Failed to set the desired property value.'], ['code' => 'iot.device.SetDevicePropertyFailed', 'message' => 'An error occurred while setting the device properties.', 'http_code' => 400, 'description' => 'An error occurred while setting the device properties.'], ['code' => 'iot.device.SetVirtualDevicePropertyFailed', 'message' => 'Failed to set the property for the virtual device.', 'http_code' => 400, 'description' => 'Failed to set the property for the virtual device.'], ['code' => 'iot.device.SomeDeviceInvalid', 'message' => 'One or more devices are invalid.', 'http_code' => 400, 'description' => 'One or more devices are invalid.'], ['code' => 'iot.device.SubmitNodesAddingTaskFailed', 'message' => 'Failed to add multiple LoRa devices at the same time.', 'http_code' => 400, 'description' => 'Failed to add multiple LoRa devices at the same time.'], ['code' => 'iot.device.ThingIdListSizeExceed', 'message' => 'The size of the ThingId list exceeds the limit.', 'http_code' => 400, 'description' => 'The size of the ThingId list exceeds the limit.'], ['code' => 'iot.device.ToBeforeForm', 'message' => 'The end time cannot be earlier than the start time.', 'http_code' => 400, 'description' => 'The end time cannot be earlier than the start time.'], ['code' => 'iot.device.TooManyDeviceIotIdPerRequest', 'message' => 'The number of devices you query exceeds the limit.', 'http_code' => 400, 'description' => 'The number of devices you query exceeds the limit.'], ['code' => 'iot.device.TooManyDeviceNamesPerRequest', 'message' => 'The devices you query exceed the maximum number.', 'http_code' => 400, 'description' => 'The devices you query exceed the maximum number.'], ['code' => 'iot.device.TooManyDevicePropertiesPerTime', 'message' => 'The number of device properties exceeds the limit.', 'http_code' => 400, 'description' => 'The number of device properties exceeds the limit.'], ['code' => 'iot.device.TooManyElementInArray', 'message' => 'The list contains too much data.', 'http_code' => 400, 'description' => 'The list contains too much data.'], ['code' => 'iot.device.TooManyElementInArray', 'message' => 'The list size exceed the max number.', 'http_code' => 400, 'description' => 'The list size exceed the max number.'], ['code' => 'iot.device.TopoRelationCountExceeded', 'message' => 'The number of topological relationships exceeds the limit.', 'http_code' => 400, 'description' => 'The number of topological relationships exceeds the limit.'], ['code' => 'iot.device.TopoRelationNotFound', 'message' => 'The topological relationship does not exist.', 'http_code' => 400, 'description' => 'The topological relationship does not exist.'], ['code' => 'iot.device.TopoRelationNotMatch', 'message' => 'The topological relationships does not match.', 'http_code' => 400, 'description' => 'The topological relationships does not match.'], ['code' => 'iot.device.UnsupportedThingAuthentication', 'message' => 'The IoT authentication method is unsupported.', 'http_code' => 400, 'description' => 'The IoT authentication method is unsupported.'], ['code' => 'iot.device.UpdateChildDeviceConfigFailed', 'message' => 'An error occurred while updating the sub-device connection configuration.', 'http_code' => 400, 'description' => 'An error occurred while updating the sub-device connection configuration.'], ['code' => 'iot.device.UpdateDeviceNicknameFailed', 'message' => 'Failed to modify the device alias.', 'http_code' => 400, 'description' => 'Failed to modify the device alias.'], ['code' => 'iot.device.UpdateProductDataForwardStatusFailed', 'message' => 'Failed to update the data forwarding status.', 'http_code' => 400, 'description' => 'Failed to update the data forwarding status.'], ['code' => 'iot.device.UpdateThingConfigFailed', 'message' => 'Failed to update the device or product configurations.', 'http_code' => 400, 'description' => 'Failed to update the device or product configurations.'], ['code' => 'iot.device.VerifyDeviceFailed', 'message' => 'An error occurred while verifying the device.', 'http_code' => 400, 'description' => 'An error occurred while verifying the device.'], ['code' => 'iot.device.VerifySignFailed', 'message' => 'Failed to verify the signature.', 'http_code' => 400, 'description' => 'Failed to verify the signature.'], ['code' => 'iot.device.VerifyThingAuthenticationFailed', 'message' => 'An error occurred while verifying the device authentication type.', 'http_code' => 400, 'description' => 'An error occurred while verifying the device authentication type.'], ['code' => 'iot.device.VirtualDeviceIsNotConnected', 'message' => 'The specified virtual device has not been started.', 'http_code' => 400, 'description' => 'The specified virtual device has not been started.'], ['code' => 'iot.deviceops.NoMessage', 'message' => 'No message.', 'http_code' => 400, 'description' => 'No message found.'], ['code' => 'iot.deviceops.ParamCheckError', 'message' => 'Param check error.', 'http_code' => 400, 'description' => 'The system failed to verify the value of the parameter.'], ['code' => 'iot.deviceops.ReplayTaskIsFinished', 'message' => 'Replay task is finished.', 'http_code' => 400, 'description' => 'The retrieval task is completed.'], ['code' => 'iot.deviceops.ReplayTaskIsStopped', 'message' => 'Replay task is stopped.', 'http_code' => 400, 'description' => 'The retrieval task is stopped.'], ['code' => 'iot.deviceops.ReplayTaskNotExist', 'message' => 'Replay task not exist.', 'http_code' => 400, 'description' => 'The retrieval task does not exist.'], ['code' => 'iot.deviceops.RunningTaskExceedLimit', 'message' => 'Running task exceed limit.', 'http_code' => 400, 'description' => 'The number of running tasks exceeds the limit.'], ['code' => 'iot.deviceops.SystemError', 'message' => 'System error.', 'http_code' => 400, 'description' => 'A system exception occurred.'], ['code' => 'iot.deviceprint.DeviceNotActived', 'message' => 'device not actived.', 'http_code' => 400, 'description' => 'device not actived.'], ['code' => 'iot.deviceprint.DeviceNotActived', 'message' => 'device not actived', 'http_code' => 400, 'description' => 'device not actived'], ['code' => 'iot.deviceprint.DeviceOffline', 'message' => 'device is offline.', 'http_code' => 400, 'description' => 'device is offline.'], ['code' => 'iot.deviceprint.DeviceOffline', 'message' => 'device is offline', 'http_code' => 400, 'description' => 'device is offline'], ['code' => 'iot.deviceprint.InvalidDevice', 'message' => 'invalid device to print.', 'http_code' => 400, 'description' => 'invalid device to print.'], ['code' => 'iot.deviceprint.InvalidDevice', 'message' => 'invalid device to print', 'http_code' => 400, 'description' => 'invalid device to print'], ['code' => 'iot.deviceprint.MismatchingPrintId', 'message' => 'mismatching device print id.', 'http_code' => 400, 'description' => 'mismatching device print id.'], ['code' => 'iot.deviceprint.MismatchingPrintId', 'message' => 'mismatching device print id', 'http_code' => 400, 'description' => 'mismatching device print id'], ['code' => 'iot.deviceprint.PrintingParamsError', 'message' => 'printing params error.', 'http_code' => 400, 'description' => 'printing params error.'], ['code' => 'iot.deviceprint.PrintingParamsError', 'message' => 'printing params error', 'http_code' => 400, 'description' => 'printing params error'], ['code' => 'iot.deviceprint.PrintingParamsRequired', 'message' => 'printing param required.', 'http_code' => 400, 'description' => 'printing param required.'], ['code' => 'iot.deviceprint.PrintingParamsRequired', 'message' => 'printing param required', 'http_code' => 400, 'description' => 'printing param required'], ['code' => 'iot.deviceprint.PrintingTemplateNotExists', 'message' => 'printing template not exists.', 'http_code' => 400, 'description' => 'printing template not exists.'], ['code' => 'iot.deviceprint.PrintingTemplateNotExists', 'message' => 'printing template not exists', 'http_code' => 400, 'description' => 'printing template not exists'], ['code' => 'iot.deviceprint.ProjectHasStopped', 'message' => 'project has stopped.', 'http_code' => 400, 'description' => 'project has stopped.'], ['code' => 'iot.deviceprint.ProjectHasStopped', 'message' => 'project has stopped', 'http_code' => 400, 'description' => 'project has stopped'], ['code' => 'iot.deviceprint.ProjectNotFound', 'message' => 'project not found.', 'http_code' => 400, 'description' => 'project not found.'], ['code' => 'iot.deviceprint.ProjectNotFound', 'message' => 'project not found', 'http_code' => 400, 'description' => 'project not found'], ['code' => 'iot.deviceprint.RequestLimit', 'message' => 'too much request.', 'http_code' => 400, 'description' => 'too much request.'], ['code' => 'iot.deviceprint.RequestLimit', 'message' => 'too much request', 'http_code' => 400, 'description' => 'too much request'], ['code' => 'iot.deviceprint.UnknownResponse', 'message' => 'unknown device print response.', 'http_code' => 400, 'description' => 'unknown device print response.'], ['code' => 'iot.deviceprint.UnknownResponse', 'message' => 'unknown device print response', 'http_code' => 400, 'description' => 'unknown device print response'], ['code' => 'iot.devicesearch.InvalidDeviceExportBySQLTaskId', 'message' => 'The task ID is invalid.', 'http_code' => 400, 'description' => 'The task ID is invalid.'], ['code' => 'iot.devicesearch.InvalidSQLConditionError', 'message' => 'The SQL statement contains too many conditions.', 'http_code' => 400, 'description' => 'The SQL statement contains too many conditions.'], ['code' => 'iot.devicesearch.InvalidSQLError', 'message' => 'The SQL statement is invalid.', 'http_code' => 400, 'description' => 'The SQL statement is invalid.'], ['code' => 'iot.devicesearch.InvalidSQLFieldError', 'message' => 'The SQL statement contains invalid field names.', 'http_code' => 400, 'description' => 'The SQL statement contains invalid field names.'], ['code' => 'iot.devicesearch.InvalidSQLIdentfierError', 'message' => 'The TSL identifier is not configured.', 'http_code' => 400, 'description' => 'The TSL identifier is not configured.'], ['code' => 'iot.devicesearch.InvalidSQLOffsetError', 'message' => 'The SQL offset is invalid.', 'http_code' => 400, 'description' => 'The SQL offset is invalid.'], ['code' => 'iot.devicesearch.InvalidSQLOperatorTypeError', 'message' => 'The operator and data type in the SQL statement do not match.', 'http_code' => 400, 'description' => 'The operator and data type in the SQL statement do not match.'], ['code' => 'iot.devicesearch.InvalidSQLOrderError', 'message' => 'The SQL statement contains invalid ORDER BY conditions.', 'http_code' => 400, 'description' => 'The SQL statement contains invalid ORDER BY conditions.'], ['code' => 'iot.devicesearch.InvalidSQLParamError', 'message' => 'The SQL syntax is unsupported.', 'http_code' => 400, 'description' => 'The SQL syntax is not supported.'], ['code' => 'iot.devicesearch.NoResultToExportError', 'message' => 'No devices are available.', 'http_code' => 400, 'description' => 'No devices are available.'], ['code' => 'iot.devicespeech.DeviceNotActived', 'message' => 'device not actived.', 'http_code' => 400, 'description' => 'device not actived.'], ['code' => 'iot.devicespeech.DeviceOffline', 'message' => 'device is offline.', 'http_code' => 400, 'description' => 'device is offline.'], ['code' => 'iot.devicespeech.InvalidAudioFormat', 'message' => 'invalid audio format.', 'http_code' => 400, 'description' => 'invalid audio format.'], ['code' => 'iot.devicespeech.InvalidDevice', 'message' => 'invalid device to speech.', 'http_code' => 400, 'description' => 'invalid device to speech.'], ['code' => 'iot.devicespeech.InvalidDeviceId', 'message' => 'invalid iot device id.', 'http_code' => 400, 'description' => 'invalid iot device id.'], ['code' => 'iot.devicespeech.InvalidDeviceId', 'message' => 'invalid iot device id', 'http_code' => 400, 'description' => 'invalid iot device id'], ['code' => 'iot.devicespeech.InvalidLicenseDevice', 'message' => 'invalid speech license device.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.devicespeech.InvalidProductKeyAndDeviceName', 'message' => 'invalid productKey and deviceName.', 'http_code' => 400, 'description' => 'invalid productKey and deviceName.'], ['code' => 'iot.devicespeech.InvalidProductKeyAndDeviceName', 'message' => 'invalid productKey and deviceName', 'http_code' => 400, 'description' => 'invalid productKey and deviceName'], ['code' => 'iot.devicespeech.InvalidSpeechId', 'message' => 'invalid device speech id.', 'http_code' => 400, 'description' => 'invalid device speech id.'], ['code' => 'iot.devicespeech.ProjectNotFound', 'message' => 'project not found.', 'http_code' => 400, 'description' => 'project not found.'], ['code' => 'iot.devicespeech.RequestLimit', 'message' => 'too much request.', 'http_code' => 400, 'description' => 'too much request.'], ['code' => 'iot.devicespeech.SpeechModelNotExist', 'message' => 'speech model not exist.', 'http_code' => 400, 'description' => 'speech model not exist.'], ['code' => 'iot.devicespeech.ThingModelNotDefine', 'message' => 'thing model not define.', 'http_code' => 400, 'description' => 'thing model not define.'], ['code' => 'iot.devicespeech.UnknownError', 'message' => 'unknown device speech error.', 'http_code' => 400, 'description' => 'unknown device speech error.'], ['code' => 'Iot.digitaltwin.ancestorNodeNotExist', 'message' => 'The ancestor node does not exist.', 'http_code' => 400, 'description' => 'The ancestor node does not exist.'], ['code' => 'Iot.digitaltwin.commandExecuteTimeout', 'message' => 'Execution timed out.', 'http_code' => 400, 'description' => 'The request execution has timed out. Try again later.'], ['code' => 'Iot.digitaltwin.commandRequestReject', 'message' => 'The request was rejected.', 'http_code' => 400, 'description' => 'The request was rejected.'], ['code' => 'iot.digitaltwin.commandShortCircuited', 'message' => 'Short circuited', 'http_code' => 400, 'description' => 'Short Circuit'], ['code' => 'Iot.digitaltwin.componentFormatError', 'message' => 'Component format error.', 'http_code' => 400, 'description' => 'The format is invalid. You must specify a value in the JSON format.'], ['code' => 'Iot.digitaltwin.componentNumberOverLimit', 'message' => 'The number of components has exceeded the limit.', 'http_code' => 400, 'description' => 'The number of widgets exceeds the limit.'], ['code' => 'Iot.digitaltwin.componentParamsError', 'message' => 'Component params error: %s.', 'http_code' => 400, 'description' => 'The value does not comply with the component specification: %s.'], ['code' => 'Iot.digitaltwin.createDeviceFailed', 'message' => 'Failed to create the device.', 'http_code' => 400, 'description' => 'Failed to create the device.'], ['code' => 'Iot.digitaltwin.createDeviceNodeFailed', 'message' => 'Create device failed. Try again.', 'http_code' => 400, 'description' => 'Failed to create the device. Try again later.'], ['code' => 'Iot.digitaltwin.createNodeFailed', 'message' => 'Failed to create GDB node.', 'http_code' => 400, 'description' => 'Failed to create GDB node.'], ['code' => 'Iot.digitaltwin.DataSourceItemNotExists', 'message' => 'The data source item does not exist.', 'http_code' => 400, 'description' => 'The error message returned because the sub-item of the data source does not exist.'], ['code' => 'Iot.digitaltwin.DataSourceNotExists', 'message' => 'The data source does not exist.', 'http_code' => 400, 'description' => 'The error message returned because the data source does not exist.'], ['code' => 'Iot.digitaltwin.DataSourceOverLimit', 'message' => 'The number of data sources has exceeded the limit.', 'http_code' => 400, 'description' => 'The number of data sources in the data destination exceeds the limit.'], ['code' => 'Iot.digitaltwin.dataTableConfigError', 'message' => 'A data table can only be related with one mapping configuration.', 'http_code' => 400, 'description' => 'The table can be associated with only one twin mapping configuration.'], ['code' => 'Iot.digitaltwin.decryptError', 'message' => 'Decrypt error.', 'http_code' => 400, 'description' => 'Failed to decrypt data.'], ['code' => 'Iot.digitaltwin.defaultProductError', 'message' => 'The default product is incorrect.', 'http_code' => 400, 'description' => 'The request processing has failed.'], ['code' => 'Iot.digitaltwin.deletedNodeNumberOverMax', 'message' => 'The deleted sub node exceeds the maximum number.', 'http_code' => 400, 'description' => 'The deleted sub node exceeds the maximum number.'], ['code' => 'Iot.digitaltwin.destConfigCanNotNull', 'message' => 'Dest config cannot be null.', 'http_code' => 400, 'description' => 'Dest config cannot be null.'], ['code' => 'Iot.digitaltwin.DeviceNotActivated', 'message' => 'Device is not activated.', 'http_code' => 400, 'description' => 'The device is inactive.'], ['code' => 'Iot.digitaltwin.DeviceNotFound', 'message' => 'Device is not found.', 'http_code' => 400, 'description' => 'The device does not exist.'], ['code' => 'Iot.digitaltwin.DeviceOffline', 'message' => 'Device is offline.', 'http_code' => 400, 'description' => 'The device is offline.'], ['code' => 'Iot.digitaltwin.digestImageNotExist', 'message' => 'the digest image file is not exist in the oss bucket.', 'http_code' => 400, 'description' => 'The summary image is not uploaded. Upload the summary image and try again later.'], ['code' => 'Iot.digitaltwin.DTInstanceInvalidThingType', 'message' => 'The digital twin operation is not supported.', 'http_code' => 400, 'description' => 'You cannot call this operation to access data of the twin type.'], ['code' => 'Iot.digitaltwin.dtInstanceNumberOverLimit', 'message' => 'The number of digital twin instances is over the limit.', 'http_code' => 400, 'description' => 'The number of twin spaces exceeds the limit.'], ['code' => 'Iot.digitaltwin.DTModelInvalidName', 'message' => 'The digital twin model name is invalid.', 'http_code' => 400, 'description' => 'The digital twin model name is invalid. Please check.'], ['code' => 'Iot.digitaltwin.DTModelInvalidPath', 'message' => 'The digital twin model path is invalid.', 'http_code' => 400, 'description' => 'The digital twin model path is invalid. Please check.'], ['code' => 'Iot.digitaltwin.DTModelModelIdExisted', 'message' => 'The digital twin model ID already exists.', 'http_code' => 400, 'description' => 'The digital twin model ID already exists. Please check.'], ['code' => 'Iot.digitaltwin.DTModelModelIdNotFound', 'message' => 'The digital twin model ID is not found.', 'http_code' => 400, 'description' => 'The digital twin model ID is not found. Please check.'], ['code' => 'Iot.digitaltwin.DTModelNameDuplicated', 'message' => 'The digital twin model name is duplicated.', 'http_code' => 400, 'description' => 'The digital twin model name is duplicated. Please check.'], ['code' => 'Iot.digitaltwin.DTModelRelationExisted', 'message' => 'The digital twin model relation already exists.', 'http_code' => 400, 'description' => 'The digital twin model relation already exists.'], ['code' => 'Iot.digitaltwin.DTModelRuleCountOverLimited', 'message' => 'The maximum number of digital twin model rule is exceeded.', 'http_code' => 400, 'description' => 'The maximum number of digital twin model rule is exceeded.'], ['code' => 'Iot.digitalTwin.DTModelRuleDependencyExisted', 'message' => 'The digital twin model function contains dependency rules.', 'http_code' => 400, 'description' => 'The digital twin model function contains dependency rules. Please delete the rule first.'], ['code' => 'iot.digitaltwin.DTModelRuleDependencyExisted', 'message' => 'This digital twin model function contains dependency rules.', 'http_code' => 400, 'description' => 'The features in the digital twin model contains dependency rules. Delete the rules.'], ['code' => 'Iot.digitaltwin.DTModelRuleDuplicatedIdentifiers', 'message' => 'The input and output identifier of the digital twin model rule is duplicated.', 'http_code' => 400, 'description' => 'The input and output identifier of the digital twin model rule is duplicated.'], ['code' => 'Iot.digitaltwin.DTModelRuleDuplicatedModelName', 'message' => 'The digital twin model rule name is duplicated.', 'http_code' => 400, 'description' => 'The digital twin model rule name is duplicated. Please check.'], ['code' => 'Iot.digitaltwin.DTModelRuleDuplicatedVariables', 'message' => 'The digital twin model rule variable is duplicated.', 'http_code' => 400, 'description' => 'The digital twin model rule variable is duplicated.'], ['code' => 'Iot.digitaltwin.DTModelRuleIdNotExisted', 'message' => 'The digital twin model rule ID does not exist.', 'http_code' => 400, 'description' => 'The digital twin model rule ID does not exist. Please check.'], ['code' => 'Iot.digitaltwin.DTModelRuleInputCountOverLimit', 'message' => 'The maximum number of input thing model rules is exceeded.', 'http_code' => 400, 'description' => 'The maximum number of input thing model rules is exceeded.'], ['code' => 'Iot.digitaltwin.DTModelRuleInputIdentifierNotExisted', 'message' => 'The digital twin model rule input identifier does not exist.', 'http_code' => 400, 'description' => 'The digital twin model rule input identifier does not exist.'], ['code' => 'Iot.digitaltwin.DTModelRuleInputReferCountOverLimit', 'message' => 'The thing model rule input parameter reference count exceeds the limit.', 'http_code' => 400, 'description' => 'The thing model rule input parameter reference count exceeds the limit.'], ['code' => 'Iot.digitaltwin.DTModelRuleInvalidDataType', 'message' => 'The digital twin model rule is data type is invalid.', 'http_code' => 400, 'description' => 'The digital twin model rule is data type is invalid.'], ['code' => 'Iot.digitaltwin.DTModelRuleInvalidInputModelId', 'message' => 'The input parameter model ID in the digital twin model rule is invalid.', 'http_code' => 400, 'description' => 'The input parameter model ID in the digital twin model rule is invalid.'], ['code' => 'Iot.digitaltwin.DTModelRuleParamError', 'message' => 'The thing model rule parameter is invalid. Details: %s', 'http_code' => 400, 'description' => 'The thing model rule parameter is invalid. Details: %s'], ['code' => 'Iot.digitaltwin.DTModelRuleSyntaxError', 'message' => 'A rule expression syntax error occurred: %s.', 'http_code' => 400, 'description' => 'A rule expression syntax error occurred: %s.'], ['code' => 'iot.digitaltwin.DTTemplatedIdNotExisted', 'message' => 'The digital twin template ID does not exist.', 'http_code' => 400, 'description' => 'The digital twin template ID does not exist. Please check.'], ['code' => 'Iot.digitaltwin.DTTemplatedInvalidName', 'message' => 'The digital twin template name is invalid.', 'http_code' => 400, 'description' => 'The digital twin template name is invalid. Please check.'], ['code' => 'Iot.digitaltwin.DTTemplatedNameDuplicated', 'message' => 'The digital twin template name is duplicated.', 'http_code' => 400, 'description' => 'The digital twin template name is duplicated. Please check.'], ['code' => 'Iot.digitaltwin.DTTemplateNodesCountOverLimit', 'message' => 'The maximum number of digital twin template node is exceeded.', 'http_code' => 400, 'description' => 'The maximum number of digital twin template node is exceeded.'], ['code' => 'Iot.digitaltwin.duplicateFileName', 'message' => 'there are the same file name in the digital instance.', 'http_code' => 400, 'description' => 'The name that you specified for the file already exists. Specify another name for the file and try again later.'], ['code' => 'Iot.digitaltwin.existSceneInDtInstance', 'message' => 'Exist scene, can not delete.', 'http_code' => 400, 'description' => 'Failed to delete because a scene exists.'], ['code' => 'Iot.digitaltwin.existSceneInDtInstance', 'message' => 'Exist scene can not delete.', 'http_code' => 400, 'description' => 'Failed to delete the resource because a scene exists.'], ['code' => 'Iot.digitaltwin.expressionError', 'message' => 'Expression error: %s', 'http_code' => 400, 'description' => 'The expression is invalid: %s.'], ['code' => 'Iot.digitaltwin.expressionParamDataTypeError', 'message' => 'The data type of the expression parameter is invalid.', 'http_code' => 400, 'description' => 'The data type of the expression parameter is invalid.'], ['code' => 'Iot.digitaltwin.expressionParseError', 'message' => 'An expression parsing error occurred.', 'http_code' => 400, 'description' => 'An expression parsing error occurred.'], ['code' => 'Iot.digitaltwin.expressionResultDataTypeError', 'message' => 'The expression result data type is invalid.', 'http_code' => 400, 'description' => 'The expression result data type is invalid.'], ['code' => 'Iot.digitaltwin.expressionResultNotBool', 'message' => 'Expression result is not bool', 'http_code' => 400, 'description' => 'The expression must return a Boolean value.'], ['code' => 'Iot.digitaltwin.expressionReturnInfinity', 'message' => 'The expression result is infinite.', 'http_code' => 400, 'description' => 'The expression result is infinite.'], ['code' => 'Iot.digitaltwin.expressionReturnNaN', 'message' => 'The expression result returned NaN.', 'http_code' => 400, 'description' => 'The expression result returned NaN.'], ['code' => 'Iot.digitaltwin.expressionReturnNull', 'message' => 'The expression result is null.', 'http_code' => 400, 'description' => 'The expression result is null.'], ['code' => 'Iot.digitaltwin.generateMappingIdFailed', 'message' => 'Generating mappingId failed.', 'http_code' => 400, 'description' => 'Generating mappingId failed.'], ['code' => 'Iot.digitaltwin.generateSceneIdFailed', 'message' => 'Generate sceneId failed.', 'http_code' => 400, 'description' => 'Failed to generate an ID for the scene.'], ['code' => 'Iot.digitaltwin.getLockFailed', 'message' => 'Failed to get the lock.', 'http_code' => 400, 'description' => 'Concurrent tasks exist. Try again later.'], ['code' => 'Iot.digitaltwin.innerServiceError', 'message' => 'Querying remote service failed.', 'http_code' => 400, 'description' => 'The request failed. Try again later.'], ['code' => 'Iot.digitaltwin.instanceAuthenError', 'message' => 'A digital twin instance authentication error occurred.', 'http_code' => 400, 'description' => 'A digital twin instance authentication error occurred.'], ['code' => 'Iot.digitaltwin.instanceCreateFailed', 'message' => 'The create operation failed.', 'http_code' => 400, 'description' => 'The request processing failed. Try again later.'], ['code' => 'Iot.digitaltwin.instanceHasNoTheNode', 'message' => 'The nodeId does not belong to the instance.', 'http_code' => 400, 'description' => 'The node ID does not belong to the instance.'], ['code' => 'Iot.digitaltwin.instanceIsProcessing', 'message' => 'The instance has concurrent tasks.', 'http_code' => 400, 'description' => 'The instance has concurrent tasks. Try again later.'], ['code' => 'Iot.digitaltwin.instanceIsProcessing', 'message' => 'get the instance lock failed', 'http_code' => 400, 'description' => 'Concurrent tasks exist. Try again later.'], ['code' => 'Iot.digitaltwin.instanceNameExist', 'message' => 'The instance name already exists.', 'http_code' => 400, 'description' => 'The error message returned because the name of the tracking task already exists.'], ['code' => 'Iot.digitaltwin.instanceNameRepeat', 'message' => 'The digital twin instance name is duplicated.', 'http_code' => 400, 'description' => 'The digital twin instance name is duplicated.'], ['code' => 'Iot.digitaltwin.instanceNameRepeat', 'message' => 'The instance name is duplicated.', 'http_code' => 400, 'description' => 'The name that you specified for the twin instance already exists.'], ['code' => 'Iot.digitaltwin.instanceNodeAuthenError', 'message' => 'A digital twin node authentication error occurred.', 'http_code' => 400, 'description' => 'A digital twin node authentication error occurred. Please check.'], ['code' => 'Iot.digitaltwin.instanceNodeNotExist', 'message' => 'The node iotId does not exist.', 'http_code' => 400, 'description' => 'The node IoT ID does not exist.'], ['code' => 'Iot.digitaltwin.instanceNodeNotExist', 'message' => 'The nodeId is not exist.', 'http_code' => 400, 'description' => 'The specified node does not exist.'], ['code' => 'Iot.digitaltwin.instanceNodeNotInInstance', 'message' => 'Digital twin iotId is not in the digital twin intance.', 'http_code' => 400, 'description' => 'Digital twin iotId is not in the digital twin instance.'], ['code' => 'Iot.digitaltwin.instanceNodeNumberOverMax', 'message' => 'The node number exceeds the maximum number.', 'http_code' => 400, 'description' => 'The node number exceeds the maximum number.'], ['code' => 'Iot.digitaltwin.instanceNodesIsolated', 'message' => 'The nodeId added to the template is isolated.', 'http_code' => 400, 'description' => 'The node ID added to the template is isolated.'], ['code' => 'Iot.digitaltwin.instanceNotFound', 'message' => 'The instance does not exist.', 'http_code' => 400, 'description' => ' The instance does not exist.'], ['code' => 'Iot.digitaltwin.instanceNumberOverMax', 'message' => 'The node number exceeds the maximum value.', 'http_code' => 400, 'description' => 'The node number exceeds the maximum value.'], ['code' => 'Iot.digitaltwin.instanceOverMaxDepth', 'message' => 'The instance depth exceeds the maximum value.', 'http_code' => 400, 'description' => 'The instance depth exceeds the maximum value.'], ['code' => 'Iot.digitaltwin.instanceProcessingTaskNotExist', 'message' => 'The instance task does not exist.', 'http_code' => 400, 'description' => 'The instance task does not exist.'], ['code' => 'Iot.digitaltwin.latitudeError', 'message' => 'Latitude error.', 'http_code' => 400, 'description' => 'The latitude is invalid.'], ['code' => 'Iot.digitaltwin.longitudeError', 'message' => 'Longitude error.', 'http_code' => 400, 'description' => 'The longitude is invalid.'], ['code' => 'Iot.digitaltwin.longitudeError', 'message' => 'Longitude error', 'http_code' => 400, 'description' => 'The longitude is invalid.'], ['code' => 'Iot.digitaltwin.mappingConfigAuthenError', 'message' => 'An error occurred while verifying mapping config.', 'http_code' => 400, 'description' => 'You are not authorized to access the mapping config.'], ['code' => 'Iot.digitaltwin.mappingConfigExceedAmountLimit', 'message' => 'The number of mapping config exceeds the limit.', 'http_code' => 400, 'description' => 'The number of mapping config exceeds the limit.'], ['code' => 'Iot.digitaltwin.mappingConfigIsLocked', 'message' => 'The mapping config is locked.', 'http_code' => 400, 'description' => 'The mapping config is locked.'], ['code' => 'Iot.digitaltwin.mappingConfigNotFound', 'message' => 'Mapping config is not found.', 'http_code' => 400, 'description' => 'Mapping config is not found.'], ['code' => 'Iot.digitaltwin.mappingConfigParseError', 'message' => 'A mapping config parsing exception occurred.', 'http_code' => 400, 'description' => 'A mapping config parsing exception occurred.'], ['code' => 'Iot.digitaltwin.mappingDestConfigFormatError', 'message' => 'Mapping dest config format is invalid.', 'http_code' => 400, 'description' => 'Mapping dest config format is invalid.'], ['code' => 'Iot.digitaltwin.mappingDestConfigParseError', 'message' => 'An error occurred while parsing mapping dest config.', 'http_code' => 400, 'description' => 'An error occurred while parsing mapping dest config.'], ['code' => 'Iot.digitaltwin.mappingDestConfigSizeOverLimit', 'message' => 'Mapping dest config size exceeds the limit.', 'http_code' => 400, 'description' => 'Mapping dest config size exceeds the limit.'], ['code' => 'IoT.digitaltwin.mappingFileIsParsing', 'message' => 'The mapping file is being parsed.', 'http_code' => 400, 'description' => 'The mapping file is being parsed.'], ['code' => 'Iot.digitaltwin.mappingIdAlreadyExist', 'message' => 'The MappingId already exists.', 'http_code' => 400, 'description' => 'The MappingId already exists.'], ['code' => 'Iot.digitaltwin.mappingIdError', 'message' => 'The MappingId is invalid.', 'http_code' => 400, 'description' => 'The MappingId is invalid.'], ['code' => 'Iot.digitaltwin.mappingNameAlreadyExist', 'message' => 'The mapping name already exists.', 'http_code' => 400, 'description' => 'The mapping name already exists.'], ['code' => 'Iot.digitaltwin.mappingNameOverLength', 'message' => 'Mapping name length exceeds the limit.', 'http_code' => 400, 'description' => 'Mapping name length exceeds the limit.'], ['code' => 'Iot.digitaltwin.mappingSourceTypeError', 'message' => 'The mapping source type is invalid.', 'http_code' => 400, 'description' => 'The mapping source type is invalid.'], ['code' => 'Iot.digitaltwin.mappingSourceTypeError', 'message' => 'Mapping source type error.', 'http_code' => 400, 'description' => 'The format of the data mapping source is invalid.'], ['code' => 'Iot.digitaltwin.modelDepthOverLimit', 'message' => 'The model depth has exceeded the limit.', 'http_code' => 400, 'description' => 'The depth of the model exceeds the limit.'], ['code' => 'Iot.digitaltwin.modelNodeNumberOverLimit', 'message' => 'The number of digital twin nodes has exceeded the limit.', 'http_code' => 400, 'description' => 'The number of model nodes exceeds the limit.'], ['code' => 'Iot.digitaltwin.nameAlreadyExist', 'message' => 'Name already exists.', 'http_code' => 400, 'description' => 'The name already exists.'], ['code' => 'Iot.digitaltwin.nodeIdIsBlank', 'message' => 'The nodeId is blank.', 'http_code' => 400, 'description' => 'The node ID is blank.'], ['code' => 'Iot.digitaltwin.nodeIdRefInScene', 'message' => 'Node or subNode is referenced in scene.', 'http_code' => 400, 'description' => 'Failed to delete the node or sub-node because it is used by a scene.'], ['code' => 'Iot.digitaltwin.nodeNameRepeat', 'message' => 'The node name is the same as another sibling node.', 'http_code' => 400, 'description' => 'The node name is the same as another sibling node.'], ['code' => 'Iot.digitaltwin.nodeRelationNotExist', 'message' => 'The node relation does not exist.', 'http_code' => 400, 'description' => 'The node relation does not exist.'], ['code' => 'Iot.digitaltwin.nodeRelationParameterError', 'message' => 'The node relation parameter is invalid.', 'http_code' => 400, 'description' => 'The node relation parameter is invalid.'], ['code' => 'Iot.digitaltwin.nodeRuleInputParameterError', 'message' => 'The node rule input parameter is not sub node.', 'http_code' => 400, 'description' => 'The node rule input parameter is not sub node.'], ['code' => 'Iot.digitaltwin.nodeRuleOutputParameterError', 'message' => 'The node rule output parameter is invalid.', 'http_code' => 400, 'description' => 'The node rule output parameter is invalid.'], ['code' => 'Iot.digitaltwin.nodeTypeError', 'message' => 'Node type must be digital twin.', 'http_code' => 400, 'description' => 'Node type must be digital twin.'], ['code' => 'Iot.digitaltwin.notSupportApiDataSource', 'message' => 'APIs cannot be used as data sources.', 'http_code' => 400, 'description' => 'This edition does not support API data sources.'], ['code' => 'Iot.digitaltwin.notSupportApiDataSource', 'message' => 'API data sources are not supported.', 'http_code' => 400, 'description' => 'The error message returned because this version does not support APIs as data sources.'], ['code' => 'Iot.digitaltwin.notSupportDataPipelineDataSource', 'message' => 'Data pipelines cannot be used as data sources.', 'http_code' => 400, 'description' => 'This edition does not support data pipelines as data sources.'], ['code' => 'Iot.digitaltwin.notSupportDataTableDataSource', 'message' => 'Data tables cannot be used as data sources.', 'http_code' => 400, 'description' => 'This edition does not support tables as data sources.'], ['code' => 'Iot.digitaltwin.notSupportResourceFormat', 'message' => 'Resources in the current format is not supported.', 'http_code' => 400, 'description' => 'The resource of the format is not supported.'], ['code' => 'Iot.digitaltwin.notSupportRuleCalculation', 'message' => 'Rule-based calculation is not supported.', 'http_code' => 400, 'description' => 'This edition does not support rule computing.'], ['code' => 'Iot.digitaltwin.notSupportSceneShare', 'message' => 'Scene sharing is not supported.', 'http_code' => 400, 'description' => 'The resource of the specification does not support scene sharing.'], ['code' => 'Iot.digitaltwin.notSupportSystemResource', 'message' => 'System resources are not supported.', 'http_code' => 400, 'description' => 'The resource of the specification does not support official resource libraries.'], ['code' => 'Iot.digitaltwin.notSupportUserDefinedTopicDataSource', 'message' => 'Custom topics cannot be used as data sources.', 'http_code' => 400, 'description' => 'This edition does not support custom topics as data sources.'], ['code' => 'Iot.digitaltwin.numberOverLimit', 'message' => 'number over limit', 'http_code' => 400, 'description' => 'The specified number exceeds the limit.'], ['code' => 'Iot.digitaltwin.overFileNumberLimit', 'message' => 'the number of the resource file is over the limit.', 'http_code' => 400, 'description' => 'The number of resource files exceeds the limit. Specify a valid number.'], ['code' => 'Iot.digitaltwin.passwordError', 'message' => 'Password error.', 'http_code' => 400, 'description' => 'The password is invalid.'], ['code' => 'Iot.digitaltwin.productAuthticFailed', 'message' => 'Product authentic failed.', 'http_code' => 400, 'description' => 'Failed to authenticate the product.'], ['code' => 'Iot.digitaltwin.ProductInformationError', 'message' => 'The request parameter is invalid.', 'http_code' => 400, 'description' => 'Failed to process your request. Try again later.'], ['code' => 'Iot.digitaltwin.RequestParamError', 'message' => 'Request parameter error.', 'http_code' => 400, 'description' => 'Request parameter error. Try again later.'], ['code' => 'Iot.digitaltwin.resourceFileNotExist', 'message' => 'the resource file is not exist in the oss bucket.', 'http_code' => 400, 'description' => 'The resource file is not uploaded to OSS. Upload the resource file and try again later.'], ['code' => 'Iot.digitaltwin.resourceNumberOverLimit', 'message' => 'The number of resources has exceeded the limit.', 'http_code' => 400, 'description' => 'The number of resources exceeds the limit.'], ['code' => 'Iot.digitaltwin.rootNodeNotAllowDelete', 'message' => 'The root node cannot be deleted.', 'http_code' => 400, 'description' => 'The root node cannot be deleted.'], ['code' => 'Iot.digitaltwin.rootNodeNotAllowRename', 'message' => 'The root node cannot be renamed.', 'http_code' => 400, 'description' => 'The root node cannot be renamed.'], ['code' => 'Iot.digitalTwin.rpcInvokeFailed', 'message' => 'An RPC invoking error occurred.', 'http_code' => 400, 'description' => 'The request processing failed. Try again later.'], ['code' => 'Iot.digitaltwin.rpcInvokeTimeout', 'message' => 'Invoking RPC timed out.', 'http_code' => 400, 'description' => 'The request has timed out. Try again later.'], ['code' => 'Iot.digitaltwin.ruleConfigCreateError', 'message' => 'An exception occurred when creating a rule config.', 'http_code' => 400, 'description' => 'An exception occurred when creating a rule config.'], ['code' => 'Iot.digitaltwin.ruleConfigFileFormatError', 'message' => 'The CSV file format is invalid.', 'http_code' => 400, 'description' => 'The CSV file format is invalid.'], ['code' => 'Iot.digitaltwin.RuleConfigIsLocked', 'message' => 'The rule config is locked.', 'http_code' => 400, 'description' => 'The rule config is locked.'], ['code' => 'Iot.digitaltwin.RuleConfigIsRunning', 'message' => 'The rule import task is running. Try again later.', 'http_code' => 400, 'description' => 'The rule import task is running. Try again later.'], ['code' => 'Iot.digitaltwin.ruleConfigNotFound', 'message' => 'The rule config is not found.', 'http_code' => 400, 'description' => 'The rule config is not found.'], ['code' => 'Iot.digitaltwin.ruleConfigParseError', 'message' => 'An exception occurred when parsing the rule config.', 'http_code' => 400, 'description' => 'An exception occurred when parsing the rule config.'], ['code' => 'Iot.digitaltwin.rulengInvokeError', 'message' => 'An error occurred while invoking Ruleng.', 'http_code' => 400, 'description' => 'An error occurred while invoking Ruleng.'], ['code' => 'Iot.digitaltwin.sceneConfigAuthenError', 'message' => 'Scene config authentication error.', 'http_code' => 400, 'description' => 'Failed to authenticate the scene.'], ['code' => 'Iot.digitaltwin.sceneIdShouldNull', 'message' => 'SceneId should be null.', 'http_code' => 400, 'description' => 'The ID of the scene must be empty.'], ['code' => 'Iot.digitaltwin.sceneNameAlreadyExist', 'message' => 'Scene name already exist.', 'http_code' => 400, 'description' => 'The scenario name already exists.'], ['code' => 'Iot.digitaltwin.sceneNameRepeat', 'message' => 'Scene name repeat.', 'http_code' => 400, 'description' => 'The name that you specified for the scene already exists.'], ['code' => 'Iot.digitaltwin.sceneNotFound', 'message' => 'Scene not found.', 'http_code' => 400, 'description' => 'The scenario does not exist.'], ['code' => 'Iot.digitaltwin.sceneNumberLimit', 'message' => 'Scene number limit.', 'http_code' => 400, 'description' => 'The number of scenes exceeds the limit.'], ['code' => 'Iot.digitaltwin.sceneNumberOverLimit', 'message' => 'The number of scenes is over limit.', 'http_code' => 400, 'description' => 'The number of scenes exceeds the limit.'], ['code' => 'Iot.digitaltwin.sceneSharingNotFound', 'message' => 'Scene sharing not found.', 'http_code' => 400, 'description' => 'The scene is not shared.'], ['code' => 'Iot.digitaltwin.SignatureError', 'message' => 'Signature error.', 'http_code' => 400, 'description' => 'The signature is invalid.'], ['code' => 'Iot.digitaltwin.subModelIdRepeat', 'message' => 'The parent node has the same property as the sub node.', 'http_code' => 400, 'description' => 'The parent node has the same property as the sub node.'], ['code' => 'Iot.digitaltwin.subNodeRepeat', 'message' => 'The sub nodeId is duplicated.', 'http_code' => 400, 'description' => 'The sub node ID is duplicated.'], ['code' => 'Iot.digitaltwin.templateHasRefer', 'message' => 'The template has an instance referenced.', 'http_code' => 400, 'description' => 'The template has an instance referenced.'], ['code' => 'Iot.digitaltwin.templateNodeHasRefer', 'message' => 'The template node has a reference.', 'http_code' => 400, 'description' => 'The template node has a reference.'], ['code' => 'Iot.digitaltwin.templateNotExist', 'message' => 'The template does not exist.', 'http_code' => 400, 'description' => 'The template does not exist.'], ['code' => 'Iot.digitaltwin.templateServiceError', 'message' => 'Failed to invoke template service.', 'http_code' => 400, 'description' => 'Failed to invoke template service.'], ['code' => 'Iot.digitaltwin.TemplateUseModeError', 'message' => 'The template mode is invalid.', 'http_code' => 400, 'description' => 'The template mode is invalid.'], ['code' => 'Iot.digitaltwin.theTaskNotExist', 'message' => 'The instance task does not exist.', 'http_code' => 400, 'description' => 'The instance task does not exist.'], ['code' => 'Iot.digitaltwin.tooManyRequest', 'message' => 'Too many requests.', 'http_code' => 400, 'description' => 'The error message returned because your request was denied due to throttling.'], ['code' => 'iot.edge.InstanceNotExist', 'message' => 'The edge instance does not exist.', 'http_code' => 400, 'description' => 'The edge instance does not exist.'], ['code' => 'iot.fileupload.ConfigAmountReachLimit', 'message' => 'config amount within this product has reached the limit.', 'http_code' => 400, 'description' => 'config amount within this product has reached the limit.'], ['code' => 'iot.fileupload.ConfigExists', 'message' => 'the config with same service id exists.', 'http_code' => 400, 'description' => 'the config with same service id exists.'], ['code' => 'iot.fileupload.InvalidOssBucket', 'message' => 'oss bucket invalid.', 'http_code' => 400, 'description' => 'oss bucket invalid.'], ['code' => 'iot.fileupload.NoRightToCreateSLR', 'message' => 'No right to create this role.', 'http_code' => 400, 'description' => 'No right to create this role.'], ['code' => 'iot.fileupload.SLRExist', 'message' => 'this role for device file uploading exists', 'http_code' => 400, 'description' => 'this role for device file uploading exists'], ['code' => 'iot.firmware.AllDeviceInUpgrading', 'message' => 'All the devices are updating.', 'http_code' => 400, 'description' => 'All the devices are updating.'], ['code' => 'iot.firmware.AlreadyDeletedFirmware', 'message' => 'The firmware has been deleted.', 'http_code' => 400, 'description' => 'The firmware has been deleted.'], ['code' => 'iot.firmware.AlreadyDestVersion', 'message' => 'The current device version is the same as the version of the firmware.', 'http_code' => 400, 'description' => 'The current device version is the same as the version of the firmware.'], ['code' => 'iot.firmware.AlreadyExistedFirmwareName', 'message' => 'The OTA update package already exists.', 'http_code' => 400, 'description' => 'The OTA update package already exists.'], ['code' => 'iot.firmware.AlreadyExistedFirmwareVersion', 'message' => 'The OTA update package already exists.', 'http_code' => 400, 'description' => 'The OTA update package already exists.'], ['code' => 'iot.firmware.BadGrayPercent', 'message' => 'The phased update percentage cannot be empty.', 'http_code' => 400, 'description' => 'The phased update percentage cannot be empty.'], ['code' => 'iot.firmware.BadlyFormattedGrayPercent', 'message' => 'The format of the phased update percent is invalid.', 'http_code' => 400, 'description' => 'The format of the phased update percent is invalid.'], ['code' => 'iot.firmware.BatchCancelDeviceUpgradeFailed', 'message' => 'Failed to cancel the device update task.', 'http_code' => 400, 'description' => 'Failed to cancel the device update task.'], ['code' => 'iot.firmware.BatchDeviceUpgradeFailure', 'message' => 'The batch update failed.', 'http_code' => 400, 'description' => 'The batch update failed.'], ['code' => 'iot.firmware.BatchSpecificUpgradeDeviceFailed', 'message' => 'Failed to update specified devices.', 'http_code' => 400, 'description' => 'Failed to update specified devices.'], ['code' => 'iot.firmware.BatchUpgradeFailedFirmwareNotVerified', 'message' => 'Failed to initiate the update batch because the firmware verification is not completed.', 'http_code' => 400, 'description' => 'Failed to initiate the update batch because the firmware verification is not completed.'], ['code' => 'iot.firmware.BlankFirmwareName', 'message' => 'The OTA update package name is invalid.', 'http_code' => 400, 'description' => 'The OTA update package name is invalid.'], ['code' => 'iot.firmware.BlankFirmwareName', 'message' => 'Firmware name is blank.', 'http_code' => 400, 'description' => 'Firmware name is blank.'], ['code' => 'iot.firmware.CancelDeviceListSizeExceedMax', 'message' => 'The size of the device list exceeds the limit.', 'http_code' => 400, 'description' => 'The size of the device list exceeds the limit.'], ['code' => 'iot.firmware.CancelOptionIsMandatory', 'message' => 'The canceled option must be specified.', 'http_code' => 400, 'description' => 'The canceled option must be specified.'], ['code' => 'iot.firmware.CancelOTAStrategyByJobFailed', 'message' => 'Failed to cancel the dynamic update policy.', 'http_code' => 400, 'description' => 'Failed to cancel the dynamic update policy.'], ['code' => 'iot.firmware.CancelOTATaskByJobFailed', 'message' => 'Failed to cancel OTA update tasks in a batch.', 'http_code' => 400, 'description' => 'Failed to cancel OTA update tasks in a batch.'], ['code' => 'iot.firmware.CancelUpgradeTaskFailed', 'message' => 'Failed to cancel the update batch.', 'http_code' => 400, 'description' => 'Failed to cancel the update batch.'], ['code' => 'iot.firmware.CreateFirmwareFailure', 'message' => 'Failed to create the OTA update package.', 'http_code' => 400, 'description' => 'Failed to create the OTA update package.'], ['code' => 'iot.firmware.CreateOTAUpgradeJobFailure', 'message' => 'Failed to create OTA update task.', 'http_code' => 400, 'description' => 'Failed to create OTA update task.'], ['code' => 'iot.firmware.DeleteFirmwareFailure', 'message' => 'Failed to delete the OTA update package.', 'http_code' => 400, 'description' => 'Failed to delete the OTA update package.'], ['code' => 'iot.firmware.DeviceIsUpgrading', 'message' => 'The device is updating.', 'http_code' => 400, 'description' => 'The device is updating.'], ['code' => 'iot.firmware.DeviceUpgradeCountFailure', 'message' => 'Failed to obtain device update details.', 'http_code' => 400, 'description' => 'Failed to obtain device update details.'], ['code' => 'iot.firmware.DeviceUpgradeRecordNotFound', 'message' => 'The device is not updating.', 'http_code' => 400, 'description' => 'The device is not updating.'], ['code' => 'iot.firmware.DeviceWithDestinationVersionInArray', 'message' => 'The device version is the same as the destination version.', 'http_code' => 400, 'description' => 'The device version is the same as the destination version.'], ['code' => 'iot.firmware.DiffFirmareNotVerified', 'message' => 'The specified differential firmware is not verified.', 'http_code' => 400, 'description' => 'The specified differential firmware is not verified.'], ['code' => 'iot.firmware.DiffFirmareSizeExceeded', 'message' => 'The size of the specified differential firmware exceeds the limit.', 'http_code' => 400, 'description' => 'The size of the specified differential firmware exceeds the limit.'], ['code' => 'iot.firmware.DiffTaskCreateFailed', 'message' => 'An error occurred while creating the differential update task.', 'http_code' => 400, 'description' => 'An error occurred while creating the differential update task.'], ['code' => 'iot.firmware.DuplicateFirmwareVersionIsUnderOneProductKey', 'message' => 'The firmware with the specified version already exists in the product.', 'http_code' => 400, 'description' => 'The firmware with the specified version already exists in the product.'], ['code' => 'iot.firmware.DynamicAuthorizedProductNotSupported', 'message' => 'Dynamic update is not supported by authorized products.', 'http_code' => 400, 'description' => 'Dynamic update is not supported by authorized products.'], ['code' => 'iot.firmware.DynamicGrayNotSupported', 'message' => 'The dynamic phased update is not supported.', 'http_code' => 400, 'description' => 'The dynamic phased update is not supported.'], ['code' => 'iot.firmware.DynamicSpecificNotSupported', 'message' => 'Dynamic specific update is not supported.', 'http_code' => 400, 'description' => 'Dynamic specific update is not supported.'], ['code' => 'iot.firmware.EmptyDiffSrcFirmwares', 'message' => 'In a differential update, you must specify the firmware to be updated.', 'http_code' => 400, 'description' => 'In a differential update, you must specify the firmware to be updated.'], ['code' => 'iot.firmware.EmptyDiffTask', 'message' => 'No differential update tasks exist.', 'http_code' => 400, 'description' => 'No differential update tasks exist.'], ['code' => 'iot.firmware.EmptyFirmwareFile', 'message' => 'The file of the OTA update package is empty.', 'http_code' => 400, 'description' => 'The file of the OTA update package is empty.'], ['code' => 'iot.firmware.EmptyFirmwareFile', 'message' => 'Empty firmware file.', 'http_code' => 400, 'description' => 'Empty firmware file.'], ['code' => 'iot.firmware.EmptyFirmwareList', 'message' => 'The firmware list is empty.', 'http_code' => 400, 'description' => 'The firmware list is empty.'], ['code' => 'iot.firmware.EmptyTargetDeviceFirmwareVersionList', 'message' => 'The firmware list used to filter the target devices is empty.', 'http_code' => 400, 'description' => 'The firmware list used to filter the target devices is empty.'], ['code' => 'iot.firmware.EmptyTargetDeviceList', 'message' => 'No device is specified for the static update.', 'http_code' => 400, 'description' => 'No device is specified for the static update.'], ['code' => 'iot.firmware.FinishVerifyTaskFailure', 'message' => 'Failed to stop the firmware verification task.', 'http_code' => 400, 'description' => 'Failed to stop the firmware verification task.'], ['code' => 'iot.firmware.FireTimeMustLargeThanCurrentTime', 'message' => 'The update time must be later than current time.', 'http_code' => 400, 'description' => 'The update time must be later than current time.'], ['code' => 'iot.firmware.FireTimeMustLargeThanCurrentTime', 'message' => 'The scheduled update time must be later than current time.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.firmware.FireTimeTooLate', 'message' => 'The scheduled update time cannot be later than 7 days from the current time.', 'http_code' => 400, 'description' => 'The scheduled update time cannot be later than 7 days from the current time.'], ['code' => 'iot.firmware.FireTimeTooShort', 'message' => 'The scheduled update time cannot be earlier than 5 minutes from now.', 'http_code' => 400, 'description' => 'The scheduled update time cannot be earlier than 5 minutes from now.'], ['code' => 'iot.firmware.FirmareDescriptionIsTooLong', 'message' => 'The firmware description exceeds the maximum number of characters.', 'http_code' => 400, 'description' => 'The firmware description exceeds the maximum number of characters.'], ['code' => 'iot.firmware.FirmwareAndProductKeyMismatch', 'message' => 'The OTA update package is not consistent with the ProductKey.', 'http_code' => 400, 'description' => 'The OTA update package is not consistent with the ProductKey.'], ['code' => 'iot.firmware.FirmwareCountExceedMax', 'message' => 'The number of update packages exceeds the limit.', 'http_code' => 400, 'description' => 'The number of update packages exceeds the limit.'], ['code' => 'iot.firmware.FirmwareDescExceedLimit', 'message' => 'The description of the firmware is longer than the limit.', 'http_code' => 400, 'description' => 'The desc of firmware exceed limit.'], ['code' => 'iot.firmware.FirmwareDescriptionExceedMaxLength', 'message' => 'The description of the OTA update package exceeds the limit.', 'http_code' => 400, 'description' => 'The description of the OTA update package exceeds the limit.'], ['code' => 'iot.firmware.FirmwareDownloadFailed', 'message' => 'An error occurred while downloading the firmware.', 'http_code' => 400, 'description' => 'An error occurred while downloading the firmware.'], ['code' => 'iot.firmware.FirmwareIsNotRelatedWithProductKey', 'message' => 'The firmware is not associated with the product.', 'http_code' => 400, 'description' => 'The firmware is not associated with the product.'], ['code' => 'iot.firmware.FirmwareNotFound', 'message' => 'The specified firmware does not exist.', 'http_code' => 400, 'description' => 'The specified firmware does not exist.'], ['code' => 'iot.firmware.FirmwareNotSecurity', 'message' => 'The uploaded update package is a malicious file.', 'http_code' => 400, 'description' => 'The uploaded update package is a malicious file.'], ['code' => 'iot.firmware.FirmwareNotSecurity', 'message' => 'Firmware file does not pass the security check.', 'http_code' => 400, 'description' => 'Firmware file does not pass the security check.'], ['code' => 'iot.firmware.FirmwareNotVerified', 'message' => 'The OTA update package is not verified.', 'http_code' => 400, 'description' => 'The OTA update package is not verified.'], ['code' => 'iot.firmware.FirmwareUdiExceedLimit', 'message' => 'The UDI of the firmware is longer than the limit.', 'http_code' => 400, 'description' => 'The udi of firmware exceed limit.'], ['code' => 'iot.firmware.FirmwareUdiLengthExceed', 'message' => 'The custom information of the update package exceeds the length limit.', 'http_code' => 400, 'description' => 'The custom information of the update package exceeds the length limit.'], ['code' => 'iot.firmware.FirmwareVersionMismatch', 'message' => 'The firmware versions do not match.', 'http_code' => 400, 'description' => 'The firmware versions do not match.'], ['code' => 'iot.firmware.FirmwareVersionMismatch', 'message' => 'Firmware version mismatch.', 'http_code' => 400, 'description' => 'Firmware version mismatch.'], ['code' => 'iot.firmware.GenerateOTAUploadURLFailure', 'message' => 'Failed to generate the upload URL of the update package.', 'http_code' => 400, 'description' => 'Failed to generate the upload URL of the update package.'], ['code' => 'iot.firmware.GetDeviceFailure', 'message' => 'Failed to query the device.', 'http_code' => 400, 'description' => 'Failed to query the device.'], ['code' => 'iot.firmware.GetFirmwareFailure', 'message' => 'Failed to get firmware information.', 'http_code' => 400, 'description' => 'Failed to get firmware information.'], ['code' => 'iot.firmware.GetFirmwareVerifyFailure', 'message' => 'Failed to query the firmware verification result.', 'http_code' => 400, 'description' => 'Failed to query the firmware verification result.'], ['code' => 'iot.firmware.GetUpgradeTaskByIdFailed', 'message' => 'Failed to query the update batch details.', 'http_code' => 400, 'description' => 'Failed to query the update batch details.'], ['code' => 'iot.firmware.GrayAppliesToStaticOnly', 'message' => 'Only static updates support phased updates.', 'http_code' => 400, 'description' => 'Only static updates support phased updates.'], ['code' => 'iot.firmware.HasNotFinishedJob', 'message' => 'Some devices are not updated.', 'http_code' => 400, 'description' => 'Some devices are not updated.'], ['code' => 'iot.firmware.HasNotFinishVerificationTask', 'message' => 'Some firmware is still pending verification.', 'http_code' => 400, 'description' => 'Some firmware is still pending verification.'], ['code' => 'iot.firmware.IllegalFirmwareOperationPermission', 'message' => 'You are not authorized to perform operations on firmware.', 'http_code' => 400, 'description' => 'You are not authorized to perform operations on firmware.'], ['code' => 'iot.firmware.IncorrectDeviceUpgradeJobStatus', 'message' => 'You can cancel only the update tasks of the devices that are being updated.', 'http_code' => 400, 'description' => 'You can cancel only the update tasks of the devices that are being updated.'], ['code' => 'iot.firmware.IncorrectFormattedFirmwareName', 'message' => 'The format of the OTA update package name is invalid.', 'http_code' => 400, 'description' => 'The format of the OTA update package name is invalid.'], ['code' => 'iot.firmware.IncorrectFormattedFirmwareVersion', 'message' => 'The version format of the update package is invalid.', 'http_code' => 400, 'description' => 'The version format of the update package is invalid.'], ['code' => 'iot.firmware.IncorrectFormattedModuleName', 'message' => 'The format of the module name is invalid.', 'http_code' => 400, 'description' => 'The format of the module name is invalid.'], ['code' => 'iot.firmware.IncorrectFormattedSrcVersion', 'message' => 'The format of the source version is invalid.', 'http_code' => 400, 'description' => 'The format of the source version is invalid.'], ['code' => 'iot.firmware.IncorrectTaskStatus', 'message' => 'The update task is not running.', 'http_code' => 400, 'description' => 'The update task is not running.'], ['code' => 'iot.firmware.IncorrectTaskType', 'message' => 'The type of the update task is not firmware verification.', 'http_code' => 400, 'description' => 'The type of the update task is not firmware verification.'], ['code' => 'iot.firmware.IncrementalFirmwareNotSupported', 'message' => 'The differential firmware is not supported by the API operation.', 'http_code' => 400, 'description' => 'The differential firmware is not supported by the API operation.'], ['code' => 'iot.firmware.InProgressDynamicJobExisted', 'message' => 'The dynamic task that is running exists.', 'http_code' => 400, 'description' => 'The dynamic task that is running exists.'], ['code' => 'iot.firmware.InProgressVerifyJobExisted', 'message' => 'The uncompleted task to verify the OTA update package exists.', 'http_code' => 400, 'description' => 'The uncompleted task to verify the OTA update package exists.'], ['code' => 'iot.firmware.InvalidDiffTaskId', 'message' => 'The specified ID of the differential update task is invalid.', 'http_code' => 400, 'description' => 'The specified ID of the differential update task is invalid.'], ['code' => 'iot.firmware.InvalidDiffTaskState', 'message' => 'The specified differential update task cannot be canceled.', 'http_code' => 400, 'description' => 'The specified differential update task cannot be canceled.'], ['code' => 'iot.firmware.InvalidDynamicMode', 'message' => 'The DynamicMode parameter is invalid.', 'http_code' => 400, 'description' => 'The DynamicMode parameter is invalid.'], ['code' => 'iot.firmware.InvalidFirmware', 'message' => 'The OTA update package is invalid.', 'http_code' => 400, 'description' => 'The OTA update package is invalid.'], ['code' => 'iot.firmware.InvalidFirmwareId', 'message' => 'The ID of the OTA update package is invalid.', 'http_code' => 400, 'description' => 'The ID of the OTA update package is invalid.'], ['code' => 'iot.firmware.InvalidFirmwareName', 'message' => 'The firmware name is invalid.', 'http_code' => 400, 'description' => 'The firmware name is invalid.'], ['code' => 'iot.firmware.InvalidFirmwareSign', 'message' => 'The signature of the OTA update package is invalid.', 'http_code' => 400, 'description' => 'The signature of the OTA update package is invalid.'], ['code' => 'iot.firmware.InvalidFirmwareSignMethod', 'message' => 'The signature method of the OTA update package is invalid.', 'http_code' => 400, 'description' => 'The signature method of the OTA update package is invalid.'], ['code' => 'iot.firmware.InvalidFirmwareSize', 'message' => 'The size of the OTA update package is invalid.', 'http_code' => 400, 'description' => 'The size of the OTA update package is invalid.'], ['code' => 'iot.firmware.InvalidFirmwareSize', 'message' => 'Invalid firmware size.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.firmware.InvalidFirmwareType', 'message' => 'The type of the OTA update package is invalid.', 'http_code' => 400, 'description' => 'The type of the OTA update package is invalid.'], ['code' => 'iot.firmware.InvalidFirmwareType', 'message' => 'Invalid firmware type.', 'http_code' => 400, 'description' => 'Invalid firmware type.'], ['code' => 'iot.firmware.InvalidFirmwareUrl', 'message' => 'The URL of the OTA update package is invalid.', 'http_code' => 400, 'description' => 'The URL of the OTA update package is invalid.'], ['code' => 'iot.firmware.InvalidGenerateOTAUploadURLParam', 'message' => 'The parameter used to generate upload URL of the update package is invalid.', 'http_code' => 400, 'description' => 'The parameter used to generate upload URL of the update package is invalid.'], ['code' => 'iot.firmware.InvalidGrayPercent', 'message' => 'The phased update percentage is invalid.', 'http_code' => 400, 'description' => 'The phased update percentage is invalid.'], ['code' => 'iot.firmware.InvalidMaximumPerMinute', 'message' => 'The MaximumPerMinute parameter is invalid.', 'http_code' => 400, 'description' => 'The MaximumPerMinute parameter is invalid.'], ['code' => 'iot.firmware.InvalidOTAJobId', 'message' => 'The batch ID is invalid.', 'http_code' => 400, 'description' => 'The batch ID is invalid.'], ['code' => 'iot.firmware.InvalidOTATaskId', 'message' => 'The task ID is invalid.', 'http_code' => 400, 'description' => 'The task ID is invalid.'], ['code' => 'iot.firmware.InvalidOTATaskUid', 'message' => 'The taskUid is invalid.', 'http_code' => 400, 'description' => 'The taskUid is invalid.'], ['code' => 'iot.firmware.InvalidOverwriteMode', 'message' => 'The OverwriteMode parameter is invalid.', 'http_code' => 400, 'description' => 'The OverwriteMode parameter is invalid.'], ['code' => 'iot.firmware.InvalidProductKey', 'message' => 'The ProductKey is invalid.', 'http_code' => 400, 'description' => 'The ProductKey is invalid.'], ['code' => 'iot.firmware.InvalidProductKey', 'message' => 'Invalid Product Key.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.firmware.InvalidRetryCount', 'message' => 'The number of retries is invalid.', 'http_code' => 400, 'description' => 'The number of retries is invalid.'], ['code' => 'iot.firmware.InvalidRetryInterval', 'message' => 'The retry interval is invalid.', 'http_code' => 400, 'description' => 'The retry interval is invalid.'], ['code' => 'iot.firmware.InvalidSelectionType', 'message' => 'The SelectionType parameter is invalid.', 'http_code' => 400, 'description' => 'The SelectionType parameter is invalid.'], ['code' => 'iot.firmware.InvalidSpeedLimit', 'message' => 'The push rate is invalid.', 'http_code' => 400, 'description' => 'The push rate is invalid.'], ['code' => 'iot.firmware.InvalidTargetSelection', 'message' => 'The TargetSelection parameter is invalid.', 'http_code' => 400, 'description' => 'The TargetSelection parameter is invalid.'], ['code' => 'iot.firmware.InvalidTaskStatus', 'message' => 'The TaskStatus parameter is invalid.', 'http_code' => 400, 'description' => 'The TaskStatus parameter is invalid.'], ['code' => 'iot.firmware.InvalidTaskStatus', 'message' => 'Invalid TaskStatus.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.firmware.InvalidTimeoutSetting', 'message' => 'The timeout setting is invalid.', 'http_code' => 400, 'description' => 'The timeout setting is invalid.'], ['code' => 'iot.firmware.InvalidUpgradeType', 'message' => 'The update policy is invalid.', 'http_code' => 400, 'description' => 'The update policy is invalid.'], ['code' => 'iot.firmware.JobAlreadyCanceled', 'message' => 'The batch has been canceled.', 'http_code' => 400, 'description' => 'The batch has been canceled.'], ['code' => 'iot.firmware.JobHasNoScheduleTime', 'message' => 'The batch is not scheduled.', 'http_code' => 400, 'description' => 'The batch is not scheduled.'], ['code' => 'iot.firmware.jobTagIsTooLong', 'message' => 'The batch tags exceeds the length limit.', 'http_code' => 400, 'description' => 'The batch tags exceeds the length limit.'], ['code' => 'iot.firmware.ListDeviceUpgradeInfoFailure', 'message' => 'An error occurred while querying the update tasks.', 'http_code' => 400, 'description' => 'An error occurred while querying the update tasks.'], ['code' => 'iot.firmware.ListOTAFirmwareFailed', 'message' => 'Failed to query OTA update packages.', 'http_code' => 400, 'description' => 'Failed to query OTA update packages.'], ['code' => 'iot.firmware.ListOTAJobFailed', 'message' => 'Failed to query the update batches.', 'http_code' => 400, 'description' => 'Failed to query the update batches.'], ['code' => 'iot.firmware.ListOTAModuleFailed', 'message' => 'Failed to query modules.', 'http_code' => 400, 'description' => 'Failed to query modules.'], ['code' => 'iot.firmware.ListOTAModuleNameByProductFailed', 'message' => 'Failed to query OTA modules by product.', 'http_code' => 400, 'description' => 'Failed to query OTA modules by product.'], ['code' => 'iot.firmware.ListOTATaskByDeviceFailed', 'message' => 'Failed to list OTA tasks by device.', 'http_code' => 400, 'description' => 'Failed to list OTA tasks by device.'], ['code' => 'iot.firmware.ListOTATaskByJobFailed', 'message' => 'Failed to query update records by batch.', 'http_code' => 400, 'description' => 'Failed to query update records by batch.'], ['code' => 'iot.firmware.LocationSizeExceedMax', 'message' => 'The number of device regions exceeds the limit.', 'http_code' => 400, 'description' => 'The number of device regions exceeds the limit.'], ['code' => 'iot.firmware.MalformedFirmwareUrl', 'message' => 'The firmware URL is invalid.', 'http_code' => 400, 'description' => 'The firmware URL is invalid.'], ['code' => 'iot.firmware.ModuleCountLimitExceeded', 'message' => 'The number of modules exceeds the limit.', 'http_code' => 400, 'description' => 'The number of modules exceeds the limit.'], ['code' => 'iot.firmware.ModuleCountLimitExceeded', 'message' => 'Module count exceeds limit.', 'http_code' => 400, 'description' => 'Module count exceeds limit.'], ['code' => 'iot.firmware.ModuleNameReserved', 'message' => 'The module name is reserved.', 'http_code' => 400, 'description' => 'The module name is reserved.'], ['code' => 'iot.firmware.ModuleNameReserved', 'message' => 'Module name is reserved.', 'http_code' => 400, 'description' => 'Module name is reserved.'], ['code' => 'iot.firmware.MoreThanOneSrcVersion', 'message' => 'Only one source version can be specified for a differential update.', 'http_code' => 400, 'description' => 'Only one source version can be specified for a differential update.'], ['code' => 'iot.firmware.NoDeviceCanUpgrade', 'message' => 'No devices are available.', 'http_code' => 400, 'description' => 'No devices are available.'], ['code' => 'iot.firmware.NonVersionedDeviceInArray', 'message' => 'The device list contains devices that have no versions or have invalid versions.', 'http_code' => 400, 'description' => 'The device list contains devices that have no versions or have invalid versions.'], ['code' => 'iot.firmware.NotDynamicJob', 'message' => 'No dynamic update batches are available.', 'http_code' => 400, 'description' => 'No dynamic update batches are available.'], ['code' => 'iot.firmware.NotEqualDiffSrcFirmwaresAndSrcVersions', 'message' => 'In a differential update, the number of firmware names must be the same as the number of firmware versions.', 'http_code' => 400, 'description' => 'In a differential update, the number of firmware names must be the same as the number of firmware versions.'], ['code' => 'iot.firmware.NotFailedUpgradeJob', 'message' => 'Only the devices that failed in previous updates can perform the specified task again.', 'http_code' => 400, 'description' => 'Only the devices that failed in previous updates can perform the specified task again.'], ['code' => 'iot.firmware.NullFirmwareId', 'message' => 'You must specify an OTA update package ID.', 'http_code' => 400, 'description' => 'You must specify an OTA update package ID.'], ['code' => 'iot.firmware.NullFirmwareName', 'message' => 'The OTA update package name is empty.', 'http_code' => 400, 'description' => 'The OTA update package name is empty.'], ['code' => 'iot.firmware.NullFirmwareName', 'message' => 'The firmware name is empty.', 'http_code' => 400, 'description' => 'The firmware name is empty.'], ['code' => 'iot.firmware.NullFirmwareProductKey', 'message' => 'The firmware ProductKey is empty.', 'http_code' => 400, 'description' => 'The firmware ProductKey is empty.'], ['code' => 'iot.firmware.NullFirmwareSign', 'message' => 'The firmware signature is empty.', 'http_code' => 400, 'description' => 'The firmware signature is empty.'], ['code' => 'iot.firmware.NullFirmwareSignMethod', 'message' => 'The signature method of the firmware is empty.', 'http_code' => 400, 'description' => 'The signature method of the firmware is empty.'], ['code' => 'iot.firmware.NullFirmwareUrl', 'message' => 'The URL of the OTA update package is empty.', 'http_code' => 400, 'description' => 'The URL of the OTA update package is empty.'], ['code' => 'iot.firmware.NullFirmwareVersion', 'message' => 'The update package version is empty.', 'http_code' => 400, 'description' => 'The update package version is empty.'], ['code' => 'iot.firmware.NullGrayPercent', 'message' => 'The phased update percentage cannot be empty.', 'http_code' => 400, 'description' => 'The phased update percentage cannot be empty.'], ['code' => 'iot.firmware.NullOTAJobId', 'message' => 'You must specify a batch ID.', 'http_code' => 400, 'description' => 'You must specify a batch ID.'], ['code' => 'iot.firmware.NullOTATaskId', 'message' => 'You must specify a task ID.', 'http_code' => 400, 'description' => 'You must specify a task ID.'], ['code' => 'iot.firmware.NullSelectionType', 'message' => 'You must specify SelectionType.', 'http_code' => 400, 'description' => 'You must specify SelectionType.'], ['code' => 'iot.firmware.NullSrcVersions', 'message' => 'You must specify SrcVersions.', 'http_code' => 400, 'description' => 'You must specify SrcVersions.'], ['code' => 'iot.firmware.NullStrategyType', 'message' => 'The update scope cannot be empty.', 'http_code' => 400, 'description' => 'The update scope cannot be empty.'], ['code' => 'iot.firmware.NullTargetDeviceNames', 'message' => 'The TargetDeviceNames parameter is empty.', 'http_code' => 400, 'description' => 'The TargetDeviceNames parameter is empty.'], ['code' => 'iot.firmware.NullTargetSelection', 'message' => 'You must specify TargetSelection.', 'http_code' => 400, 'description' => 'You must specify TargetSelection.'], ['code' => 'iot.firmware.NullTaskId', 'message' => 'The batch ID cannot be empty.', 'http_code' => 400, 'description' => 'The batch ID cannot be empty.'], ['code' => 'iot.firmware.NullUpgradeType', 'message' => 'The update policy cannot be empty.', 'http_code' => 400, 'description' => 'The update policy cannot be empty.'], ['code' => 'iot.firmware.QueryBatchDeviceUpgradeInfoFailure', 'message' => 'Failed to query the batch update information.', 'http_code' => 400, 'description' => 'Failed to query the batch update information.'], ['code' => 'iot.firmware.QueryDeviceFirmwareVersionActionError', 'message' => 'An error occurred while querying the firmware version of the device under the specified product.', 'http_code' => 400, 'description' => 'An error occurred while querying the firmware version of the device under the specified product.'], ['code' => 'iot.firmware.QueryDeviceUpgradeInfoFailure', 'message' => 'Failed to query the device update tasks.', 'http_code' => 400, 'description' => 'Failed to query the device update tasks.'], ['code' => 'iot.firmware.QueryDeviceUpgradeRecordActionError', 'message' => 'An error occurred while querying the firmware update records.', 'http_code' => 400, 'description' => 'An error occurred while querying the firmware update records.'], ['code' => 'iot.firmware.QueryFirmwareLatestStrategyActionError', 'message' => 'An error occurred while retrieving the firmware update policy.', 'http_code' => 400, 'description' => 'An error occurred while retrieving the firmware update policy.'], ['code' => 'iot.firmware.QueryFirmwaresFailure', 'message' => 'Failed to get the firmware list.', 'http_code' => 400, 'description' => 'Failed to get the firmware list.'], ['code' => 'iot.firmware.QueryOTAJobListFailed', 'message' => 'Failed to query update batches.', 'http_code' => 400, 'description' => 'Failed to query update batches.'], ['code' => 'iot.firmware.QueryStrategyFailure', 'message' => 'Failed to obtain the update policy.', 'http_code' => 400, 'description' => 'Failed to obtain the update policy.'], ['code' => 'iot.firmware.QueryUpgradeCountInfoActionError', 'message' => 'An error occurred while querying the firmware update statistics.', 'http_code' => 400, 'description' => 'An error occurred while querying the firmware update statistics.'], ['code' => 'iot.firmware.QueryUpgradeStatusFailure', 'message' => 'Failed to query the device update status.', 'http_code' => 400, 'description' => 'Failed to query the device update status.'], ['code' => 'iot.firmware.QueryUpgradeTaskFailed', 'message' => 'Failed to query the update batches.', 'http_code' => 400, 'description' => 'Failed to query the update batches.'], ['code' => 'iot.firmware.QueryUpgradeTaskFailed', 'message' => 'Failed to query task list.', 'http_code' => 400, 'description' => 'Failed to query task list.'], ['code' => 'iot.firmware.QueryUpgradeTaskJobFailed', 'message' => 'Failed to query the update records.', 'http_code' => 400, 'description' => 'Failed to query the update records.'], ['code' => 'iot.firmware.ResetDeviceUpgradeFailure', 'message' => 'Failed to reset the update.', 'http_code' => 400, 'description' => 'Failed to reset the update.'], ['code' => 'iot.firmware.ResetDeviceUpgradeJobFailed', 'message' => 'An error occurred while resetting the update records for the device.', 'http_code' => 400, 'description' => 'An error occurred while resetting the update records for the device.'], ['code' => 'iot.firmware.ReUpgradeDeviceFailure', 'message' => 'Failed to re-update the device.', 'http_code' => 400, 'description' => 'Failed to re-update the device.'], ['code' => 'iot.firmware.ReUpgradeFailedFirmwareNotVerified', 'message' => 'The firmware verification is not completed and the update cannot be reinitiated.', 'http_code' => 400, 'description' => 'The firmware verification is not completed and the update cannot be reinitiated.'], ['code' => 'iot.firmware.ScheduleFinishTimeEarlierThanStartTime', 'message' => 'The scheduled end time cannot be earlier than the scheduled start time.', 'http_code' => 400, 'description' => 'The scheduled end time cannot be earlier than the scheduled start time.'], ['code' => 'iot.firmware.ScheduleFinishTimeTooEarly', 'message' => 'The scheduled end time cannot be 60 minutes later than the scheduled start time.', 'http_code' => 400, 'description' => 'The scheduled end time cannot be 60 minutes later than the scheduled start time.'], ['code' => 'iot.firmware.ScheduleFinishTimeTooLate', 'message' => 'The scheduled end time cannot be later than 30 days from scheduled start time.', 'http_code' => 400, 'description' => 'The scheduled end time cannot be later than 30 days from scheduled start time.'], ['code' => 'iot.firmware.ScheduleFinishTimeWithoutStartTime', 'message' => 'The scheduled end time must be specified with scheduled start time.', 'http_code' => 400, 'description' => 'The scheduled end time must be specified with scheduled start time.'], ['code' => 'iot.firmware.SrcDestVersionMatched', 'message' => 'The source version and destination version must be different.', 'http_code' => 400, 'description' => 'The source version and destination version must be different.'], ['code' => 'iot.firmware.SrcVersionIsMandatory', 'message' => 'You must specify a source version for differential update package.', 'http_code' => 400, 'description' => 'You must specify a source version for differential update package.'], ['code' => 'iot.firmware.SrcVersionMismatch', 'message' => 'The current firmware version of the device does not match the source version of the OTA update package.', 'http_code' => 400, 'description' => 'The current firmware version of the device does not match the source version of the OTA update package.'], ['code' => 'iot.firmware.SrcVersionsNotAllowed', 'message' => 'The source versions cannot be specified.', 'http_code' => 400, 'description' => 'The source versions cannot be specified.'], ['code' => 'iot.firmware.SrcVersionsSizeExceedMax', 'message' => 'The size of the source version list exceeds the limit.', 'http_code' => 400, 'description' => 'The size of the source version list exceeds the limit.'], ['code' => 'iot.firmware.SystemBusy', 'message' => 'The system is busy. Try again later.', 'http_code' => 400, 'description' => 'The system is busy. Try again later.'], ['code' => 'iot.firmware.SystemBusyForScheduleTime', 'message' => 'The system is busy. Modify the scheduled update time.', 'http_code' => 400, 'description' => 'The system is busy. Modify the scheduled update time.'], ['code' => 'iot.firmware.TargetDeviceNamesNotAllowed', 'message' => 'The TargetDeviceNames parameter is not allowed.', 'http_code' => 400, 'description' => 'The TargetDeviceNames parameter is not allowed.'], ['code' => 'iot.firmware.TooManyDeviceUpgrade', 'message' => 'Too many devices are updated. Try again later.', 'http_code' => 400, 'description' => 'Too many devices are updated. Try again later.'], ['code' => 'iot.firmware.TooManyDeviceUpgradeForScheduleTime', 'message' => 'Too many devices are scheduled at the specified time.', 'http_code' => 400, 'description' => 'Too many devices are scheduled at the specified time.'], ['code' => 'iot.firmware.UpdateFirmwareFailure', 'message' => 'Failed to update the firmware information.', 'http_code' => 400, 'description' => 'Failed to update the firmware information.'], ['code' => 'iot.firmware.UpgradeDeviceFailure', 'message' => 'The device update failed.', 'http_code' => 400, 'description' => 'The device update failed.'], ['code' => 'iot.firmware.UpgradeDeviceListSizeExceedMax', 'message' => 'The number of devices to be updated exceeds the limit.', 'http_code' => 400, 'description' => 'The number of devices to be updated exceeds the limit.'], ['code' => 'iot.firmware.UpgradeSrcVersionMismatch', 'message' => 'The source version to be updated is not the same as the source version of the OTA update package.', 'http_code' => 400, 'description' => 'The source version to be updated is not the same as the source version of the OTA update package.'], ['code' => 'iot.firmware.UpgradeTaskConflict', 'message' => 'The task conflicts with another update task.', 'http_code' => 400, 'description' => 'The task conflicts with another update task.'], ['code' => 'iot.firmware.VerifiedDeviceTotalExceedMax', 'message' => 'The total verified devices exceeds the maximum number.', 'http_code' => 400, 'description' => 'The total verified devices exceeds the maximum number.'], ['code' => 'iot.firmware.VerifyFirmwareFailed', 'message' => 'An error occurred while verifying the update package.', 'http_code' => 400, 'description' => 'An error occurred while verifying the update package.'], ['code' => 'iot.gateway.BackEndServiceInvalid', 'message' => 'Request has failed due to invalid backend server.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.gateway.unkownAccess', 'message' => 'Your access do not passed.', 'http_code' => 400, 'description' => 'Your access do not passed.'], ['code' => 'iot.gateway.unkownAccesskey', 'message' => 'Your accessKey do not passed.', 'http_code' => 400, 'description' => 'Your accessKey do not passed.'], ['code' => 'iot.gis.InvalidParamSize', 'message' => 'Invalid param size.', 'http_code' => 400, 'description' => 'Invalid param size.'], ['code' => 'iot.gis.InvalidParamSize', 'message' => 'iot.gis.InvalidParamSize', 'http_code' => 400, 'description' => 'iot.gis.InvalidParamSize'], ['code' => 'iot.gis.InvalidParamSize', 'message' => 'Invalid Param Size', 'http_code' => 400, 'description' => ''], ['code' => 'iot.gis.InvalidRequestParam', 'message' => 'Invalid Request Params.', 'http_code' => 400, 'description' => 'Invalid Request Params.'], ['code' => 'iot.gis.InvalidRequestParam', 'message' => 'Invalid request param', 'http_code' => 400, 'description' => 'Invalid request param'], ['code' => 'iot.gis.InvalidRequestParam', 'message' => 'iot.gis.InvalidRequestParam', 'http_code' => 400, 'description' => 'iot.gis.InvalidRequestParam'], ['code' => 'iot.gis.InvalidRequestParam', 'message' => 'Invalid Request Param.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.gis.lbsBasicFalse', 'message' => 'lbs service has not open yet .', 'http_code' => 400, 'description' => 'lbs service has not open yet .'], ['code' => 'iot.gis.lbsBasicFalse', 'message' => 'lbs service has not open yet.', 'http_code' => 400, 'description' => 'lbs service has not open yet.'], ['code' => 'iot.group.BatchAddDeviceGroupRelationFailed', 'message' => 'An error occurred while adding devices to the group.', 'http_code' => 400, 'description' => 'An error occurred while adding devices to the group.'], ['code' => 'iot.group.BatchQueryGroupError', 'message' => 'An error occurred while obtaining the list of groups to which the device belongs.', 'http_code' => 400, 'description' => 'An error occurred while obtaining the list of groups to which the device belongs.'], ['code' => 'iot.group.BatchRemoveDeviceGroupRelationFailed', 'message' => 'An error occurred while removing devices from the group.', 'http_code' => 400, 'description' => 'An error occurred while removing devices from the group.'], ['code' => 'iot.group.BindGroupRelationFailed', 'message' => 'An error occurred while grouping the devices.', 'http_code' => 400, 'description' => 'An error occurred while grouping the devices.'], ['code' => 'iot.group.CreateGroupFailed', 'message' => 'An error occurred while creating a device group.', 'http_code' => 400, 'description' => 'An error occurred while creating the device group.'], ['code' => 'iot.group.DeleteGroupFailed', 'message' => 'An error occurred while deleting the device group.', 'http_code' => 400, 'description' => 'An error occurred while deleting the device group.'], ['code' => 'iot.group.DynamicGroupMatchedDeviceCountExceedMax', 'message' => 'The maximum number of device matched by dynamic group condition is exceeded.', 'http_code' => 400, 'description' => 'The maximum number of device matched by dynamic group condition is exceeded.'], ['code' => 'iot.group.GroupCountExceedMax', 'message' => 'The number of device groups exceeds the limit.', 'http_code' => 400, 'description' => 'The number of device groups exceeds the limit.'], ['code' => 'iot.group.GroupDeviceCountExceedMax', 'message' => 'The number of devices in this group has exceeded the threshold.', 'http_code' => 400, 'description' => 'The number of devices in this group has exceeded the threshold. '], ['code' => 'iot.group.GroupLevelExceedingLimitError', 'message' => 'The number of grouping levels exceeds the limit.', 'http_code' => 400, 'description' => 'The number of grouping levels exceeds the limit.'], ['code' => 'iot.group.GroupNameExisted', 'message' => 'The specified device group name already exists.', 'http_code' => 400, 'description' => 'The specified device group name already exists.'], ['code' => 'iot.group.InstanceIdNonConformity', 'message' => 'The operation cannot be used to manage resources cross instances.', 'http_code' => 400, 'description' => 'The operation cannot be used to manage resources cross instances.'], ['code' => 'iot.group.InvalidAddDevicesToGroupTaskId', 'message' => 'Failed to add devices to the group.', 'http_code' => 400, 'description' => 'Failed to add devices to the group.'], ['code' => 'iot.group.InvalidFormattedTagKey', 'message' => 'The specified tag key format is invalid.', 'http_code' => 400, 'description' => 'The specified tag key format is invalid.'], ['code' => 'iot.group.InvalidFormattedTagString', 'message' => 'The specified tag format is invalid.', 'http_code' => 400, 'description' => 'The specified tag format is invalid.'], ['code' => 'iot.group.InvalidFormattedTagValue', 'message' => 'The specified tag value format is invalid.', 'http_code' => 400, 'description' => 'The specified tag value format is invalid.'], ['code' => 'iot.group.InvalidGroupName', 'message' => 'The specified device group name is invalid.', 'http_code' => 400, 'description' => 'The specified device group name is invalid.'], ['code' => 'iot.group.LongGroupDescError', 'message' => 'The group description exceeds the length limit.', 'http_code' => 400, 'description' => 'The group description exceeds the length limit.'], ['code' => 'iot.group.NoneValidDevice', 'message' => 'The specified device name is invalid.', 'http_code' => 400, 'description' => 'The specified device name is invalid.'], ['code' => 'iot.group.NoneValidProductKey', 'message' => 'The specified product ID is invalid.', 'http_code' => 400, 'description' => 'The specified product ID is invalid.'], ['code' => 'iot.group.NotExistedGroup', 'message' => 'The specified device group does not exist.', 'http_code' => 400, 'description' => 'The specified device group does not exist.'], ['code' => 'iot.group.NotExistedSuperGroup', 'message' => 'The parent group does not exist.', 'http_code' => 400, 'description' => 'The parent group does not exist.'], ['code' => 'iot.group.NullGroupId', 'message' => 'You must specify the device group ID.', 'http_code' => 400, 'description' => 'You must specify the device group ID.'], ['code' => 'iot.group.NullTagKey', 'message' => 'You must specify the tag key.', 'http_code' => 400, 'description' => 'You must specify the tag key.'], ['code' => 'iot.group.NullTags', 'message' => 'You must specify a tag.', 'http_code' => 400, 'description' => 'You must specify a tag.'], ['code' => 'iot.group.QueryAddDevicesToGroupTaskFailed', 'message' => 'Failed to query the device grouping tasks.', 'http_code' => 400, 'description' => 'Failed to query the device grouping tasks.'], ['code' => 'iot.group.QueryDeviceGroupByTagsFailed', 'message' => 'An error occurred while searching for device groups by tag.', 'http_code' => 400, 'description' => 'An error occurred while searching for device groups by tag.'], ['code' => 'iot.group.QueryGroupCountFailed', 'message' => 'An error occurred while querying the number of device groups.', 'http_code' => 400, 'description' => 'An error occurred while querying the number of device groups.'], ['code' => 'iot.group.QueryGroupInfoFailed', 'message' => 'An error occurred while querying the device group details.', 'http_code' => 400, 'description' => 'An error occurred while querying the device group details.'], ['code' => 'iot.group.QueryGroupListFailed', 'message' => 'An error occurred while obtaining the device group list.', 'http_code' => 400, 'description' => 'An error occurred while obtaining the device group list.'], ['code' => 'iot.group.QueryGroupRelationFailed', 'message' => 'An error occurred while querying the grouping relationship.', 'http_code' => 400, 'description' => 'An error occurred while querying the grouping relationship.'], ['code' => 'iot.group.QueryGroupTagFailed', 'message' => 'An error occurred while querying the device group tag information.', 'http_code' => 400, 'description' => 'An error occurred while querying the device group tag information.'], ['code' => 'iot.group.QueryGroupTreeFailed', 'message' => 'An error occurred while querying the grouping topology.', 'http_code' => 400, 'description' => 'An error occurred while querying the grouping topology.'], ['code' => 'iot.group.RunAddDevicesToGroupTaskFailed', 'message' => 'An error occurred while running the device grouping task.', 'http_code' => 400, 'description' => 'An error occurred while running the device grouping task.'], ['code' => 'iot.group.SetGroupTagFailed', 'message' => 'An error occurred while setting the device group tag information.', 'http_code' => 400, 'description' => 'An error occurred while setting the device group tag information.'], ['code' => 'iot.group.SubGroupNotNull', 'message' => 'You must specify the subgroup.', 'http_code' => 400, 'description' => 'You must specify the subgroup.'], ['code' => 'iot.group.SubmitAddDevicesToGroupTaskFailed', 'message' => 'An error occurred while submitting the device grouping task.', 'http_code' => 400, 'description' => 'An error occurred while submitting the device grouping task.'], ['code' => 'iot.group.SubmitAddDevicesToGroupTaskTooMany', 'message' => 'Submit the devices group task too many', 'http_code' => 400, 'description' => 'Submit the devices group task too many'], ['code' => 'iot.group.SuperGroupUnsupport', 'message' => 'The super groups do not support subGroups.', 'http_code' => 400, 'description' => 'The super groups do not support sub groups.'], ['code' => 'iot.group.TagCountExceedMax', 'message' => 'You cannot create any more tags.', 'http_code' => 400, 'description' => 'You cannot create any more tags.'], ['code' => 'iot.group.TagValueExceedMaxLength', 'message' => 'The specified tag value is too long.', 'http_code' => 400, 'description' => 'The specified tag value is too long.'], ['code' => 'iot.group.UpdateGroupFailed', 'message' => 'An error occurred while modifying the device group information.', 'http_code' => 400, 'description' => 'An error occurred while modifying the device group information.'], ['code' => 'iot.hosting.QueryISVInfoFailed', 'message' => 'Failed to obtain the ISV information.', 'http_code' => 400, 'description' => 'Failed to obtain the ISV information.'], ['code' => 'iot.igw.AuthType', 'message' => 'Invalid authType.', 'http_code' => 400, 'description' => 'Invalid authType.'], ['code' => 'iot.igw.certExpired', 'message' => 'The Certificate is expired.', 'http_code' => 400, 'description' => 'The Certificate is expired.'], ['code' => 'iot.igw.CreateProductFail', 'message' => 'Create product is failed.', 'http_code' => 400, 'description' => 'Create product is failed.'], ['code' => 'iot.igw.ExceedMaxCertLenLimit', 'message' => 'The length of certificate exceed the max length limit.', 'http_code' => 400, 'description' => 'The length of certificate exceed the max length limit.'], ['code' => 'iot.igw.ExceedMaxIgwNum', 'message' => 'The number of gateway exceed the number limit.', 'http_code' => 400, 'description' => 'The number of gateway exceed the number limit.'], ['code' => 'iot.igw.GatewayNotExist', 'message' => 'Gateway does not exist.', 'http_code' => 400, 'description' => 'Gateway does not exist.'], ['code' => 'iot.igw.InvalidCertParams', 'message' => 'Invalid certificate.', 'http_code' => 400, 'description' => 'Invalid certificate.'], ['code' => 'iot.igw.InvalidIgwConfig', 'message' => 'Invalid gateway config.', 'http_code' => 400, 'description' => 'Invalid gateway config.'], ['code' => 'iot.igw.InvalidIgwName', 'message' => 'Invalid gateway name.', 'http_code' => 400, 'description' => 'Invalid gateway name.'], ['code' => 'iot.igw.InvalidOcspType', 'message' => 'Invalid ocsp type.', 'http_code' => 400, 'description' => 'Invalid ocsp type.'], ['code' => 'iot.igw.InvalidProtocol', 'message' => 'Invalid protocol.', 'http_code' => 400, 'description' => 'Invalid protocol.'], ['code' => 'iot.igw.InvalidUid', 'message' => 'Invalid uid.', 'http_code' => 400, 'description' => 'Invalid uid.'], ['code' => 'iot.igw.ParamsError', 'message' => 'Invalid parameter.', 'http_code' => 400, 'description' => 'Invalid parameter.'], ['code' => 'iot.igw.RestartGatewayFailed', 'message' => 'Restart gateway is failed.', 'http_code' => 400, 'description' => 'Restart gateway is failed.'], ['code' => 'iot.igw.SystemError', 'message' => 'System error.', 'http_code' => 400, 'description' => 'System error.'], ['code' => 'iot.instance.UnknownSystemException', 'message' => 'System Error.', 'http_code' => 400, 'description' => 'System Error.'], ['code' => 'IoT.Instance.User.NoPermission', 'message' => 'The user has no permission to purchase IoT instances.', 'http_code' => 200, 'description' => ''], ['code' => 'IoT.Instance.User.RealName.NoAuthentication', 'message' => 'Your account has not passed the real-name authentication yet.', 'http_code' => 200, 'description' => ''], ['code' => 'iot.job.CancelJobFailed', 'message' => 'Failed to cancel the task.', 'http_code' => 400, 'description' => 'Failed to cancel the task.'], ['code' => 'iot.job.DeleteJobFailed', 'message' => 'Failed to delete the task.', 'http_code' => 400, 'description' => 'Failed to delete the task.'], ['code' => 'iot.job.DescriptionOverSize', 'message' => 'The number of character in description must be less than 128.', 'http_code' => 400, 'description' => 'The number of character in description must be less than 128'], ['code' => 'iot.job.DescriptionOverSize', 'message' => 'The number of character in description must be less than 128', 'http_code' => 400, 'description' => 'The number of character in description must be less than 128'], ['code' => 'iot.job.FileKeyIsBlank', 'message' => 'fileKey is blank.', 'http_code' => 400, 'description' => 'fileKey is blank'], ['code' => 'iot.job.FileKeyIsBlank', 'message' => 'fileKey is blank', 'http_code' => 400, 'description' => 'fileKey is blank'], ['code' => 'iot.job.GenerateFileUploadUrlFailed', 'message' => 'Failed to generate the file upload URL.', 'http_code' => 400, 'description' => 'Failed to generate the file upload URL.'], ['code' => 'iot.job.IllegalTargetDevices', 'message' => 'The targetDevices parameter contains invalid devices.', 'http_code' => 400, 'description' => 'The targetDevices parameter contains invalid devices.'], ['code' => 'iot.job.InProgressTimeoutInMinutesIsNull', 'message' => 'inProgressTimeoutInMinutes is null.', 'http_code' => 400, 'description' => 'inProgressTimeoutInMinutes is null'], ['code' => 'iot.job.InProgressTimeoutInMinutesIsNull', 'message' => 'inProgressTimeoutInMinutes is null', 'http_code' => 400, 'description' => 'inProgressTimeoutInMinutes is null'], ['code' => 'iot.job.InProgressTimeoutInMinutesOverSize', 'message' => 'inProgressTimeoutInMinutes should between 5 and 1440.', 'http_code' => 400, 'description' => 'inProgressTimeoutInMinutes should between 5 and 1440'], ['code' => 'iot.job.InProgressTimeoutInMinutesOverSize', 'message' => 'inProgressTimeoutInMinutes should between 5 and 1440', 'http_code' => 400, 'description' => 'inProgressTimeoutInMinutes should between 5 and 1440'], ['code' => 'iot.job.JobActionForbidden', 'message' => 'This type of operation is forbidden when the task is in the current status.', 'http_code' => 400, 'description' => 'This type of operation is forbidden when the task is in the current status.'], ['code' => 'iot.job.JobCountExceedLimit', 'message' => 'The number of tasks exceeds the limit.', 'http_code' => 400, 'description' => 'The number of tasks exceeds the limit.'], ['code' => 'iot.job.JobDocumentIsBlank', 'message' => 'jobDocument is blank.', 'http_code' => 400, 'description' => 'jobDocument is blank'], ['code' => 'iot.job.JobDocumentIsBlank', 'message' => 'jobDocument is blank', 'http_code' => 400, 'description' => 'jobDocument is blank'], ['code' => 'iot.job.JobDocumentIsNotJson', 'message' => 'jobDocument is not json.', 'http_code' => 400, 'description' => 'jobDocument is not json'], ['code' => 'iot.job.JobDocumentIsNotJson', 'message' => 'jobDocument is not json', 'http_code' => 400, 'description' => 'jobDocument is not json'], ['code' => 'iot.job.JobDocumentOverSize', 'message' => 'jobDocument should less 64KB.', 'http_code' => 400, 'description' => 'jobDocument should less 64KB'], ['code' => 'iot.job.JobDocumentOverSize', 'message' => 'jobDocument should less 64KB', 'http_code' => 400, 'description' => 'jobDocument should less 64KB'], ['code' => 'iot.job.JobFileInSecure', 'message' => 'The file contains non-compliant content.', 'http_code' => 400, 'description' => 'The file contains non-compliant content.'], ['code' => 'iot.job.JobInvokeServiceSidError', 'message' => 'The serviceIdentifier parameter is invalid when you initiate a task to call a service.', 'http_code' => 400, 'description' => 'The serviceIdentifier parameter is invalid when you initiate a task to call a service.'], ['code' => 'iot.job.JobInvokeServiceSidError', 'message' => 'iot.job.JobInvokeServiceSidError.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.job.JobNameIllegal', 'message' => 'jobName contains illegal character.', 'http_code' => 400, 'description' => 'jobName contains illegal character'], ['code' => 'iot.job.JobNameIllegal', 'message' => 'jobName contains illegal character', 'http_code' => 400, 'description' => 'jobName contains illegal character'], ['code' => 'iot.job.JobNameIsBlank', 'message' => 'jobName is blank.', 'http_code' => 400, 'description' => 'jobName is blank'], ['code' => 'iot.job.JobNotExist', 'message' => 'The task does not exist.', 'http_code' => 400, 'description' => 'The task does not exist.'], ['code' => 'iot.job.JobSetPropertyParamsError', 'message' => 'The params parameter is invalid when you initiate a task to set properties.', 'http_code' => 400, 'description' => 'The params parameter is invalid when you initiate a task to set properties.'], ['code' => 'iot.job.JobTypeIllegal', 'message' => 'jobType is illegal.', 'http_code' => 400, 'description' => 'jobType is illegal'], ['code' => 'iot.job.JobTypeIllegal', 'message' => 'jobType is illegal', 'http_code' => 400, 'description' => 'jobType is illegal'], ['code' => 'iot.job.JobTypeIsBlank', 'message' => 'jobType is blank.', 'http_code' => 400, 'description' => 'jobType is blank'], ['code' => 'iot.job.JobTypeIsBlank', 'message' => 'jobType is blank', 'http_code' => 400, 'description' => 'jobType is blank'], ['code' => 'iot.job.ListTaskParamDeviceInfoInvalid', 'message' => 'The device parameters in the request is invalid. The productKey and deviceName parameters cannot be left empty at the same time.', 'http_code' => 400, 'description' => 'The device parameters in the request is invalid. The productKey and deviceName parameters cannot be left empty at the same time.'], ['code' => 'iot.job.ListTaskParamJobIdAndDeviceNull', 'message' => 'The JobId and Device parameters cannot be empty at the same time.', 'http_code' => 400, 'description' => 'The JobId and Device parameters cannot be empty at the same time.'], ['code' => 'iot.job.MaximumPerMinuteIsNull', 'message' => 'maximumPerMinute is null.', 'http_code' => 400, 'description' => 'maximumPerMinute is null'], ['code' => 'iot.job.MaximumPerMinuteIsNull', 'message' => 'maximumPerMinute is null', 'http_code' => 400, 'description' => 'maximumPerMinute is null'], ['code' => 'iot.job.MaximumPerMinuteOverSize', 'message' => 'maximumPerMinute should between 50 and 1000.', 'http_code' => 400, 'description' => 'maximumPerMinute should between 50 and 1000'], ['code' => 'iot.job.MaximumPerMinuteOverSize', 'message' => 'maximumPerMinute should between 50 and 1000', 'http_code' => 400, 'description' => 'maximumPerMinute should between 50 and 1000'], ['code' => 'iot.job.MessageContentDecodeError', 'message' => 'messageContent format is invalid. not base64.', 'http_code' => 400, 'description' => 'messageContent format is invalid. not base64'], ['code' => 'iot.job.MessageContentDecodeError', 'message' => 'messageContent format is invalid. not base64', 'http_code' => 400, 'description' => 'messageContent format is invalid. not base64'], ['code' => 'iot.job.MessageContentIsBlank', 'message' => 'messageContent is blank.', 'http_code' => 400, 'description' => 'messageContent is blank'], ['code' => 'iot.job.MessageContentIsBlank', 'message' => 'messageContent is blank', 'http_code' => 400, 'description' => 'messageContent is blank'], ['code' => 'iot.job.MessageContentIsNotString', 'message' => 'messageContent is not string.', 'http_code' => 400, 'description' => 'messageContent is not string'], ['code' => 'iot.job.MessageContentIsNotString', 'message' => 'messageContent is not string', 'http_code' => 400, 'description' => 'messageContent is not string'], ['code' => 'iot.job.MessageQoSIllegal', 'message' => 'messageQoS is invalid.', 'http_code' => 400, 'description' => 'messageQoS is invalid'], ['code' => 'iot.job.MessageQoSIllegal', 'message' => 'messageQoS is invalid', 'http_code' => 400, 'description' => 'messageQoS is invalid'], ['code' => 'iot.job.NotJobOwner', 'message' => 'You are not the owner of the task.', 'http_code' => 400, 'description' => 'You are not the owner of the task.'], ['code' => 'iot.job.NotTaskOwner', 'message' => 'You are not the owner of the task.', 'http_code' => 400, 'description' => 'You are not the owner of the task.'], ['code' => 'iot.job.ParamsError', 'message' => 'The parameter is invalid.', 'http_code' => 400, 'description' => 'The parameter is invalid.'], ['code' => 'iot.job.QueryJobFailed', 'message' => 'Failed to query the task information.', 'http_code' => 400, 'description' => 'Failed to query the task information.'], ['code' => 'iot.job.QueryJobStaticsFailed', 'message' => 'Failed to query the task statistics.', 'http_code' => 400, 'description' => 'Failed to query the task statistics.'], ['code' => 'iot.job.QueryTaskFailed', 'message' => 'Failed to query the task.', 'http_code' => 400, 'description' => 'Failed to query the task.'], ['code' => 'iot.job.ReRunJobFailed', 'message' => 'Failed to implement the task.', 'http_code' => 400, 'description' => 'Failed to implement the task.'], ['code' => 'iot.job.ReRunJobFailed', 'message' => 'retry run job failed.', 'http_code' => 400, 'description' => 'retry run job failed.'], ['code' => 'iot.job.ScheduledTimeOverSize', 'message' => 'scheduledTime should between 10min and 7day.', 'http_code' => 400, 'description' => 'scheduledTime should between 10min and 7day'], ['code' => 'iot.job.ScheduledTimeOverSize', 'message' => 'scheduledTime should between 10min and 7day', 'http_code' => 400, 'description' => 'scheduledTime should between 10min and 7day'], ['code' => 'iot.job.SignIsBlank', 'message' => 'sign is blank.', 'http_code' => 400, 'description' => 'sign is blank'], ['code' => 'iot.job.SignIsBlank', 'message' => 'sign is blank', 'http_code' => 400, 'description' => 'sign is blank'], ['code' => 'iot.job.SignMethodIllegal', 'message' => 'signMethod is illegal.', 'http_code' => 400, 'description' => 'signMethod is illegal'], ['code' => 'iot.job.SignMethodIllegal', 'message' => 'signMethod is illegal', 'http_code' => 400, 'description' => 'signMethod is illegal'], ['code' => 'iot.job.SignMethodIsBlank', 'message' => 'signMethod is blank.', 'http_code' => 400, 'description' => 'signMethod is blank'], ['code' => 'iot.job.SignMethodIsBlank', 'message' => 'signMethod is blank', 'http_code' => 400, 'description' => 'signMethod is blank'], ['code' => 'iot.job.TargetConfigIsNull', 'message' => 'targetConfig is null.', 'http_code' => 400, 'description' => 'targetConfig is null'], ['code' => 'iot.job.TargetConfigIsNull', 'message' => 'targetConfig is null', 'http_code' => 400, 'description' => 'targetConfig is null'], ['code' => 'iot.job.TargetDeviceIllegal', 'message' => 'targetDevice is illegal.', 'http_code' => 400, 'description' => 'targetDevice is illegal'], ['code' => 'iot.job.TargetDeviceIllegal', 'message' => 'targetDevice is illegal', 'http_code' => 400, 'description' => 'targetDevice is illegal'], ['code' => 'iot.job.TargetDeviceIsEmpty', 'message' => 'targetDevice is empty.', 'http_code' => 400, 'description' => 'targetDevice is empty'], ['code' => 'iot.job.TargetDeviceIsEmpty', 'message' => 'targetDevice is empty', 'http_code' => 400, 'description' => 'targetDevice is empty'], ['code' => 'iot.job.TargetDeviceOverSize', 'message' => 'targetDevice size must be less than 200.', 'http_code' => 400, 'description' => 'targetDevice size must be less than 200'], ['code' => 'iot.job.TargetDeviceOverSize', 'message' => 'targetDevice size must be less than 200', 'http_code' => 400, 'description' => 'targetDevice size must be less than 200'], ['code' => 'iot.job.TargetDevicesContainsNull', 'message' => 'targetDevices contains null value.', 'http_code' => 400, 'description' => 'targetDevices contains null value'], ['code' => 'iot.job.TargetDevicesContainsNull', 'message' => 'targetDevices contains null value', 'http_code' => 400, 'description' => 'targetDevices contains null value'], ['code' => 'iot.job.TargetGroupIdIsBlank', 'message' => 'targetGroupId is blank.', 'http_code' => 400, 'description' => 'targetGroupId is blank'], ['code' => 'iot.job.TargetGroupIdIsBlank', 'message' => 'targetGroupId is blank', 'http_code' => 400, 'description' => 'targetGroupId is blank'], ['code' => 'iot.job.TargetProductKeyIsBlank', 'message' => 'targetProductKey is blank.', 'http_code' => 400, 'description' => 'targetProductKey is blank'], ['code' => 'iot.job.TargetProductKeyIsBlank', 'message' => 'targetProductKey is blank', 'http_code' => 400, 'description' => 'targetProductKey is blank'], ['code' => 'iot.job.TargetTypeIllegal', 'message' => 'targetType is illegal.', 'http_code' => 400, 'description' => 'targetType is illegal'], ['code' => 'iot.job.TargetTypeIllegal', 'message' => 'targetType is illegal', 'http_code' => 400, 'description' => 'targetType is illegal'], ['code' => 'iot.job.TargetTypeIsBlank', 'message' => 'targetType is blank.', 'http_code' => 400, 'description' => 'targetType is blank'], ['code' => 'iot.job.TargetTypeIsBlank', 'message' => 'targetType is blank', 'http_code' => 400, 'description' => 'targetType is blank'], ['code' => 'iot.job.TaskIdIsNull', 'message' => 'The taskId parameter cannot be empty.', 'http_code' => 400, 'description' => 'The taskId parameter cannot be empty.'], ['code' => 'iot.job.TaskIdIsNUll', 'message' => 'The value of the taskId parameter cannot be null.', 'http_code' => 400, 'description' => 'The value of the taskId parameter cannot be null.'], ['code' => 'iot.job.TaskNotExist', 'message' => 'The task does not exist or has been deleted.', 'http_code' => 400, 'description' => 'The task does not exist or has been deleted.'], ['code' => 'iot.job.TaskNotExist', 'message' => 'The task is not exist.', 'http_code' => 400, 'description' => 'The task is not exist.'], ['code' => 'iot.job.TopicShortNameIsBlank', 'message' => 'topicShortName is blank.', 'http_code' => 400, 'description' => 'topicShortName is blank'], ['code' => 'iot.job.TopicShortNameIsBlank', 'message' => 'topicShortName is blank', 'http_code' => 400, 'description' => 'topicShortName is blank'], ['code' => 'iot.job.TopicShortNameIsNotString', 'message' => 'topicShortName is not string.', 'http_code' => 400, 'description' => 'topicShortName is not string'], ['code' => 'iot.job.TopicShortNameIsNotString', 'message' => 'topicShortName is not string', 'http_code' => 400, 'description' => 'topicShortName is not string'], ['code' => 'iot.job.UpdateJobFailed', 'message' => 'Failed to update the task.', 'http_code' => 400, 'description' => 'Failed to update the task.'], ['code' => 'iot.job.UpdateJobFailed', 'message' => 'update job config failed.', 'http_code' => 400, 'description' => 'update job config failed.'], ['code' => 'Iot.lab.createDeviceFailed', 'message' => 'Failed to create the device.', 'http_code' => 400, 'description' => 'Failed to create the device.'], ['code' => 'Iot.lab.executeFailed', 'message' => 'Phase execution failed.', 'http_code' => 400, 'description' => 'Phase execution failed.'], ['code' => 'Iot.lab.invokeServiceFailed', 'message' => 'Failed to invoke the service.', 'http_code' => 400, 'description' => 'Failed to invoke the service.'], ['code' => 'Iot.lab.labNameIsSame', 'message' => 'The labName of the lab is duplicated.', 'http_code' => 400, 'description' => 'The lab name is duplicated.'], ['code' => 'Iot.lab.labNameTooLong', 'message' => 'The maximum length of the labName is exceeded.', 'http_code' => 400, 'description' => 'The maximum length of lab name is exceeded.'], ['code' => 'Iot.lab.labNameWrong', 'message' => 'The labName is invalid.', 'http_code' => 400, 'description' => 'The lab name is invalid.'], ['code' => 'Iot.lab.labNotFound', 'message' => 'The lab is not found.', 'http_code' => 400, 'description' => 'The lab is not found.'], ['code' => 'Iot.lab.noPermission', 'message' => 'No permission to create lab.', 'http_code' => 400, 'description' => 'You are not authorized to create a lab.'], ['code' => 'Iot.lab.numberOverLimit', 'message' => 'The lab number exceeds the limit.', 'http_code' => 400, 'description' => 'The lab number exceeds the limit.'], ['code' => 'Iot.lab.parameterNotTemplateConfig', 'message' => 'The request parameter does not match the template configuration.', 'http_code' => 400, 'description' => 'The request parameter does not match the template configuration.'], ['code' => 'Iot.lab.productFailed', 'message' => 'Failed to create a product.', 'http_code' => 400, 'description' => 'Failed to create a product.'], ['code' => 'Iot.lab.statusLabWrong', 'message' => 'The status of lab does not permit the operation.', 'http_code' => 400, 'description' => 'The status of lab does not permit the operation.'], ['code' => 'Iot.lab.templateWrong', 'message' => 'The template of simulation lab is invalid.', 'http_code' => 400, 'description' => 'The template of simulation lab is invalid.'], ['code' => 'Iot.lab.tenantIdIsWrong', 'message' => 'The tenantId of the product is invalid.', 'http_code' => 400, 'description' => 'The tenant ID is invalid.'], ['code' => 'Iot.lab.thingModelEmpty', 'message' => 'The thing model is empty.', 'http_code' => 400, 'description' => 'The thing model is empty.'], ['code' => 'Iot.lab.updateLabStatusFailed', 'message' => 'Failed to update the lab status.', 'http_code' => 400, 'description' => 'Failed to update the lab status.'], ['code' => 'Iot.lab.virtualDeviceJobFaile', 'message' => 'Failed to create a virtual device job.', 'http_code' => 400, 'description' => 'Failed to create a virtual device job.'], ['code' => 'Iot.lab.virtualDeviceJobWrong', 'message' => 'The configuration of virtual device job is invalid.', 'http_code' => 400, 'description' => 'The configuration of virtual device job is invalid.'], ['code' => 'iot.linkwan.Abandoned', 'message' => 'The LinkWAN API is deprecated.', 'http_code' => 400, 'description' => 'The LinkWAN API is deprecated.'], ['code' => 'iot.linkwan.CloudProductNotActivated', 'message' => 'The LinkWAN cloud service is not activated.', 'http_code' => 400, 'description' => 'The LinkWAN cloud service is not activated.'], ['code' => 'iot.linkwan.DevEuiDuplicated', 'message' => 'The DevEui is duplicated. The node has been added to the current product.', 'http_code' => 400, 'description' => 'The DevEui is duplicated. The node has been added to the current product.'], ['code' => 'iot.linkwan.ExceedMaxOperationCount', 'message' => 'The maximum number of devices for a single batch has been exceeded.', 'http_code' => 400, 'description' => 'The maximum number of devices for a single batch has been exceeded.'], ['code' => 'iot.linkwan.ExceedNodeLimit', 'message' => 'The number of devices in the user contract exceeds the limit.', 'http_code' => 400, 'description' => 'The number of devices in the user contract exceeds the limit.'], ['code' => 'iot.linkwan.FeatureNotActivated', 'message' => 'The feature is not activated.', 'http_code' => 400, 'description' => 'The feature is not activated.'], ['code' => 'iot.linkwan.ForbiddenByRam', 'message' => 'You do not have the required RAM permissions to perform LinkWAN operations.', 'http_code' => 400, 'description' => 'You do not have the required RAM permissions to perform LinkWAN operations.'], ['code' => 'iot.linkwan.InternalError', 'message' => 'A LinkWAN system error occurred.', 'http_code' => 400, 'description' => 'A LinkWAN system error occurred.'], ['code' => 'iot.linkwan.InvalidParameter', 'message' => 'The input parameter is invalid.', 'http_code' => 400, 'description' => 'The input parameter is invalid.'], ['code' => 'iot.linkwan.InvalidPinCode', 'message' => 'The PinCode is invalid.', 'http_code' => 400, 'description' => 'The PinCode is invalid.'], ['code' => 'iot.linkwan.JoinPermissionAlreadyBoundNodeGroup', 'message' => 'The access certificate has been bound to another product.', 'http_code' => 400, 'description' => 'The access certificate has been bound to another product.'], ['code' => 'iot.linkwan.JoinPermissionDoesNotExist', 'message' => 'The access certificate does not exist.', 'http_code' => 400, 'description' => 'The access certificate does not exist.'], ['code' => 'iot.linkwan.LinkWanRequestFail', 'message' => 'An error occurred while calling the LinkWAN service.', 'http_code' => 400, 'description' => 'An error occurred while calling the LinkWAN service.'], ['code' => 'iot.linkwan.LinkWanUnknownException', 'message' => 'An unknown error occurred whiling processing the LinkWAN request.', 'http_code' => 400, 'description' => 'An unknown error occurred whiling processing the LinkWAN request.'], ['code' => 'iot.linkwan.NodeAlreadyAdded', 'message' => 'The device has been added to other products.', 'http_code' => 400, 'description' => 'The device has been added to other products.'], ['code' => 'iot.linkwan.NodeDoesNotExist', 'message' => 'The DevEui is invalid.', 'http_code' => 400, 'description' => 'The DevEui is invalid.'], ['code' => 'iot.linkwan.NonExistent', 'message' => 'The resource does not exist.', 'http_code' => 400, 'description' => 'The resource does not exist.'], ['code' => 'iot.linkwan.NotResourceOwner', 'message' => 'You cannot manage the resource because you are not the owner of the resource.', 'http_code' => 400, 'description' => 'You cannot manage the resource because you are not the owner of the resource.'], ['code' => 'iot.linkwan.ProductAlreadyExisted', 'message' => 'The product already exists.', 'http_code' => 400, 'description' => 'The product already exists.'], ['code' => 'iot.linkwan.ProductDoesNotExist', 'message' => 'The specified product does not exist.', 'http_code' => 400, 'description' => 'The specified product does not exist.'], ['code' => 'iot.linkwan.ResourceLocked', 'message' => 'Resources are locked by other cloud services.', 'http_code' => 400, 'description' => 'Resources are locked by other cloud services.'], ['code' => 'iot.lora.ActivateLoRaDeviceFailed', 'message' => 'Failed to activate the LoRa device.', 'http_code' => 400, 'description' => 'Failed to activate the LoRa device.'], ['code' => 'iot.lora.IllegalFport', 'message' => 'The specified multicast port number is invalid.', 'http_code' => 400, 'description' => 'The specified multicast port number is invalid.'], ['code' => 'iot.lora.inActivateLoRaDeviceFailed', 'message' => 'Failed to delete the LoRa device.', 'http_code' => 400, 'description' => 'Failed to delete the LoRa device.'], ['code' => 'iot.lora.NullMcAddress', 'message' => 'You must specify the multicast address.', 'http_code' => 400, 'description' => 'You must specify the multicast address.'], ['code' => 'iot.lora.NullMulticastMessage', 'message' => 'You must specify the multicast message.', 'http_code' => 400, 'description' => 'You must specify the multicast message.'], ['code' => 'iot.lv.canNotFindFace', 'message' => 'can not find this face', 'http_code' => 403, 'description' => 'can not find this face'], ['code' => 'iot.lv.gbServiceNotEnabled', 'message' => 'Gb28181 service not enabled.', 'http_code' => 400, 'description' => 'Gb28181 service not enabled.'], ['code' => 'iot.lv.requestAuthError', 'message' => 'request auth error.', 'http_code' => 403, 'description' => 'request auth error.'], ['code' => 'iot.lv.requestError', 'message' => 'request error', 'http_code' => 400, 'description' => 'request error'], ['code' => 'iot.lv.requestParamError', 'message' => 'request parameter error.', 'http_code' => 403, 'description' => ''], ['code' => 'iot.message.broker.ParamCheckError', 'message' => 'Param check error.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.message.broker.ProductCheckError', 'message' => 'Product check error.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.message.broker.SystemError', 'message' => 'System error.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.message.broker.TopicConfigNumExceed', 'message' => 'Topic config num exceed.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.messageborker.QueryTopicReverseRouteTableListActionError', 'message' => 'An error occurred while querying the reverse routing table.', 'http_code' => 400, 'description' => 'An error occurred while querying the reverse routing table.'], ['code' => 'iot.messageborker.QueryTopicRouteTableListActionError', 'message' => 'An error occurred while querying the routing table.', 'http_code' => 400, 'description' => 'An error occurred while querying the routing table.'], ['code' => 'iot.messagebroker.BatchPublishMessageException', 'message' => 'An error occurred while publishing multiple messages.', 'http_code' => 400, 'description' => 'An error occurred while publishing multiple messages.'], ['code' => 'Iot.MessageBroker.BatchSubTopicFailed', 'message' => 'An error occurred while batch subscribing to the topic.', 'http_code' => 500, 'description' => ''], ['code' => 'iot.messagebroker.BatchSubTopicFailed', 'message' => 'An error occurred while subscribing multiple topics at the same time.', 'http_code' => 400, 'description' => 'An error occurred while subscribing multiple topics at the same time.'], ['code' => 'iot.messagebroker.CorrelationDataExceedMaxLength', 'message' => 'The correlation data exceeds the length limit.', 'http_code' => 400, 'description' => 'The correlation data exceeds the length limit.'], ['code' => 'iot.messagebroker.CorrelationDataNotBase64Encode', 'message' => 'The correlation data in the MQTT 5.0 protocol is not base64 encoded.', 'http_code' => 400, 'description' => 'The correlation data in the MQTT 5.0 protocol is not base64 encoded.'], ['code' => 'iot.messagebroker.CreateTopicRouteFailed', 'message' => 'An error occurred while creating the topic route.', 'http_code' => 400, 'description' => 'An error occurred while creating the topic route.'], ['code' => 'iot.messagebroker.CreateTopicTemplateException', 'message' => 'An error occurred while creating the topic category.', 'http_code' => 400, 'description' => 'An error occurred while creating the topic category.'], ['code' => 'iot.messagebroker.CreateTopicTemplateFailed', 'message' => 'An error occurred while creating the topic category.', 'http_code' => 400, 'description' => 'An error occurred while creating the topic category.'], ['code' => 'iot.messagebroker.DeleteTopicRouteFailed', 'message' => 'An error occurred while deleting the topic route.', 'http_code' => 400, 'description' => 'An error occurred while deleting the topic route.'], ['code' => 'iot.messagebroker.DeleteTopicTemplateException', 'message' => 'An exception occurred while deleting the topic category.', 'http_code' => 400, 'description' => 'An exception occurred while deleting the topic category.'], ['code' => 'iot.messagebroker.DeleteTopicTemplateFailed', 'message' => 'An error occurred while deleting the topic category.', 'http_code' => 400, 'description' => 'An error occurred while deleting the topic category.'], ['code' => 'iot.messagebroker.DesireInfoInShadowMessageIsNotJson', 'message' => 'The desire parameter of the device shadow is not in the JSON format.', 'http_code' => 400, 'description' => 'The desire parameter of the device shadow is not in the JSON format.'], ['code' => 'iot.messagebroker.DesireValueIsNullInShadowMessage', 'message' => 'The desire parameter of the device shadow is empty.', 'http_code' => 400, 'description' => 'The desire parameter of the device shadow is empty.'], ['code' => 'iot.messagebroker.DestTopicNameArraySizeIsLarge', 'message' => 'The number of destination topics set for a source topic exceeds the limit.', 'http_code' => 400, 'description' => 'The number of destination topics set for a source topic exceeds the limit.'], ['code' => 'iot.messagebroker.ElementKeyOrValueIsNullInDesire', 'message' => 'The desire parameter contains an empty property identifier or value.', 'http_code' => 400, 'description' => 'The desire parameter contains an empty property identifier or value.'], ['code' => 'iot.messagebroker.ElementKeyOrValueIsNullInReport', 'message' => 'The report parameter contains an empty property identifier or value.', 'http_code' => 400, 'description' => 'The report parameter contains an empty property identifier or value.'], ['code' => 'Iot.MessageBroker.EmptySubTopicList', 'message' => 'The subscription topic list is empty.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.messagebroker.EmptySubTopicList', 'message' => 'The list of subscribed topics is empty.', 'http_code' => 400, 'description' => 'The list of subscribed topics is empty.'], ['code' => 'Iot.MessageBroker.EmptyUnSubTopicList', 'message' => 'The unsub topic list is empty.', 'http_code' => 400, 'description' => 'The topics from which you want to unsubscribe do not exist.'], ['code' => 'iot.messagebroker.HALFCONN', 'message' => 'The specified operation has failed. The device is inactive.', 'http_code' => 400, 'description' => 'The specified operation has failed. The device is inactive.'], ['code' => 'iot.messagebroker.HALFCONN', 'message' => 'The specified operation has failed. The device is in an inactive status.', 'http_code' => 400, 'description' => 'The specified operation has failed. The device is in an inactive status.'], ['code' => 'iot.messagebroker.IllegalArgument', 'message' => 'The argument is invalid.', 'http_code' => 400, 'description' => 'The parameter is invalid.'], ['code' => 'iot.messagebroker.IncorrectRuleSql', 'message' => 'The specified rule is invalid.', 'http_code' => 400, 'description' => 'The specified rule is invalid.'], ['code' => 'iot.messagebroker.InvalidFormattedSrcTopicName', 'message' => 'The topic name format is invalid.', 'http_code' => 400, 'description' => 'The topic name format is invalid.'], ['code' => 'iot.messagebroker.InvalidFormattedTopicName', 'message' => 'The topic format is invalid.', 'http_code' => 400, 'description' => 'The topic format is invalid.'], ['code' => 'Iot.MessageBroker.InvalidFormattedTopicName', 'message' => 'The topic format specified while publishing the message is incorrect.', 'http_code' => 400, 'description' => 'The topic format specified while publishing the message is incorrect.'], ['code' => 'iot.messagebroker.InvalidFormattedTopicTemplateId', 'message' => 'The format of the topic category ID is invalid.', 'http_code' => 400, 'description' => 'The format of the topic category ID is invalid.'], ['code' => 'iot.messagebroker.InvalidInstanceWithCodec', 'message' => 'Only Exclusive Enterprise Edition instances support compression and decompression.', 'http_code' => 400, 'description' => 'Only Exclusive Enterprise Edition instances support compression and decompression.'], ['code' => 'iot.messagebroker.InvalidInstanceWithCodec', 'message' => 'Only Exclusive instances support compression and decompression.', 'http_code' => 400, 'description' => 'Only Exclusive Enterprise Edition instances support compression and decompression.'], ['code' => 'iot.messagebroker.InvalidMqttResponseTopic', 'message' => 'The response topic in the MQTT 5.0 protocol is invalid.', 'http_code' => 400, 'description' => 'The response topic in the MQTT 5.0 protocol is invalid.'], ['code' => 'iot.messagebroker.InvalidOperationWithBroadcast', 'message' => 'The operation must be sub for enabling broadcast.', 'http_code' => 400, 'description' => 'You can perform only the Subscribe operation on a topic for which the broadcast feature is enabled.'], ['code' => 'iot.messagebroker.InvalidOperationWithBroadcast', 'message' => 'Only subscription is allowed for broadcast topics.', 'http_code' => 400, 'description' => 'The operation must be sub when enable broadcast.'], ['code' => 'iot.messagebroker.InvalidOperationWithProxySubscribe', 'message' => 'The operation must be sub or all for enabling proxy subscription.', 'http_code' => 400, 'description' => 'You can perform only the Subscribe or All operation on a topic for which the delegated subscription feature is enabled.'], ['code' => 'iot.messagebroker.InvalidOperationWithProxySubscribe', 'message' => 'The operation must be subscription or all for topics with proxy subscription.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.messagebroker.InvalidPubTopicFormat', 'message' => 'The pub topic cannot contain wildcard characters.', 'http_code' => 400, 'description' => 'The name of a topic that you want to send cannot contain wildcard characters.'], ['code' => 'iot.messagebroker.InvalidPubTopicFormat', 'message' => 'The topic cannot contain wildcard characters.', 'http_code' => 400, 'description' => 'The pub topic cannot contain wildcard character.'], ['code' => 'iot.messagebroker.InvalidTimeoutValue', 'message' => 'The timeout parameter is invalid.', 'http_code' => 400, 'description' => 'The timeout parameter is invalid.'], ['code' => 'iot.messagebroker.InvalidTopicTemplateOperationValue', 'message' => 'The permission of the topic category is invalid.', 'http_code' => 400, 'description' => 'The permission of the topic category is invalid.'], ['code' => 'iot.messagebroker.InvalidTopicWithBroadcast', 'message' => 'Topics for which broadcast is enabled cannot contain wildcard characters.', 'http_code' => 400, 'description' => 'The name of a topic for which the broadcast feature is enabled cannot contain wildcard characters.'], ['code' => 'iot.messagebroker.InvalidTopicWithBroadcast', 'message' => 'Broadcast topics cannot contain wildcard characters.', 'http_code' => 400, 'description' => 'The topic cannot contain wildcard character when enable broadcast.'], ['code' => 'iot.messagebroker.InvalidTopicWithCodec', 'message' => 'Topics for which compression and decompression are enabled cannot contain wildcard characters.', 'http_code' => 400, 'description' => 'The name of a topic for which the compression and decompression features are enabled cannot contain wildcard characters.'], ['code' => 'iot.messagebroker.InvalidTopicWithCodec', 'message' => 'Compressed or decompressed topics cannot contain wildcard characters.', 'http_code' => 400, 'description' => 'Topic cannot contain wildcard when enable codec.'], ['code' => 'iot.messagebroker.InvalidTopicWithProxySubscribe', 'message' => 'Topics for which proxy subscription is enabled cannot contain wildcard characters.', 'http_code' => 400, 'description' => 'The name of a topic for which the delegated subscription feature is enabled cannot contain wildcard characters.'], ['code' => 'iot.messagebroker.InvalidTopicWithProxySubscribe', 'message' => 'Topics with proxy subscription cannot contain wildcard characters.', 'http_code' => 400, 'description' => 'The name of a topic for which the broadcast feature is enabled cannot contain wildcard characters.'], ['code' => 'iot.messagebroker.InvalidUserProperty', 'message' => 'The custom property format is invalid.', 'http_code' => 400, 'description' => 'The custom property format is invalid.'], ['code' => 'iot.messagebroker.InvalidVersionValueInShadowMessage', 'message' => 'The version of the device shadow is invalid.', 'http_code' => 400, 'description' => 'The version of the device shadow is invalid.'], ['code' => 'iot.messagebroker.MessageContentIsNotBase64Encode', 'message' => 'The message content is not Base64-encoded.', 'http_code' => 400, 'description' => 'The message content is not Base64-encoded.'], ['code' => 'iot.messagebroker.MessageNotExist', 'message' => 'The message does not exist.', 'http_code' => 400, 'description' => 'The message does not exist.'], ['code' => 'iot.messagebroker.MessageSizeExceedLimit', 'message' => 'The size of the message exceeds the limit.', 'http_code' => 400, 'description' => 'The size of the message exceeds the limit.'], ['code' => 'iot.messagebroker.MethodValueIsNotUpdate', 'message' => 'The value of the method parameter in the device shadow is not update.', 'http_code' => 400, 'description' => 'The value of the method parameter in the device shadow is not update.'], ['code' => 'iot.messagebroker.NoneElementDestTopicNameInArray', 'message' => 'The topics that you subscribe to have no messages.', 'http_code' => 400, 'description' => 'The topics that you subscribe to have no messages.'], ['code' => 'iot.messagebroker.NoneElementInDesire', 'message' => 'The desire parameter does not contain properties.', 'http_code' => 400, 'description' => 'The desire parameter does not contain properties.'], ['code' => 'iot.messagebroker.NoneElementInReport', 'message' => 'No properties are submitted.', 'http_code' => 400, 'description' => 'No properties are submitted.'], ['code' => 'iot.messagebroker.NotFoundDesireInShadowMessage', 'message' => 'The desire parameter included in the state parameter of the device shadow is empty.', 'http_code' => 400, 'description' => 'The desire parameter included in the state parameter of the device shadow is empty.'], ['code' => 'iot.messagebroker.NotFoundMethodInShadowMessage', 'message' => 'No methods are defined for the device shadow.', 'http_code' => 400, 'description' => 'No methods are defined for the device shadow.'], ['code' => 'iot.messagebroker.NotFoundReportInShadowMessage', 'message' => 'No submitted data is defined in the device shadow.', 'http_code' => 400, 'description' => 'No submitted data is defined in the device shadow.'], ['code' => 'iot.messagebroker.NotFoundStateInShadowMessage', 'message' => 'No states are defined in the device shadow.', 'http_code' => 400, 'description' => 'No states are defined in the device shadow.'], ['code' => 'iot.messagebroker.NotFoundVersionOrNullVersionValue', 'message' => 'The specified Version parameter is empty or invalid.', 'http_code' => 400, 'description' => 'The specified Version parameter is empty or invalid.'], ['code' => 'iot.messagebroker.NotMatchedProductKeyWithSrcTopicOwner', 'message' => 'The ProductKey that corresponds to the subscribed topic does not belong to the current user.', 'http_code' => 400, 'description' => 'The ProductKey that corresponds to the subscribed topic does not belong to the current user.'], ['code' => 'iot.messagebroker.NullCorrelationData', 'message' => 'The correlation data is empty', 'http_code' => 400, 'description' => 'The correlation data is empty'], ['code' => 'iot.messagebroker.NullMessageContent', 'message' => 'The content of the message cannot be empty.', 'http_code' => 400, 'description' => 'The content of the message cannot be empty.'], ['code' => 'iot.messagebroker.NullShadowMessage', 'message' => 'The message content in the device shadow is empty.', 'http_code' => 400, 'description' => 'The message content in the device shadow is empty.'], ['code' => 'iot.messagebroker.NullSrcTopicName', 'message' => 'The topic name is empty.', 'http_code' => 400, 'description' => 'The topic name is empty.'], ['code' => 'iot.messagebroker.NullTopicName', 'message' => 'The topic specified while publishing the message is empty.', 'http_code' => 400, 'description' => 'The topic specified while publishing the message is empty.'], ['code' => 'iot.messagebroker.NullTopicShortName', 'message' => 'The custom topic name is empty.', 'http_code' => 400, 'description' => 'The custom topic name is empty.'], ['code' => 'iot.messagebroker.NullTopicTemplateId', 'message' => 'The topic category ID cannot empty.', 'http_code' => 400, 'description' => 'The topic category ID cannot empty.'], ['code' => 'iot.messagebroker.NullTopicTemplateOperation', 'message' => 'The permission of the topic category is empty.', 'http_code' => 400, 'description' => 'The permission of the topic category is empty.'], ['code' => 'iot.messagebroker.OFFLINE', 'message' => 'The specified operation has failed. The device is offline.', 'http_code' => 400, 'description' => 'The specified operation has failed. The device is offline.'], ['code' => 'iot.messagebroker.ProductTopicNotFound', 'message' => 'The product topic template does not exist.', 'http_code' => 400, 'description' => 'The product topic template does not exist.'], ['code' => 'iot.messagebroker.PublishMessageException', 'message' => 'An error occurred while publishing the message.', 'http_code' => 400, 'description' => 'An error occurred while publishing the message.'], ['code' => 'iot.messagebroker.PublishMessageFailed', 'message' => 'An error occurred while publishing the messages.', 'http_code' => 400, 'description' => 'An error occurred while publishing the messages.'], ['code' => 'iot.messagebroker.QueryDeviceShadowActionError', 'message' => 'An error occurred while querying the device shadow.', 'http_code' => 400, 'description' => 'An error occurred while querying the device shadow.'], ['code' => 'iot.messagebroker.QueryDeviceTopicActionError', 'message' => 'An error occurred while querying the device topics.', 'http_code' => 400, 'description' => 'An error occurred while querying the device topics.'], ['code' => 'iot.messagebroker.QueryDeviceTopicException', 'message' => 'An exception occurred while querying the device topics.', 'http_code' => 400, 'description' => 'An exception occurred while querying the device topics.'], ['code' => 'iot.messagebroker.QueryMessageFailed', 'message' => 'Failed to query the messages.', 'http_code' => 400, 'description' => 'Failed to query the messages.'], ['code' => 'iot.messagebroker.QueryProductTopicListActionError', 'message' => 'An error occurred while querying the topic categories.', 'http_code' => 400, 'description' => 'An error occurred while querying the topic categories.'], ['code' => 'iot.messagebroker.QueryRuleConfigActionException', 'message' => 'An error occurred while querying the rule configurations.', 'http_code' => 400, 'description' => 'An error occurred while querying the rule configurations.'], ['code' => 'iot.messagebroker.QueryRuleConfigActionException', 'message' => 'An exception occurred while querying the rule configuration.', 'http_code' => 400, 'description' => 'An exception occurred while querying the rule configuration.'], ['code' => 'iot.messagebroker.QueryTopicTemplateActionError', 'message' => 'An error occurred while querying topic categories.', 'http_code' => 400, 'description' => 'An error occurred while querying topic categories.'], ['code' => 'iot.messagebroker.QueryTopicTemplateException', 'message' => 'An exception occurred while querying the topic category.', 'http_code' => 400, 'description' => 'An exception occurred while querying the topic category.'], ['code' => 'iot.messagebroker.RateLimit', 'message' => 'The specified operation has failed due to throttling.', 'http_code' => 400, 'description' => 'The specified operation has failed due to throttling.'], ['code' => 'iot.messagebroker.ReportInShadowMessageIsNotJson', 'message' => 'The submitted device shadow data in the state parameter is not in the JSON format.', 'http_code' => 400, 'description' => 'The submitted device shadow data in the state parameter is not in the JSON format.'], ['code' => 'iot.messagebroker.RrpcException', 'message' => 'An error occurred while sending the RRPC message.', 'http_code' => 400, 'description' => 'An error occurred while sending the RRPC message.'], ['code' => 'iot.messagebroker.RrpcFailed', 'message' => 'An error occurred while sending the Revert-PRC message.', 'http_code' => 400, 'description' => 'An error occurred while sending the Revert-PRC message.'], ['code' => 'iot.messagebroker.ShadowMessageIsNotJson', 'message' => 'The device shadow is not in the JSON format.', 'http_code' => 400, 'description' => 'The device shadow is not in the JSON format.'], ['code' => 'iot.messagebroker.ShadowMessageLengthIsLarge', 'message' => 'The length of the string exceeds the limit set on the device shadow.', 'http_code' => 400, 'description' => 'The length of the string exceeds the limit set on the device shadow.'], ['code' => 'iot.messagebroker.ShortNameExceedMaxLength', 'message' => 'The custom topic name exceeds the length limit.', 'http_code' => 400, 'description' => 'The custom topic name exceeds the length limit.'], ['code' => 'iot.messagebroker.SubscribeFailed', 'message' => 'The subscription failed.', 'http_code' => 400, 'description' => 'The subscription failed.'], ['code' => 'iot.messagebroker.TIMEOUT', 'message' => 'A timeout error occurred.', 'http_code' => 400, 'description' => 'A timeout error occurred.'], ['code' => 'iot.messagebroker.TooManyElementInDesire', 'message' => 'The number of properties exceeds the limit.', 'http_code' => 400, 'description' => 'The number of properties exceeds the limit.'], ['code' => 'iot.messagebroker.TooManyElementInReport', 'message' => 'The number of submitted properties exceeds the limit.', 'http_code' => 400, 'description' => 'The number of submitted properties exceeds the limit.'], ['code' => 'iot.messagebroker.TooManyUserProperties', 'message' => 'Too many custom properties are specified.', 'http_code' => 400, 'description' => 'Too many custom properties are specified.'], ['code' => 'iot.messagebroker.TopicAlreadyFound', 'message' => 'The topic category name already exists under the product.', 'http_code' => 400, 'description' => 'The topic category name already exists under the product.'], ['code' => 'iot.messagebroker.TopicConfigDuplicated', 'message' => 'The topic configuration already exists.', 'http_code' => 400, 'description' => 'The topic configuration already exists.'], ['code' => 'iot.messagebroker.TopicConfigNumExceedLimit', 'message' => 'Topic config number exceed limit.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.messagebroker.TopicTemplateCountExceedMax', 'message' => 'The number of topic categories exceeds the limit.', 'http_code' => 400, 'description' => 'The number of topic categories exceeds the limit.'], ['code' => 'Iot.MessageBroker.TopicTemplateIsNotFound', 'message' => 'The topic template does not exist.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.messagebroker.TopicTemplateIsNotFound', 'message' => 'The topic category does not exist.', 'http_code' => 400, 'description' => 'The topic category does not exist.'], ['code' => 'iot.messagebroker.UnSubscribeFailed', 'message' => 'Failed to unsubscribe the topic.', 'http_code' => 400, 'description' => 'Failed to unsubscribe the topic.'], ['code' => 'iot.messagebroker.UpdateDeviceShadowMessageFailed', 'message' => 'Failed to update the device shadow.', 'http_code' => 400, 'description' => 'Failed to update the device shadow.'], ['code' => 'iot.messagebroker.UpdateTopicTemplateException', 'message' => 'An error occurred while updating the topic category.', 'http_code' => 400, 'description' => 'An error occurred while updating the topic category.'], ['code' => 'iot.messagebroker.UpdateTopicTemplateFailed', 'message' => 'An error occurred while updating the topic category.', 'http_code' => 400, 'description' => 'An error occurred while updating the topic category.'], ['code' => 'iot.messagebroker.UserPropertyListExceedMaxLength', 'message' => 'The custom properties exceeds the length limit.', 'http_code' => 400, 'description' => 'The custom properties exceeds the length limit.'], ['code' => 'iot.ota.CancelDeviceTaskFailed', 'message' => 'The device task cannot be canceled.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ota.ConfirmNotAllowedNow', 'message' => 'You cannot confirm the device update tasks at the current time.', 'http_code' => 400, 'description' => 'You cannot confirm the device update tasks at the current time.'], ['code' => 'iot.ota.ConfirmNotAllowedNow', 'message' => 'It is not allowed to confirm taskIds than not in allowed interval.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ota.CreateOTAModuleExceedLimit', 'message' => 'The number of OTA modules under the product exceeds the limit.', 'http_code' => 400, 'description' => 'The number of OTA modules under the product exceeds the limit.'], ['code' => 'iot.ota.CreateOTAModuleExceedLimit', 'message' => 'The amount of ota module under product has exceed limit.', 'http_code' => 400, 'description' => 'The amount of ota module under product has exceed limit.'], ['code' => 'iot.ota.CreateOTAModuleFailure', 'message' => 'The parameter in the CreateOTAModule request is invalid.', 'http_code' => 400, 'description' => 'The parameter in the CreateOTAModule request is invalid.'], ['code' => 'iot.ota.CreateOTAModuleFailure', 'message' => 'There is an error occurred for CreateOTAModule request.', 'http_code' => 400, 'description' => 'There is an error occurred for CreateOTAModule request.'], ['code' => 'iot.ota.CreateOTAModuleNameExist', 'message' => 'The OTA module name already exists.', 'http_code' => 400, 'description' => 'The OTA module name already exists.'], ['code' => 'iot.ota.CreateOTAModuleNameFailure', 'message' => 'the name of module is reserved.', 'http_code' => 400, 'description' => 'the name of module is reserved.'], ['code' => 'iot.ota.CreateOTAModuleParamError', 'message' => 'The parameter in the CreateOTAModule request is invalid.', 'http_code' => 400, 'description' => 'The parameter in the CreateOTAModule request is invalid.'], ['code' => 'iot.ota.CreateOTAUpgradeJobFailure', 'message' => 'Failed to create job.', 'http_code' => 400, 'description' => 'Failed to create job.'], ['code' => 'iot.ota.DeleteDefaultModuleFailure', 'message' => 'The default module can not be deleted.', 'http_code' => 400, 'description' => 'The default module can not be deleted.'], ['code' => 'iot.ota.DeleteOtaDefaultModule', 'message' => 'The default module cannot be deleted.', 'http_code' => 400, 'description' => 'The default module cannot be deleted.'], ['code' => 'iot.ota.DeleteOtaDefaultModule', 'message' => 'the default module can not be deleted.', 'http_code' => 400, 'description' => 'the default module can not be deleted.'], ['code' => 'iot.ota.DeleteOTAModuleFailure', 'message' => 'An error occurred while deleting the OTA module.', 'http_code' => 400, 'description' => 'An error occurred while deleting the OTA module.'], ['code' => 'iot.ota.DeleteOTAModuleFailure', 'message' => 'There is an error occurred for DeleteOTAModule request.', 'http_code' => 400, 'description' => 'There is an error occurred for DeleteOTAModule request.'], ['code' => 'iot.ota.DeleteOTAModulePackageExist', 'message' => 'The OTA module that has update packages cannot be deleted.', 'http_code' => 400, 'description' => 'The OTA module that has update packages cannot be deleted.'], ['code' => 'iot.ota.DeleteOTAModuleParamError', 'message' => 'An error occurred while processing the DeleteOTAModule request.', 'http_code' => 400, 'description' => 'An error occurred while processing the DeleteOTAModule request.'], ['code' => 'iot.ota.DeleteOTAModuleParamError', 'message' => 'There is an error param for DeleteOTAModule request.', 'http_code' => 400, 'description' => 'There is an error param for DeleteOTAModule request.'], ['code' => 'iot.ota.DeviceNotExist', 'message' => 'The device does not exist.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ota.DeviceNotReUpgraded', 'message' => 'There is no device can upgrade.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ota.DeviceTaskNotExist', 'message' => 'The device task does not exist.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ota.DeviceTaskNotFound', 'message' => 'There is no device task.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ota.DynamicGroupConflict', 'message' => 'The conflict between multiModuleMode and overwriteMode in dynamic group.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ota.DynamicGroupExpressionInvalid', 'message' => 'The moduleName and moduleVersion of dynamic group expression mismatch.', 'http_code' => 400, 'description' => 'The moduleName and moduleVersion of dynamic group expression mismatch.'], ['code' => 'iot.ota.dynamicGroupForbiddenInDefaultInstance', 'message' => 'The dynamicGroup is forbidden in default instance.', 'http_code' => 400, 'description' => 'The dynamicGroup is forbidden in default instance.'], ['code' => 'iot.ota.DynamicGroupTaskCountExceedLimit', 'message' => 'The task count of dynamic group has exceeded the limit.', 'http_code' => 400, 'description' => 'The task count of dynamic group has exceeded the limit.'], ['code' => 'iot.ota.EmptyDeviceInfoParams', 'message' => 'The device information cannot be empty.', 'http_code' => 400, 'description' => 'The device information cannot be empty.'], ['code' => 'iot.ota.EmptyJobId', 'message' => 'Parameter JobId is empty.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ota.EmptyMaximumPerMinute', 'message' => 'You must specify a MaximumPerMinute.', 'http_code' => 400, 'description' => 'You must specify a MaximumPerMinute.'], ['code' => 'iot.ota.EmptyNumberOfNotifiedDevicesAndNumberOfSucceedDevices', 'message' => 'Both of NumberOfNotifiedDevices and NumberOfSucceedDevices are empty.', 'http_code' => 400, 'description' => 'The NumberOfNotifiedDevices or NumberOfSucceedDevices parameter cannot be empty.'], ['code' => 'iot.ota.EmptySrcVersionList', 'message' => 'Parameter SrcVersionList is empty.', 'http_code' => 400, 'description' => 'The SrcVersionList parameter cannot be empty.'], ['code' => 'iot.ota.exponentialRateForbiddenInDefaultInstance', 'message' => 'The exponential rate is forbidden in default instance.', 'http_code' => 400, 'description' => 'The exponential rate is forbidden in default instance.'], ['code' => 'iot.ota.FailedTaskNotFound', 'message' => 'There are no failed tasks.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ota.FirmwareAndProductKeyMismatch', 'message' => 'The OTA update package is not consistent with the ProductKey.', 'http_code' => 400, 'description' => 'The OTA update package is not consistent with the ProductKey.'], ['code' => 'iot.ota.FirmwareNotFound', 'message' => 'The Firmware not exist.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ota.FirmwareNotFound', 'message' => 'The specified firmware does not exist.', 'http_code' => 400, 'description' => 'The specified firmware does not exist.'], ['code' => 'iot.ota.FirmwareNotVerified', 'message' => 'The firmware validation is not completed.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ota.FirmwareNotVerified', 'message' => 'The firmware validation not completed.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ota.GenerateOTAUploadURLFailure', 'message' => 'Failed to generate OTA upload URL.', 'http_code' => 400, 'description' => 'Failed to generate OTA upload URL.'], ['code' => 'iot.ota.GroupNotExist', 'message' => 'The group does not exist.', 'http_code' => 400, 'description' => 'The group does not exist.'], ['code' => 'iot.ota.IncorrectFormattedFirmwareVersion', 'message' => 'The format of the OTA firmware version is invalid.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ota.IncorrectFormattedVersion', 'message' => 'The firmware version format is invalid.', 'http_code' => 400, 'description' => 'The firmware version format is invalid.'], ['code' => 'iot.ota.InstanceIdMisMatch', 'message' => 'The instanceId is invalid.', 'http_code' => 400, 'description' => 'The instanceId is invalid.'], ['code' => 'iot.ota.InsufficientQuota', 'message' => 'Insufficient quota for device upgrading.', 'http_code' => 400, 'description' => 'Insufficient quota for device upgrading.'], ['code' => 'iot.ota.InvalidBaseRatePerMinute', 'message' => 'Parameter BaseRatePerMinute is invalid.', 'http_code' => 400, 'description' => 'The value of the BaseRatePerMinute parameter is invalid.'], ['code' => 'iot.ota.InvalidBaseSpeedPerMinute', 'message' => 'Invalid baseSpeedPerMinute.', 'http_code' => 400, 'description' => 'Invalid baseSpeedPerMinute.'], ['code' => 'iot.ota.InvalidConstantSpeedParameter', 'message' => 'The parameter of constant speed is invalid.', 'http_code' => 400, 'description' => 'The parameter that specifies a constant rate is invalid.'], ['code' => 'iot.ota.InvalidExponentialRateParameter', 'message' => 'Invalid exponential rate parameter.', 'http_code' => 400, 'description' => 'Invalid exponential rate parameter.'], ['code' => 'iot.ota.InvalidFirmwareId', 'message' => 'The ID of the OTA update package is invalid.', 'http_code' => 400, 'description' => 'The ID of the OTA update package is invalid.'], ['code' => 'iot.ota.InvalidFirmwareId', 'message' => 'The firmware is not exist.', 'http_code' => 400, 'description' => 'The firmware is not exist.'], ['code' => 'iot.ota.InvalidFirmwareUid', 'message' => 'The firmware is not exist.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ota.InvalidIncrementFactor', 'message' => 'Parameter IncrementFactor is invalid.', 'http_code' => 400, 'description' => 'The value of the IncrementFactor parameter is invalid.'], ['code' => 'iot.ota.InvalidIncrementFactor', 'message' => 'Invalid incrementFactor.', 'http_code' => 400, 'description' => 'Invalid incrementFactor.'], ['code' => 'iot.ota.InvalidJobId', 'message' => 'The job is not existed.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ota.InvalidMaximumPerMinute', 'message' => 'Parameter MaximumPerMinute is invalid.', 'http_code' => 400, 'description' => 'The value of the MaxSpeedLimit parameter is invalid.'], ['code' => 'iot.ota.InvalidMaximumPerMinute', 'message' => 'Invalid MaximumPerMinute.', 'http_code' => 400, 'description' => 'Invalid MaximumPerMinute.'], ['code' => 'iot.ota.InvalidNumberOfNotifiedDevicesOrNumberOfSucceedDevices', 'message' => 'One of NumberOfNotifiedDevices and NumberOfSucceedDevices is invalid.', 'http_code' => 400, 'description' => 'The value of the NumberOfNotifiedDevices or NumberOfSucceedDevices parameter is invalid.'], ['code' => 'iot.ota.InvalidOtaModuleName', 'message' => 'The format of the module name is invalid.', 'http_code' => 400, 'description' => 'The format of the module name is invalid.'], ['code' => 'iot.ota.InvalidOtaModuleName', 'message' => 'the format of module name is invalid.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ota.InvalidOtaModuleName', 'message' => 'The module name is invalid.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ota.InvalidSrcVersionList', 'message' => 'Parameter SrcVersionList does not support by group upgrade.', 'http_code' => 400, 'description' => 'The SrcVersionList parameter is optional when you update devices by device group.'], ['code' => 'iot.ota.InvalidSrcVersionList', 'message' => 'Parameter SrcVersionList is invalid.', 'http_code' => 400, 'description' => 'The SrcVersionList parameter is invalid.'], ['code' => 'iot.ota.InvalidSrcVersionListParameter', 'message' => 'Parameter SrcVersionList does not support by group upgrade.', 'http_code' => 400, 'description' => 'The SrcVersionList parameter is optional when you update devices by device group.'], ['code' => 'iot.ota.InvalidStrategyType', 'message' => 'Invalid strategy type.', 'http_code' => 400, 'description' => 'Invalid strategy type.'], ['code' => 'iot.ota.InvalidTaskExist', 'message' => 'The taskId list contains at least an invalid task.', 'http_code' => 400, 'description' => 'The list of update tasks contains at least one task that is not canceled or fails.'], ['code' => 'iot.ota.InvalidTaskId', 'message' => 'The tasks are not existed.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ota.InvalidTaskStatus', 'message' => 'The parameter taskStatus is invalid.', 'http_code' => 400, 'description' => 'The parameter taskStatus is invalid.'], ['code' => 'iot.ota.InvalidTaskUid', 'message' => 'The taskUid is invalid.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ota.InvalidTimeout', 'message' => 'Parameter TimeoutInMinutes is invalid.', 'http_code' => 400, 'description' => 'Parameter TimeoutInMinutes is invalid.'], ['code' => 'iot.ota.InvalidUpgradeType', 'message' => 'Invalid upgrade type.', 'http_code' => 400, 'description' => 'Invalid upgrade type.'], ['code' => 'iot.ota.InvalidUser', 'message' => 'The user is invalid.', 'http_code' => 400, 'description' => 'The user is invalid.'], ['code' => 'iot.ota.JobAlreadyCanceled', 'message' => 'The job has already been canceled.', 'http_code' => 400, 'description' => 'The job has already been canceled.'], ['code' => 'iot.ota.JobCanceled', 'message' => 'The job has already been canceled.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ota.JobFinished', 'message' => 'The job has already finished.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ota.JobHasCanceled', 'message' => 'The job has canceled.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ota.JobHasFinished', 'message' => 'The job has finished.', 'http_code' => 400, 'description' => 'The job has finished.'], ['code' => 'iot.ota.JobHasNoScheduleTime', 'message' => 'The job has no ScheduleTime.', 'http_code' => 400, 'description' => 'The job has no ScheduleTime.'], ['code' => 'iot.ota.JobTagIsTooLong', 'message' => 'The tags of job exceed the maximum number of characters.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ota.JobTagKeyInvalid', 'message' => 'The key of tag is invalid.', 'http_code' => 400, 'description' => 'The key of tag is invalid.'], ['code' => 'iot.ota.JobTagTooMany', 'message' => 'The amount of tags exceeds the limit.', 'http_code' => 400, 'description' => 'The amount of tags exceeds the limit.'], ['code' => 'iot.ota.JobTagValueInvalid', 'message' => 'The value of tag is invalid.', 'http_code' => 400, 'description' => 'The value of tag is invalid.'], ['code' => 'iot.ota.ListDeviceUpgradeInfoFailure', 'message' => 'Failed to list upgrade record.', 'http_code' => 400, 'description' => 'Failed to list upgrade record.'], ['code' => 'iot.ota.ListOTAJobFailed', 'message' => 'Failed to list OTA jobs.', 'http_code' => 400, 'description' => 'Failed to list OTA jobs.'], ['code' => 'iot.ota.ListOTAModuleFailure', 'message' => 'An error occurred while processing the ListOTAModuleByProduct request.', 'http_code' => 400, 'description' => 'An error occurred while processing the ListOTAModuleByProduct request.'], ['code' => 'iot.ota.ListOTAModuleFailure', 'message' => 'There is an error occurred for ListOTAModuleByProduct request.', 'http_code' => 400, 'description' => 'There is an error occurred for ListOTAModuleByProduct request.'], ['code' => 'iot.ota.ListOTAModuleParamError', 'message' => 'The parameter in the ListOTAModuleByProduct request is invalid.', 'http_code' => 400, 'description' => 'The parameter in the ListOTAModuleByProduct request is invalid.'], ['code' => 'iot.ota.ListOTAModuleParamError', 'message' => 'There is an error param for ListOTAModuleByProduct request.', 'http_code' => 400, 'description' => 'There is an error param for ListOTAModuleByProduct request.'], ['code' => 'iot.ota.multiModuleModeForbiddenInDefaultInstance', 'message' => 'The multiModuleMode is forbidden in default instance.', 'http_code' => 400, 'description' => 'The multiModuleMode is forbidden in default instance.'], ['code' => 'iot.ota.NoDeviceCanUpgrade', 'message' => 'No devices are available.', 'http_code' => 400, 'description' => 'No devices are available.'], ['code' => 'iot.ota.noDynamicJob', 'message' => 'Task is not dynamic.', 'http_code' => 400, 'description' => 'Task is not dynamic.'], ['code' => 'iot.ota.noDynamicJob', 'message' => 'Task is not dynamic', 'http_code' => 400, 'description' => 'Task is not dynamic'], ['code' => 'iot.ota.NotDeviceOwner', 'message' => 'The user is not owner of device.', 'http_code' => 400, 'description' => 'The user is not owner of device.'], ['code' => 'iot.ota.NotExistedDevice', 'message' => 'The device does not exist.', 'http_code' => 400, 'description' => 'The device does not exist.'], ['code' => 'iot.ota.NotFirmwareOwner', 'message' => 'The user is not owner of firmware.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ota.NullOTAJobId', 'message' => 'Parameter JobId is empty.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ota.NullOtaModuleName', 'message' => 'The OTA module name cannot be empty.', 'http_code' => 400, 'description' => 'The OTA module name cannot be empty.'], ['code' => 'iot.ota.NullOtaModuleName', 'message' => 'the module name can not be empty.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ota.NullOtaModuleName', 'message' => 'The module name must be specified.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ota.NullSrcVersions', 'message' => 'You must specify SrcVersions.', 'http_code' => 400, 'description' => 'You must specify SrcVersions.'], ['code' => 'iot.ota.OperationForbidden', 'message' => 'This operation is forbidden by the tenantId.', 'http_code' => 400, 'description' => 'This operation is forbidden by the tenantId.'], ['code' => 'iot.ota.OTAModuleNotExist', 'message' => 'The OTA module does not exist.', 'http_code' => 400, 'description' => 'The OTA module does not exist.'], ['code' => 'iot.ota.OverWriteAndMultiModuleConflict', 'message' => 'Both of multiModuleMode and overwriteMode can not take effect at the same time.', 'http_code' => 400, 'description' => 'Both of multiModuleMode and overwriteMode can not take effect at the same time.'], ['code' => 'iot.ota.PackageFileNameDuplicated', 'message' => 'The file name of multi files are duplicated.', 'http_code' => 400, 'description' => 'The file name of multi files are duplicated.'], ['code' => 'iot.ota.paramError', 'message' => 'SrcVersion invalid', 'http_code' => 400, 'description' => 'SrcVersion invalid'], ['code' => 'iot.ota.paramError', 'message' => 'Srcversion format is invalid', 'http_code' => 400, 'description' => 'Srcversion format is invalid'], ['code' => 'iot.ota.paramError', 'message' => 'SrcVersion is null', 'http_code' => 400, 'description' => 'SrcVersion is null'], ['code' => 'iot.ota.paramError', 'message' => 'Bad timeout setting', 'http_code' => 400, 'description' => 'Bad timeout setting'], ['code' => 'iot.ota.paramError', 'message' => 'TaskUid is not empty', 'http_code' => 400, 'description' => 'TaskUid is not empty'], ['code' => 'iot.ota.ParameterCurrentPageInvalid', 'message' => 'The parameter currentPage is invalid.', 'http_code' => 400, 'description' => 'The parameter currentPage is invalid.'], ['code' => 'iot.ota.ParameterNextTokenNotExist', 'message' => 'The parameter nextToken is not exist.', 'http_code' => 400, 'description' => 'The parameter nextToken is not exist.'], ['code' => 'iot.ota.ParameterPageSizeInvalid', 'message' => 'The parameter pageSize is invalid.', 'http_code' => 400, 'description' => 'The parameter pageSize is invalid.'], ['code' => 'iot.ota.ParamInvalid', 'message' => 'The parameter is invalid.', 'http_code' => 400, 'description' => 'the param is invalid'], ['code' => 'iot.ota.queryDeviceFailure', 'message' => 'The query device failed.', 'http_code' => 400, 'description' => 'The query device failed.'], ['code' => 'iot.ota.QueryUpgradeTaskFailed', 'message' => 'Failed to query upgrade record.', 'http_code' => 400, 'description' => 'Failed to query upgrade record.'], ['code' => 'iot.ota.ReupgradeFailedAfterScheduleFinishTime', 'message' => 'Reupgrade could not be initiated after the schedule finish time has been reached.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ota.SrcVersionsSizeExceedMax', 'message' => 'Size of source versions exceeds limit.', 'http_code' => 400, 'description' => 'Size of source versions exceeds limit.'], ['code' => 'iot.ota.StrategyNotFound', 'message' => 'The specified strategy does not exist.', 'http_code' => 400, 'description' => 'The specified strategy does not exist.'], ['code' => 'iot.ota.tag.KeyDuplicated', 'message' => 'The tags must be unique.', 'http_code' => 400, 'description' => 'The tags must be unique.'], ['code' => 'iot.ota.tag.KeyDuplicated', 'message' => 'The tag key is duplicated.', 'http_code' => 400, 'description' => 'there are duplicated tag key'], ['code' => 'iot.ota.tag.KeyDuplicated', 'message' => 'Invalid Tags.', 'http_code' => 400, 'description' => 'Invalid Tags.'], ['code' => 'iot.ota.TagsTooMany', 'message' => 'The maximum number of tags is exceeded.', 'http_code' => 400, 'description' => 'there are too many tags'], ['code' => 'iot.ota.TagTotalLengthExceed', 'message' => 'The tags of job exceed the maximum number of characters.', 'http_code' => 400, 'description' => 'The tags of job exceed the maximum number of characters.'], ['code' => 'iot.ota.TagValueInvalid', 'message' => 'The tag value is invalid.', 'http_code' => 400, 'description' => 'the tag value is invalid'], ['code' => 'iot.ota.TaskIdIsNull', 'message' => 'The task ID cannot be empty.', 'http_code' => 400, 'description' => 'The task ID cannot be empty.'], ['code' => 'iot.ota.TaskIdIsNull', 'message' => 'There is no taskId in parameters.', 'http_code' => 400, 'description' => 'There is no taskId in parameters.'], ['code' => 'iot.ota.taskNotExist', 'message' => 'Task is not existed.', 'http_code' => 400, 'description' => 'Task is not existed.'], ['code' => 'iot.ota.taskNotExist', 'message' => 'Task is not existed', 'http_code' => 400, 'description' => 'Task is not existed'], ['code' => 'iot.ota.TaskNotFound', 'message' => 'The task is not existed.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ota.TenantIdMisMatch', 'message' => 'The tenantId is invalid.', 'http_code' => 400, 'description' => 'The tenantId is invalid.'], ['code' => 'iot.ota.TooManyDeviceNames', 'message' => 'There are too many deviceNames in parameters.', 'http_code' => 400, 'description' => 'There are too many deviceNames in parameters.'], ['code' => 'iot.ota.TooManyOtaTask', 'message' => 'Too many tasks are specified.', 'http_code' => 400, 'description' => 'Too many tasks are specified.'], ['code' => 'iot.ota.TooManyOtaTask', 'message' => 'There are too many tasks in parameters.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ota.TooManyOtaTaska', 'message' => 'dfdsfdsf', 'http_code' => 400, 'description' => 'dfdsfdsf'], ['code' => 'iot.ota.UnmatchedJob', 'message' => 'The jobId and taskId do not match.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ota.UpdateOTAModuleFailure', 'message' => 'An error occurred while processing the UpdateOTAModule request.', 'http_code' => 400, 'description' => 'An error occurred while processing the UpdateOTAModule request.'], ['code' => 'iot.ota.UpdateOTAModuleFailure', 'message' => 'There is an error occurred for UpdateOTAModule request.', 'http_code' => 400, 'description' => 'There is an error occurred for UpdateOTAModule request.'], ['code' => 'iot.ota.UpdateOTAModuleNameFailure', 'message' => 'the name of module is reserved.', 'http_code' => 400, 'description' => 'the name of module is reserved.'], ['code' => 'iot.ota.UpdateOTAModuleParamError', 'message' => 'The parameter in the UpdateOTAModule request is invalid.', 'http_code' => 400, 'description' => 'The parameter in the UpdateOTAModule request is invalid.'], ['code' => 'iot.ota.UpdateOTAModuleParamError', 'message' => 'There is an error param for UpdateOTAModule request.', 'http_code' => 400, 'description' => 'There is an error param for UpdateOTAModule request.'], ['code' => 'iot.ota.UpgradeDeviceCountExceedLimit', 'message' => 'The upgrade device count has exceeded the limit.', 'http_code' => 400, 'description' => 'The upgrade device count has exceeded the limit.'], ['code' => 'iot.printingtemplate.BizCodeHasExisted', 'message' => 'biz code has existed', 'http_code' => 400, 'description' => 'biz code has existed'], ['code' => 'iot.printingtemplate.TotalExceeded', 'message' => 'printing template total exceeded', 'http_code' => 400, 'description' => 'printing template total exceeded'], ['code' => 'iot.printservice.NotSigned', 'message' => 'pring service not open.', 'http_code' => 400, 'description' => 'pring service not open.'], ['code' => 'iot.printservice.NotSigned', 'message' => 'print service not open.', 'http_code' => 400, 'description' => 'print service not open.'], ['code' => 'iot.printservice.NotSigned', 'message' => 'pring service not open', 'http_code' => 400, 'description' => 'pring service not open'], ['code' => 'iot.printservice.ProjectHasStopped', 'message' => 'project has stopped', 'http_code' => 400, 'description' => 'project has stopped'], ['code' => 'iot.prod.AbilityIdentifierIsAlreadyExisted', 'message' => 'The specified feature identifier already exists.', 'http_code' => 400, 'description' => 'The specified feature identifier already exists.'], ['code' => 'iot.prod.AbilityNameRepeated', 'message' => 'The feature names must be unique.', 'http_code' => 400, 'description' => 'The feature names must be unique.'], ['code' => 'iot.prod.AbilityRepeated', 'message' => 'The identifiers must be unique.', 'http_code' => 400, 'description' => 'The identifiers must be unique.'], ['code' => 'iot.prod.AlreadyExistedProductName', 'message' => 'The specified name has already been used for another product.', 'http_code' => 400, 'description' => 'The specified name has already been used for another product.'], ['code' => 'iot.prod.AlreadyExistedProductTag', 'message' => 'You cannot perform this operation. Some of the specified product tags already exist.', 'http_code' => 400, 'description' => 'You cannot perform this operation. Some of the specified product tags already exist.'], ['code' => 'iot.prod.AuthorizeProductFailed', 'message' => 'Failed to authorize the product.', 'http_code' => 400, 'description' => 'Failed to authorize the product.'], ['code' => 'iot.prod.AuthorizeProductToPoolFailed', 'message' => 'An error occurred while authorizing the public pool to use the product.', 'http_code' => 400, 'description' => 'An error occurred while authorizing the public pool to use the product.'], ['code' => 'iot.prod.AuthorizeProductToTenantFailed', 'message' => 'An error occurred while authorizing the tenant to use the product.', 'http_code' => 400, 'description' => 'An error occurred while authorizing the tenant to use the product.'], ['code' => 'iot.prod.AuthProductToISVFailed', 'message' => 'Failed to authorize the ISV to manage the product.', 'http_code' => 400, 'description' => 'Failed to authorize the ISV to manage the product.'], ['code' => 'iot.prod.BatchCreateModelConfigFailed', 'message' => 'Failed to create the TSL models.', 'http_code' => 400, 'description' => 'Failed to create the TSL models.'], ['code' => 'iot.prod.BatchCreateThingModelFailed', 'message' => 'Failed to create the TSL model.', 'http_code' => 400, 'description' => 'Failed to create the TSL model.'], ['code' => 'iot.prod.BatchDeleteModelConfigFailed', 'message' => 'Failed to delete the TSL models.', 'http_code' => 400, 'description' => 'Failed to delete the TSL models.'], ['code' => 'iot.prod.BatchUpdateModelConfigFailed', 'message' => 'Failed to update the TSL models.', 'http_code' => 400, 'description' => 'Failed to update the TSL models.'], ['code' => 'iot.prod.CaIssueModelNotPrivate', 'message' => 'Private CA certificates are not supported for this product.', 'http_code' => 400, 'description' => 'Private CA certificates are not supported for this product.'], ['code' => 'iot.prod.CancelProductAuthFailed', 'message' => 'An error occurred while canceling the product authorization.', 'http_code' => 400, 'description' => 'An error occurred while canceling the product authorization.'], ['code' => 'iot.prod.CancelReleaseProductError', 'message' => 'An error occurred while unpublishing the product.', 'http_code' => 400, 'description' => 'An error occurred while unpublishing the product.'], ['code' => 'iot.prod.CategoryAlreadyExist', 'message' => 'The category already exist.', 'http_code' => 400, 'description' => 'The category already exist.'], ['code' => 'iot.prod.CategoryNotExist', 'message' => 'The category does not exist.', 'http_code' => 400, 'description' => 'The category does not exist.'], ['code' => 'iot.prod.CheckAlinkProtocolFailed', 'message' => 'An error occurred while checking the Alink protocol.', 'http_code' => 400, 'description' => 'An error occurred while checking the Alink protocol.'], ['code' => 'iot.prod.ConcurrentScriptOperation', 'message' => 'The concurrent operations on the same script are not allowed.', 'http_code' => 400, 'description' => 'The concurrent operations on the same script are not allowed.'], ['code' => 'iot.prod.CopyProductAbilityError', 'message' => 'An error occurred while copying the product features.', 'http_code' => 400, 'description' => 'An error occurred while copying the product features.'], ['code' => 'iot.prod.CopyThingModelFailed', 'message' => 'Failed to copy the TSL model.', 'http_code' => 400, 'description' => 'Failed to copy the TSL model.'], ['code' => 'iot.prod.CopyThingModelFailed', 'message' => 'failed to copy the thing model.', 'http_code' => 400, 'description' => 'failed to copy the thing model.'], ['code' => 'iot.prod.CreateCategoryFailed', 'message' => 'Failed to create the category.', 'http_code' => 400, 'description' => 'Failed to create the category.'], ['code' => 'iot.prod.CreateCategoryTagFailed', 'message' => 'Failed to create a category tag.', 'http_code' => 400, 'description' => 'Failed to create a category tag.'], ['code' => 'iot.prod.CreateDeviceForbidden', 'message' => 'The product has been associated with other platforms.The device cannot be created under the product.', 'http_code' => 400, 'description' => 'The product has been associated with other platforms.The device cannot be created under the product.'], ['code' => 'iot.prod.CreateEventFailed', 'message' => 'Failed to create the event.', 'http_code' => 400, 'description' => 'Failed to create the event.'], ['code' => 'iot.prod.CreateEventTagFailed', 'message' => 'Failed to create the event tag.', 'http_code' => 400, 'description' => 'Failed to create the event tag.'], ['code' => 'iot.prod.CreateExtendPropertyFailed', 'message' => 'An error occurred while creating the extended property.', 'http_code' => 400, 'description' => 'An error occurred while creating the extended property.'], ['code' => 'iot.prod.CreateID2ProductFailed', 'message' => 'An error occurred while creating the ID² product.', 'http_code' => 400, 'description' => 'An error occurred while creating the ID² product.'], ['code' => 'iot.prod.CreateLoRaProductFailed', 'message' => 'An error occurred while creating the LoRa product.', 'http_code' => 400, 'description' => 'An error occurred while creating the LoRa product.'], ['code' => 'iot.prod.CreateLoRaProductFailed', 'message' => 'An error occurred while creating LoRa product.', 'http_code' => 400, 'description' => 'An error occurred while creating LoRa product.'], ['code' => 'iot.prod.CreateProductAbilityFailed', 'message' => 'An error occurred while creating the product feature.', 'http_code' => 400, 'description' => 'An error occurred while creating the product feature.'], ['code' => 'iot.prod.CreateProductFailed', 'message' => 'An error occurred while creating the product.', 'http_code' => 400, 'description' => 'An error occurred while creating the product.'], ['code' => 'iot.prod.CreateProductTagFailed', 'message' => 'An error occurred while creating a product tag.', 'http_code' => 400, 'description' => 'An error occurred while creating a product tag.'], ['code' => 'iot.prod.CreateProductTopicFailed', 'message' => 'An error occurred while creating the topic category of the product.', 'http_code' => 400, 'description' => 'An error occurred while creating the topic category of the product.'], ['code' => 'iot.prod.CreatePropertyFailed', 'message' => 'Failed to create the property.', 'http_code' => 400, 'description' => 'Failed to create the property.'], ['code' => 'iot.prod.CreatePropertyTagFailed', 'message' => 'Failed to create the property tag.', 'http_code' => 400, 'description' => 'Failed to create the property tag.'], ['code' => 'iot.prod.CreateScriptDraftFailed', 'message' => 'An error occurred while creating the script draft.', 'http_code' => 400, 'description' => 'An error occurred while creating the script draft.'], ['code' => 'iot.prod.CreateScriptFailed', 'message' => 'An error occurred while creating the script.', 'http_code' => 400, 'description' => 'An error occurred while creating the script.'], ['code' => 'iot.prod.CreateServiceFailed', 'message' => 'Failed to create the service.', 'http_code' => 400, 'description' => 'Failed to create the service.'], ['code' => 'iot.prod.CreateServiceTagFailed', 'message' => 'Failed to add the service tag.', 'http_code' => 400, 'description' => 'Failed to add the service tag.'], ['code' => 'iot.prod.CustomPropertiesExceedLimit', 'message' => 'The number of custom properties exceeds the limit.', 'http_code' => 400, 'description' => 'The number of custom properties exceeds the limit.'], ['code' => 'iot.prod.delete.ProductHasDevice', 'message' => 'The product cannot be deleted because one or more devices still exist under it.', 'http_code' => 400, 'description' => 'The product cannot be deleted because one or more devices still exist under it.'], ['code' => 'iot.prod.delete.ProductHasDeviceAlready', 'message' => 'A device already exists under the product.', 'http_code' => 400, 'description' => 'A device already exists under the product.'], ['code' => 'iot.prod.DeleteCategoryFailed', 'message' => 'Failed to delete the category.', 'http_code' => 400, 'description' => 'Failed to delete the category.'], ['code' => 'iot.prod.DeleteCategoryTagFailed', 'message' => 'Failed to delete the category.', 'http_code' => 400, 'description' => 'Failed to delete the category.'], ['code' => 'iot.prod.DeleteEventFailed', 'message' => 'Failed to delete the event.', 'http_code' => 400, 'description' => 'Failed to delete the event.'], ['code' => 'iot.prod.DeleteExtendPropertyFailed', 'message' => 'An error occurred while deleting the extended property.', 'http_code' => 400, 'description' => 'An error occurred while deleting the extended property.'], ['code' => 'iot.prod.DeleteLoRaProductFailed', 'message' => 'An error occurred while deleting the LoRa product.', 'http_code' => 400, 'description' => 'An error occurred while deleting the LoRa product.'], ['code' => 'iot.prod.DeleteProductAbilityFailed', 'message' => 'An error occurred while deleting the product feature.', 'http_code' => 400, 'description' => 'An error occurred while deleting the product feature.'], ['code' => 'iot.prod.DeleteProductAbilityFailed', 'message' => 'The DevEui format is invalid.', 'http_code' => 400, 'description' => 'The DevEui format is invalid.'], ['code' => 'iot.prod.DeleteProductFailed', 'message' => 'An error occurred while deleting the product.', 'http_code' => 400, 'description' => 'An error occurred while deleting the product.'], ['code' => 'iot.prod.DeleteProductTagFailed', 'message' => 'An error occurred while deleting the product tags.', 'http_code' => 400, 'description' => 'An error occurred while deleting the product tags.'], ['code' => 'iot.prod.DeletePropertyFailed', 'message' => 'Failed to delete the property.', 'http_code' => 400, 'description' => 'Failed to delete the property.'], ['code' => 'iot.prod.DeleteScriptDraftFailed', 'message' => 'An error occurred while deleting the script draft.', 'http_code' => 400, 'description' => 'An error occurred while deleting the script draft.'], ['code' => 'iot.prod.DeleteServiceFailed', 'message' => 'Failed to delete the service.', 'http_code' => 400, 'description' => 'Failed to delete the service.'], ['code' => 'iot.prod.DifferentTypeOfSrcProAndTargetProError', 'message' => 'The device type of the source product and the destination product must be the same.', 'http_code' => 400, 'description' => 'The device type of the source product and the destination product must be the same.'], ['code' => 'iot.prod.DisableTSLValidationFailed', 'message' => 'An error occurred while disabling TSL verification.', 'http_code' => 400, 'description' => 'An error occurred while disabling TSL verification.'], ['code' => 'iot.prod.DistributedProdOperationDeny', 'message' => 'The operation is prohibited for the distributed product.', 'http_code' => 400, 'description' => 'The operation is prohibited for the distributed product.'], ['code' => 'iot.prod.DistributedProdOperationDeny', 'message' => 'Prohibited operation of distributed products.', 'http_code' => 400, 'description' => 'Prohibited operation of distributed products.'], ['code' => 'iot.prod.DownloadScriptFailed', 'message' => 'An error occurred while downloading the script.', 'http_code' => 400, 'description' => 'An error occurred while downloading the script.'], ['code' => 'iot.prod.DSLGenerateFailed', 'message' => 'An error occurred while generating the TSL model.', 'http_code' => 400, 'description' => 'An error occurred while generating the TSL model.'], ['code' => 'iot.prod.DSLGenerateFailed', 'message' => 'An error occurred while generating the TSL.', 'http_code' => 400, 'description' => 'An error occurred while generating the TSL.'], ['code' => 'iot.prod.DuplicatedIdentifierInModelConfig', 'message' => 'The identifiers must be unique.', 'http_code' => 400, 'description' => 'The identifiers must be unique.'], ['code' => 'iot.prod.DuplicateTagKeyInArray', 'message' => 'The tag keys of the product must be unique.', 'http_code' => 400, 'description' => 'The tag keys of the product must be unique.'], ['code' => 'iot.prod.DuplicateTagKeyInArray', 'message' => 'The keys of all listed product tags must be different.', 'http_code' => 400, 'description' => 'The keys of all listed product tags must be different.'], ['code' => 'iot.prod.EmptyProductList', 'message' => 'You must specify a product.', 'http_code' => 400, 'description' => 'You must specify a product.'], ['code' => 'iot.prod.EnableTSLValidationFailed', 'message' => 'An error occurred while enabling TSL validation.', 'http_code' => 400, 'description' => 'An error occurred while enabling TSL validation.'], ['code' => 'Iot.prod.EventNotFound', 'message' => 'Event not found.', 'http_code' => 400, 'description' => 'Event not found.'], ['code' => 'iot.prod.EventSizeOutOfBounds', 'message' => 'The number of standard events exceeds the limit.', 'http_code' => 400, 'description' => 'The number of standard events exceeds the limit.'], ['code' => 'iot.prod.FailedCreateMergeOrder', 'message' => 'Failed to create the order.', 'http_code' => 400, 'description' => 'Failed to create the order.'], ['code' => 'iot.prod.FailTurnOnOrOffSecureUpgrade', 'message' => 'An error occurred while enabling or disabling secure update for the product.', 'http_code' => 400, 'description' => 'An error occurred while enabling or disabling secure update for the product.'], ['code' => 'iot.prod.GetCategoryFailed', 'message' => 'Failed to query categories.', 'http_code' => 400, 'description' => 'Failed to query categories.'], ['code' => 'iot.prod.HasDevicesInTransferError', 'message' => 'The device is being transferred.', 'http_code' => 400, 'description' => 'The device is being transferred.'], ['code' => 'iot.prod.HasDevicesTransferredError', 'message' => 'An error occurred. Some devices under this product have been transferred.', 'http_code' => 400, 'description' => 'An error occurred. Some devices under this product have been transferred.'], ['code' => 'iot.prod.HasProductAuthorizationRelations', 'message' => 'The specified product has been authorized.', 'http_code' => 400, 'description' => 'The specified product has been authorized.'], ['code' => 'iot.prod.ID2ProductCreateFailed', 'message' => 'An error occurred while creating the ID² product.', 'http_code' => 400, 'description' => 'An error occurred while creating the ID² product.'], ['code' => 'iot.prod.IdentifierNotExisted', 'message' => 'The identifier does not exist.', 'http_code' => 400, 'description' => 'The identifier does not exist.'], ['code' => 'iot.prod.ILopProductHasNoIsoId', 'message' => 'The living IoT Platform products have no related projects.', 'http_code' => 400, 'description' => 'The living IoT Platform products have no related projects.'], ['code' => 'iot.prod.ImportThingModelTslFailed', 'message' => 'Failed to import the TSL model.', 'http_code' => 400, 'description' => 'Failed to import the TSL model.'], ['code' => 'iot.prod.InvalidAliyunCommodityCode', 'message' => 'The specified AliyunCommodityCode parameter is invalid.', 'http_code' => 400, 'description' => 'The specified AliyunCommodityCode parameter is invalid.'], ['code' => 'iot.prod.InvalidBuiltInIdentifier', 'message' => 'The built-in identifier is invalid.', 'http_code' => 400, 'description' => 'The built-in identifier is invalid.'], ['code' => 'iot.prod.InvalidCategoryOrNamespace', 'message' => 'The category key or namespace is invalid.', 'http_code' => 400, 'description' => 'The category key or namespace is invalid.'], ['code' => 'iot.prod.InvalidCheckAlinkType', 'message' => 'The type parameter in the Alink protocol is invalid.', 'http_code' => 400, 'description' => 'The type parameter in the Alink protocol is invalid.'], ['code' => 'iot.prod.InvalidDynamicRegister', 'message' => 'The parameter to enable or disable dynamic registration is invalid.', 'http_code' => 400, 'description' => 'The parameter to enable or disable dynamic registration is invalid.'], ['code' => 'iot.prod.InvalidedAccountStructureError', 'message' => 'The specified account is not supported. Only Alibaba Cloud accounts are supported.', 'http_code' => 400, 'description' => 'The specified account is not supported. Only Alibaba Cloud accounts are supported.'], ['code' => 'iot.prod.InvalidedAliyunAccountError', 'message' => 'The specified Alibaba Cloud account does not exist.', 'http_code' => 400, 'description' => 'The specified Alibaba Cloud account does not exist.'], ['code' => 'iot.prod.InvalidedParamDeviceNameList', 'message' => 'The device list is empty, the specified devices are invalid, or the number of devices in the list exceeds the limit.', 'http_code' => 400, 'description' => 'The device list is empty, the specified devices are invalid, or the number of devices in the list exceeds the limit.'], ['code' => 'iot.prod.InvalidEventCodeWhenQueryEvent', 'message' => 'The specified event type is invalid.', 'http_code' => 400, 'description' => 'The specified event type is invalid.'], ['code' => 'iot.prod.InvalidFormatArgsParams', 'message' => 'The specified parameter is invalid.', 'http_code' => 400, 'description' => 'The specified parameter is invalid.'], ['code' => 'iot.prod.InvalidFormatSetPropertyParams', 'message' => 'The specified property parameter is invalid.', 'http_code' => 400, 'description' => 'The specified property parameter is invalid.'], ['code' => 'iot.prod.InvalidFormattedCatId', 'message' => 'The product category format is invalid.', 'http_code' => 400, 'description' => 'The product category format is invalid.'], ['code' => 'iot.prod.InvalidFormattedExtendConfig', 'message' => 'The extended feature information format is invalid.', 'http_code' => 400, 'description' => 'The extended feature information format is invalid.'], ['code' => 'iot.prod.InvalidFormattedProductkey', 'message' => 'The ProductKey format is invalid.', 'http_code' => 400, 'description' => 'The ProductKey format is invalid.'], ['code' => 'iot.prod.InvalidFormattedProductkey', 'message' => 'ProductKey is invalid', 'http_code' => 400, 'description' => 'ProductKey is invalid'], ['code' => 'iot.prod.InvalidFormattedProductkey', 'message' => 'The ProductKey format is incorrect.', 'http_code' => 400, 'description' => 'The ProductKey format is incorrect.'], ['code' => 'iot.prod.InvalidFormattedProductkey', 'message' => 'The productKey format error.', 'http_code' => 400, 'description' => 'The productKey format error.'], ['code' => 'iot.prod.InvalidFormattedProductName', 'message' => 'The format of the product name is invalid.', 'http_code' => 400, 'description' => 'The format of the product name is invalid.'], ['code' => 'iot.prod.InvalidFormattedProductTag', 'message' => 'The product tag format is invalid.', 'http_code' => 400, 'description' => 'The product tag format is invalid.'], ['code' => 'iot.prod.InvalidFormattedTagSearchCondition', 'message' => 'The specified tag key or value is invalid.', 'http_code' => 400, 'description' => 'The specified tag key or value is invalid.'], ['code' => 'iot.prod.InvalidFormattedThingModel', 'message' => 'The format of the TSL model is not valid.', 'http_code' => 400, 'description' => 'The format of the TSL model is not valid.'], ['code' => 'iot.prod.InvalidFormattedThingModelVersion', 'message' => 'The format of the TSL model version is invalid.', 'http_code' => 400, 'description' => 'The format of the TSL model version is invalid.'], ['code' => 'iot.prod.InvalidFormattedThingModelVersion', 'message' => 'the format of the thing model version is not valid.', 'http_code' => 400, 'description' => 'the format of the thing model version is not valid.'], ['code' => 'iot.prod.InvalidFuctionType', 'message' => 'The feature type is invalid.', 'http_code' => 400, 'description' => 'The feature type is invalid.'], ['code' => 'iot.prod.InvalidIdentifierInModelConfig', 'message' => 'The request parameters contain an invalid identifier.', 'http_code' => 400, 'description' => 'The request parameters contain an invalid identifier.'], ['code' => 'iot.prod.InvalidInputParamsOrOutputParams', 'message' => 'The format of the InputParams or OutputParams parameter is invalid.', 'http_code' => 400, 'description' => 'The format of the InputParams or OutputParams parameter is invalid.'], ['code' => 'iot.prod.InvalidIssueModel', 'message' => 'The IssueModel parameter is invalid.', 'http_code' => 400, 'description' => 'The IssueModel parameter is invalid.'], ['code' => 'iot.prod.InvalidIssueModel', 'message' => 'Entry certificate issuance mode is not legal.', 'http_code' => 400, 'description' => 'Entry certificate issuance mode is not legal'], ['code' => 'iot.prod.InvalidJoinPermissionId', 'message' => 'The access certificate is invalid.', 'http_code' => 400, 'description' => 'The access certificate is invalid.'], ['code' => 'iot.prod.InvalidModelStatusType', 'message' => 'The TSL model status is invalid.', 'http_code' => 400, 'description' => 'The TSL model status is invalid.'], ['code' => 'iot.prod.InvalidModelStatusType', 'message' => 'the format of ModelStatusType is not valid.', 'http_code' => 400, 'description' => 'the format of ModelStatusType is not valid.'], ['code' => 'iot.prod.InvalidNamespace', 'message' => 'The namespace is invalid.', 'http_code' => 400, 'description' => 'The namespace is invalid.'], ['code' => 'iot.prod.InvalidNetType', 'message' => 'The networking method is invalid.', 'http_code' => 400, 'description' => 'The networking method is invalid.'], ['code' => 'iot.prod.InvalidNodeType', 'message' => 'The node type is invalid.', 'http_code' => 400, 'description' => 'The node type is invalid.'], ['code' => 'iot.prod.InvalidOutputData', 'message' => 'The output data format is invalid.', 'http_code' => 400, 'description' => 'The output data format is invalid.'], ['code' => 'iot.prod.InvalidParamDataSpecsOrDataSpecsList', 'message' => 'The specified DataSpecs or DataSpecsList parameter is invalid.', 'http_code' => 400, 'description' => 'The specified DataSpecs or DataSpecsList parameter is invalid.'], ['code' => 'iot.prod.InvalidProductAuthType', 'message' => 'The product authentication type is invalid.', 'http_code' => 400, 'description' => 'The product authentication type is invalid.'], ['code' => 'iot.prod.InvalidProductDataType', 'message' => 'The product data type is invalid.', 'http_code' => 400, 'description' => 'The product data type is invalid.'], ['code' => 'iot.prod.InvalidProductDegradationConfig', 'message' => 'The specified product degradation configuration is invalid.', 'http_code' => 400, 'description' => 'The specified product degradation configuration is invalid.'], ['code' => 'iot.prod.InvalidProductFilter', 'message' => 'The specified product filtering rule cannot be empty.', 'http_code' => 400, 'description' => 'The specified product filtering rule cannot be empty.'], ['code' => 'iot.prod.InvalidProductNodeType', 'message' => 'The product node type is invalid.', 'http_code' => 400, 'description' => 'The product node type is invalid.'], ['code' => 'iot.prod.InvalidProductStatus', 'message' => 'The product status is invalid.', 'http_code' => 400, 'description' => 'The product status is invalid.'], ['code' => 'iot.prod.InvalidProductTagCount', 'message' => 'The number of tags is invalid.', 'http_code' => 400, 'description' => 'The number of tags is invalid.'], ['code' => 'iot.prod.InvalidProductTagCount', 'message' => 'The tag number is invalid.', 'http_code' => 400, 'description' => 'The tag number is invalid.'], ['code' => 'iot.prod.InvalidProductTagInfo', 'message' => 'The tag information is invalid.', 'http_code' => 400, 'description' => 'The tag information is invalid.'], ['code' => 'iot.prod.InvalidProtocolType', 'message' => 'The specified device protocol is invalid.', 'http_code' => 400, 'description' => 'The specified device protocol is invalid.'], ['code' => 'iot.prod.InvalidScriptContent', 'message' => 'The script content is invalid.', 'http_code' => 400, 'description' => 'The script content is invalid.'], ['code' => 'iot.prod.InvalidScriptType', 'message' => 'The script type is invalid.', 'http_code' => 400, 'description' => 'The script type is invalid.'], ['code' => 'iot.prod.InvalidServeCode', 'message' => 'Failed to obtain the platform information.', 'http_code' => 400, 'description' => 'Failed to obtain the platform information.'], ['code' => 'iot.prod.InvalidSetPropertyParams', 'message' => 'You must specify a parameter.', 'http_code' => 400, 'description' => 'You must specify a parameter.'], ['code' => 'iot.prod.InvalidStandardAbility', 'message' => 'The specified standard feature is invalid.', 'http_code' => 400, 'description' => 'The specified standard feature is invalid.'], ['code' => 'iot.prod.InvalidTreeCode', 'message' => 'The treeCode parameter is invalid.', 'http_code' => 400, 'description' => 'The treeCode parameter is invalid.'], ['code' => 'iot.prod.InvalidTSLParams', 'message' => 'The TSL parameters are invalid.', 'http_code' => 400, 'description' => 'The TSL parameters are invalid.'], ['code' => 'iot.prod.InvokeServeConsumerFailed', 'message' => 'Failed to call the consuming service.', 'http_code' => 400, 'description' => 'Failed to call the consuming service.'], ['code' => 'iot.prod.IsProductAuthorizedError', 'message' => 'An error occurred while checking whether the product has been authorized.', 'http_code' => 400, 'description' => 'An error occurred while checking whether the product has been authorized.'], ['code' => 'iot.prod.ListCategoryFailed', 'message' => 'An error occurred while querying the product categories.', 'http_code' => 400, 'description' => 'An error occurred while querying the product categories.'], ['code' => 'iot.prod.LongProductDesc', 'message' => 'The product description exceeds the maximum number of characters.', 'http_code' => 400, 'description' => 'The product description exceeds the maximum number of characters.'], ['code' => 'iot.prod.NetTypeNotRelatedNodeType', 'message' => 'You cannot specify this networking method for this node type.', 'http_code' => 400, 'description' => 'You cannot specify this networking method for this node type.'], ['code' => 'iot.prod.NetTypeNotRelatedProductAuthType', 'message' => 'The networking method is not consistent with the product verification type.', 'http_code' => 400, 'description' => 'The networking method is not consistent with the product verification type.'], ['code' => 'iot.prod.NetTypeNotRelatedProductAuthType', 'message' => 'NetType not supported for the ProductAuthType.', 'http_code' => 400, 'description' => 'NetType not supported for the ProductAuthType.'], ['code' => 'iot.prod.NotAllowedToConcurrentCreateProduct', 'message' => 'Concurrent creation of products is not allowed.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.prod.NotDeviceProduct', 'message' => 'The node type of the specified product must be device.', 'http_code' => 400, 'description' => 'The node type of the specified product must be device.'], ['code' => 'iot.prod.NotExistedAliyunAccountError', 'message' => 'The specified Alibaba Cloud account does not exist.', 'http_code' => 400, 'description' => 'The specified Alibaba Cloud account does not exist.'], ['code' => 'iot.prod.NotExistedProduct', 'message' => 'The specified product does not exist.', 'http_code' => 400, 'description' => 'The product does not exist.'], ['code' => 'iot.prod.NotExistedProduct', 'message' => 'iot.prod.NotExistedProduct.', 'http_code' => 400, 'description' => 'iot.prod.NotExistedProduct'], ['code' => 'iot.prod.NotExistScript', 'message' => 'The script does not exist.', 'http_code' => 400, 'description' => 'The script does not exist.'], ['code' => 'iot.prod.NotFoundProductTag', 'message' => 'You cannot perform this operation. Some of the specified product tags do not exist.', 'http_code' => 400, 'description' => 'You cannot perform this operation. Some of the specified product tags do not exist.'], ['code' => 'iot.prod.NotGatewayProduct', 'message' => 'The node type of the specified product must be gateway.', 'http_code' => 400, 'description' => 'The node type of the specified product must be gateway.'], ['code' => 'iot.prod.NotOpenID2Service', 'message' => 'You have not activated the ID² service.', 'http_code' => 400, 'description' => 'You have not activated the ID² service.'], ['code' => 'iot.prod.NotOpenIoTError', 'message' => 'The specified Alibaba Cloud account has not activated the IoT Platform service.', 'http_code' => 400, 'description' => 'The specified Alibaba Cloud account has not activated the IoT Platform service.'], ['code' => 'iot.Prod.NotProductOwner', 'message' => 'You are not the product owner.', 'http_code' => 400, 'description' => 'You are not the product owner.'], ['code' => 'iot.Prod.NotProductOwner', 'message' => 'You are not product owner.', 'http_code' => 400, 'description' => 'You are not product owner.'], ['code' => 'iot.prod.NotProtocolProduct', 'message' => 'The product does not contain any protocol information.', 'http_code' => 400, 'description' => 'The product does not contain any protocol information.'], ['code' => 'iot.prod.NotSeniorProduct', 'message' => 'The product does not support the TSL feature.', 'http_code' => 400, 'description' => 'The product does not support the TSL feature.'], ['code' => 'iot.prod.NotSupportForModbusProtocol', 'message' => 'The standard feature cannot be added to the Modbus product.', 'http_code' => 400, 'description' => 'The standard feature cannot be added to the Modbus product.'], ['code' => 'iot.prod.NotTurnOnSecureUpgrade', 'message' => 'Secure update has not been activated for the product.', 'http_code' => 400, 'description' => 'Secure update has not been activated for the product.'], ['code' => 'iot.prod.NotX509AuthenticationType', 'message' => 'The device certification is not an X.509 certificate.', 'http_code' => 400, 'description' => 'The device certification is not an X.509 certificate.'], ['code' => 'iot.prod.NotX509AuthenticationType', 'message' => 'Device certification type is not X.509', 'http_code' => 400, 'description' => 'Device certification type is not X.509'], ['code' => 'iot.prod.NullAbilityIdentifier', 'message' => 'You must specify a feature identifier.', 'http_code' => 400, 'description' => 'You must specify a feature identifier.'], ['code' => 'iot.prod.NullAbilityList', 'message' => 'The feature list cannot be empty.', 'http_code' => 400, 'description' => 'The feature list cannot be empty.'], ['code' => 'iot.prod.NullCategoryType', 'message' => 'The category type cannot be empty', 'http_code' => 400, 'description' => 'The category type cannot be empty'], ['code' => 'iot.prod.NullIssueModel', 'message' => 'The IssueModel parameter cannot be empty.', 'http_code' => 400, 'description' => 'The IssueModel parameter cannot be empty.'], ['code' => 'iot.prod.NullIssueModel', 'message' => 'No assignment in the entry certificate issuance mode', 'http_code' => 400, 'description' => 'No assignment in the entry certificate issuance mode'], ['code' => 'iot.prod.NullJoinPermissionId', 'message' => 'You must specify the JoinPermissionId parameter.', 'http_code' => 400, 'description' => 'You must specify the JoinPermissionId parameter.'], ['code' => 'iot.prod.NullProductKey', 'message' => 'The ProductKey parameter cannot be empty.', 'http_code' => 400, 'description' => 'The ProductKey parameter cannot be empty.'], ['code' => 'iot.prod.NullProductKey', 'message' => 'The ProductKey is empty.', 'http_code' => 400, 'description' => 'The ProductKey is empty.'], ['code' => 'iot.prod.NullProductName', 'message' => 'The product name cannot be empty.', 'http_code' => 400, 'description' => 'The product name cannot be empty.'], ['code' => 'iot.prod.NullScriptCode', 'message' => 'The script code cannot be empty.', 'http_code' => 400, 'description' => 'The script code cannot be empty.'], ['code' => 'iot.prod.NullScriptId', 'message' => 'The script ID cannot be empty.', 'http_code' => 400, 'description' => 'The script ID cannot be empty.'], ['code' => 'iot.prod.NullScriptName', 'message' => 'The script name cannot be empty.', 'http_code' => 400, 'description' => 'The script name cannot be empty.'], ['code' => 'iot.prod.NullScriptType', 'message' => 'The script type cannot be empty.', 'http_code' => 400, 'description' => 'The script type cannot be empty.'], ['code' => 'iot.prod.OpenProductExternalServiceFailed', 'message' => 'An error occurred while activating the service.', 'http_code' => 400, 'description' => 'An error occurred while activating the service.'], ['code' => 'iot.prod.OpenServeFailed', 'message' => 'An error occurred while activating the living IoT Platform service.', 'http_code' => 400, 'description' => 'An error occurred while activating the living IoT Platform service.'], ['code' => 'iot.prod.OpenUserServeFail', 'message' => 'An error occurred while activating the service.', 'http_code' => 400, 'description' => 'An error occurred while activating the service.'], ['code' => 'Iot.Prod.OssGenerateUrlFailed', 'message' => 'Oss generate url failed.', 'http_code' => 400, 'description' => 'The system failed to generate an OSS file upload URL.'], ['code' => 'iot.prod.OverMqttInstanceProductNumber', 'message' => 'the product number is over mqtt instance limit.', 'http_code' => 400, 'description' => 'the product number is over mqtt instance limit.'], ['code' => 'iot.prod.PermissionTypeError', 'message' => 'The permission type of the product is invalid.', 'http_code' => 400, 'description' => 'The permission type of the product is invalid.'], ['code' => 'iot.prod.ProductCountExceedMax', 'message' => 'The number of products exceeds the limit.', 'http_code' => 400, 'description' => 'The number of products exceeds the limit.'], ['code' => 'iot.prod.ProductDataFormatIsNull', 'message' => 'The dataFormat field of the product is empty.', 'http_code' => 400, 'description' => 'The dataFormat field of the product is empty.'], ['code' => 'iot.prod.ProductInDevStatus', 'message' => 'product is already in development status. do not need to reset', 'http_code' => 400, 'description' => 'product is already in development status. do not need to reset'], ['code' => 'iot.prod.ProductIsInCommonPool', 'message' => 'You cannot perform this operation because this product is in the public pool.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.prod.ProductIsInCommonPool', 'message' => 'You cannot perform this operation, because this product is in the public pool.', 'http_code' => 400, 'description' => 'You cannot perform this operation, because this product is in the public pool.'], ['code' => 'iot.prod.ProductIsNotReleased', 'message' => 'An error occurred. The product has not been published.', 'http_code' => 400, 'description' => 'An error occurred. The product has not been published.'], ['code' => 'iot.prod.ProductIsReleasedError', 'message' => 'An error occurred. The product has been published.', 'http_code' => 400, 'description' => 'An error occurred. The product has been published.'], ['code' => 'iot.prod.ProductIsReleasedError.', 'message' => 'An error occurred. The product has been published.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.prod.ProductNotConsumeServe', 'message' => 'No other platform services are enabled for the product.', 'http_code' => 400, 'description' => 'No other platform services are enabled for the product.'], ['code' => 'iot.prod.ProductNotMatchedWithOwner', 'message' => 'The specified product is not available for the current user.', 'http_code' => 400, 'description' => 'The specified product is not available for the current user.'], ['code' => 'iot.prod.ProductTagCountExceedMax', 'message' => 'The maximum number of product tags is exceeded.', 'http_code' => 400, 'description' => 'The maximum number of product tags is exceeded.'], ['code' => 'iot.prod.PropertySizeOutOfBounds', 'message' => 'The number of properties exceeds the limit.', 'http_code' => 400, 'description' => 'The number of properties exceeds the limit.'], ['code' => 'iot.prod.PublishThingModelFailed', 'message' => 'Failed to publish the TSL model.', 'http_code' => 400, 'description' => 'Failed to publish the TSL model.'], ['code' => 'iot.prod.QueryAuthorizedProductListError', 'message' => 'An error occurred while querying the authorized products.', 'http_code' => 400, 'description' => 'An error occurred while querying the authorized products.'], ['code' => 'iot.prod.QueryCategoryTagFailed', 'message' => 'Failed to query category tags.', 'http_code' => 400, 'description' => 'Failed to query category tags.'], ['code' => 'iot.prod.QueryDeviceCountActionError', 'message' => 'An error occurred while querying the number of devices under a product.', 'http_code' => 400, 'description' => 'An error occurred while querying the number of devices under a product.'], ['code' => 'iot.prod.QueryDynamicRegisterSwitchFailed', 'message' => 'An error occurred while querying dynamic device registration.', 'http_code' => 400, 'description' => 'An error occurred while querying dynamic device registration.'], ['code' => 'iot.prod.QueryEventFailed', 'message' => 'Failed to query the event.', 'http_code' => 400, 'description' => 'Failed to query the event.'], ['code' => 'iot.prod.QueryEventNotFound', 'message' => 'Query event not found.', 'http_code' => 400, 'description' => 'Query event not found.'], ['code' => 'iot.prod.QueryExtendPropertyFailed', 'message' => 'An error occurred while querying the product tags.', 'http_code' => 400, 'description' => 'An error occurred while querying the product tags.'], ['code' => 'iot.prod.QueryModelConfigError', 'message' => 'An error occurred while querying the TSL configuration information.', 'http_code' => 400, 'description' => 'An error occurred while querying the TSL configuration information.'], ['code' => 'iot.prod.QueryProductAbilitiesFailed', 'message' => 'An error occurred while querying the product features.', 'http_code' => 400, 'description' => 'An error occurred while querying the product features.'], ['code' => 'iot.prod.QueryProductAbilitiesNotFound', 'message' => 'Query product abilities not found.', 'http_code' => 400, 'description' => 'Query product abilities not found'], ['code' => 'iot.prod.QueryProductAbilityFailed', 'message' => 'An error occurred while querying the product feature.', 'http_code' => 400, 'description' => 'An error occurred while querying the product feature.'], ['code' => 'iot.prod.QueryProductCertInfoError', 'message' => 'Failed to query the product certificate information.', 'http_code' => 400, 'description' => 'Failed to query the product certificate information.'], ['code' => 'iot.prod.QueryProductCertInfoError', 'message' => 'Failed to query product certificate information', 'http_code' => 400, 'description' => 'Failed to query product certificate information'], ['code' => 'iot.prod.QueryProductEventFailed', 'message' => 'An error occurred while querying the product events.', 'http_code' => 400, 'description' => 'An error occurred while querying the product events.'], ['code' => 'iot.prod.QueryProductExternalServiceFailed', 'message' => 'Failed to query the services that are enabled for the product.', 'http_code' => 400, 'description' => 'Failed to query the services that are enabled for the product.'], ['code' => 'iot.prod.QueryProductListActionError', 'message' => 'An error occurred while querying the products.', 'http_code' => 400, 'description' => 'An error occurred while querying the products.'], ['code' => 'iot.prod.QueryProductListByTagFailed', 'message' => 'An error occurred while searching for products by tag.', 'http_code' => 400, 'description' => 'An error occurred while searching for products by tag.'], ['code' => 'iot.prod.QueryProductListConsoleFailed', 'message' => 'An error occurred while searching for products by tag.', 'http_code' => 400, 'description' => 'An error occurred while searching for products by tag.'], ['code' => 'iot.prod.QueryProductNumFailed', 'message' => 'An error occurred while querying the number of products.', 'http_code' => 400, 'description' => 'An error occurred while querying the number of products.'], ['code' => 'iot.prod.QueryProductPropertyFailed', 'message' => 'An error occurred while querying the product property.', 'http_code' => 400, 'description' => 'An error occurred while querying the product property.'], ['code' => 'iot.prod.QueryProductServeQuotaFail', 'message' => 'An error occurred while querying the number of product activation codes that can be used on related platforms.', 'http_code' => 400, 'description' => 'An error occurred while querying the number of product activation codes that can be used on related platforms.'], ['code' => 'iot.prod.QueryProductServiceFailed', 'message' => 'An error occurred while querying product services.', 'http_code' => 400, 'description' => 'An error occurred while querying product services.'], ['code' => 'iot.prod.QueryProductTagFailed', 'message' => 'An error occurred while obtaining the product tags.', 'http_code' => 400, 'description' => 'An error occurred while obtaining the product tags.'], ['code' => 'iot.prod.QueryPropertyFailed', 'message' => 'Failed to query the property.', 'http_code' => 400, 'description' => 'Failed to query the property.'], ['code' => 'iot.prod.QueryPropertyNotFound', 'message' => 'Query property not found.', 'http_code' => 400, 'description' => 'Query property not found.'], ['code' => 'iot.prod.QueryRegionListFailed', 'message' => 'An error occurred while querying the regions.', 'http_code' => 400, 'description' => 'An error occurred while querying the regions.'], ['code' => 'iot.prod.QueryScriptDraftFailed', 'message' => 'An error occurred while querying the script draft.', 'http_code' => 400, 'description' => 'An error occurred while querying the script draft.'], ['code' => 'iot.prod.QueryScriptFailed', 'message' => 'Failed to query the script.', 'http_code' => 400, 'description' => 'Failed to query the script.'], ['code' => 'iot.prod.QueryServiceFailed', 'message' => 'Failed to query the service.', 'http_code' => 400, 'description' => 'Failed to query the service.'], ['code' => 'iot.prod.QueryServiceNotFound', 'message' => 'Query service not found.', 'http_code' => 400, 'description' => 'Query service not found.'], ['code' => 'iot.prod.QueryStandardAbilityFailed', 'message' => 'An error occurred while querying the standard feature.', 'http_code' => 400, 'description' => 'An error occurred while querying the standard feature.'], ['code' => 'iot.prod.QueryStandardAbilityOfCategoryFailed', 'message' => 'An error occurred while querying standard features of the category.', 'http_code' => 400, 'description' => 'An error occurred while querying standard features of the category.'], ['code' => 'iot.prod.QueryStandardAbilityOfEventFailed', 'message' => 'Failed to query standard events.', 'http_code' => 400, 'description' => 'Failed to query standard events.'], ['code' => 'iot.prod.QueryStandardAbilityOfPropertyFailed', 'message' => 'Failed to query standard properties.', 'http_code' => 400, 'description' => 'Failed to query standard properties.'], ['code' => 'iot.prod.QueryStandardAbilityOfServiceFailed', 'message' => 'Failed to query the standard services.', 'http_code' => 400, 'description' => 'Failed to query the standard services.'], ['code' => 'iot.prod.QueryStandardEventOfCategoryFailed', 'message' => 'An error occurred while querying the standard events of the category.', 'http_code' => 400, 'description' => 'An error occurred while querying the standard events of the category.'], ['code' => 'iot.prod.QueryStandardPropertyOfCategoryFailed', 'message' => 'An error occurred while querying the standard properties of the category.', 'http_code' => 400, 'description' => 'An error occurred while querying the standard properties of the category.'], ['code' => 'iot.prod.QueryStandardServiceOfCategoryFailed', 'message' => 'An error occurred while querying standard services of the category.', 'http_code' => 400, 'description' => 'An error occurred while querying standard services of the category.'], ['code' => 'iot.prod.QuerystandardUnitFailed', 'message' => 'An error occurred while obtaining the unit.', 'http_code' => 400, 'description' => 'An error occurred while obtaining the unit.'], ['code' => 'iot.prod.QueryUserServeFailed', 'message' => 'Failed to obtain the user information.', 'http_code' => 400, 'description' => 'Failed to obtain the user information.'], ['code' => 'iot.prod.ReleaseAbilityError', 'message' => 'An error occurred while publishing the product feature.', 'http_code' => 400, 'description' => 'An error occurred while publishing the product feature.'], ['code' => 'iot.prod.ReleaseProductError', 'message' => 'An error occurred while publishing the product.', 'http_code' => 400, 'description' => 'An error occurred while publishing the product.'], ['code' => 'iot.prod.RemoveThingModelFailed', 'message' => 'Failed to delete the TSL model.', 'http_code' => 400, 'description' => 'Failed to delete the TSL model.'], ['code' => 'iot.prod.RequiredStandardAbilityCanNotDelete', 'message' => 'The standard features not be deleted.', 'http_code' => 400, 'description' => 'The standard features not be deleted.'], ['code' => 'iot.prod.RequiredStandardAbilityCanNotDelete', 'message' => 'The standard ability must not be deleted', 'http_code' => 400, 'description' => 'The standard ability must not be deleted'], ['code' => 'iot.prod.ResetProductSecretFailed', 'message' => 'An error occurred while resetting the ProductSecret.', 'http_code' => 400, 'description' => 'An error occurred while resetting the ProductSecret.'], ['code' => 'iot.prod.RunScriptFailed', 'message' => 'An error occurred while running the script.', 'http_code' => 400, 'description' => 'An error occurred while running the script.'], ['code' => 'iot.prod.SameSrcPKAndTargetPKError', 'message' => 'The source product must be different from the destination product.', 'http_code' => 400, 'description' => 'The source product must be different from the destination product.'], ['code' => 'iot.prod.ScriptSizeExceedLimit', 'message' => 'The size of the script exceeds the limit.', 'http_code' => 400, 'description' => 'The size of the script exceeds the limit.'], ['code' => 'iot.prod.ScriptSizeExceedLimit', 'message' => 'The script exceeds the size limit.', 'http_code' => 400, 'description' => 'The script exceeds the size limit.'], ['code' => 'iot.prod.SecureUpgradeAlreadyOnOrOff', 'message' => 'Secure update has been enabled or disabled for the product.', 'http_code' => 400, 'description' => 'Secure update has been enabled or disabled for the product.'], ['code' => 'iot.prod.SeniorProductOnly', 'message' => 'Only senior products can be created in the platform.', 'http_code' => 400, 'description' => 'Only senior products can be created in the platform.'], ['code' => 'iot.prod.ServeCodeIsNotMatchedWithProduct', 'message' => 'The platform service is not enabled for the product.', 'http_code' => 400, 'description' => 'The platform service is not enabled for the product.'], ['code' => 'iot.prod.ServiceSizeOutOfBounds', 'message' => 'The number of standard services exceed the limit.', 'http_code' => 400, 'description' => 'The number of standard services exceed the limit.'], ['code' => 'iot.prod.SetDynamicRegisterSwitchFailed', 'message' => 'An error occurred while enabling dynamic registration.', 'http_code' => 400, 'description' => 'An error occurred while enabling dynamic registration.'], ['code' => 'iot.prod.SetProductCertInfoError', 'message' => 'Failed to specify the product certificate information.', 'http_code' => 400, 'description' => 'Failed to specify the product certificate information.'], ['code' => 'iot.prod.SetProductCertInfoError', 'message' => 'Failed to set up product certificate information.', 'http_code' => 400, 'description' => 'Failed to set up product certificate information'], ['code' => 'iot.prod.SrcThingModelNotExisted', 'message' => 'The TSL model of the source product does not exist.', 'http_code' => 400, 'description' => 'The TSL model of the source product does not exist.'], ['code' => 'iot.prod.SrcThingModelNotExisted', 'message' => 'the thing model of the source product is not existed.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.prod.StandardAbilityDataTypeNotSupportCustomEdit', 'message' => 'The data type of the standard feature cannot not be modified.', 'http_code' => 400, 'description' => 'The data type of the standard feature cannot not be modified.'], ['code' => 'iot.prod.StandardAbilityNotSupportCustomEdit', 'message' => 'The standard feature cannot be modified.', 'http_code' => 400, 'description' => 'The standard feature cannot be modified.'], ['code' => 'iot.prod.StandardAbilityRwTypeNotSupportCustomEdit', 'message' => 'The read/write type of the standard feature cannot be modified.', 'http_code' => 400, 'description' => 'The read/write type of the standard feature cannot be modified.'], ['code' => 'iot.prod.TemplateNameLengthExceeded', 'message' => 'The TSL model name exceeds the length limit.', 'http_code' => 400, 'description' => 'The TSL model name exceeds the length limit.'], ['code' => 'iot.prod.ThingModelIdentifierDuplicated', 'message' => 'The identifiers must be unique.', 'http_code' => 400, 'description' => 'The identifiers must be unique.'], ['code' => 'iot.prod.ThingModelJsonItemCountExceedLimit', 'message' => 'The number of defined TSL features exceeds the limit.', 'http_code' => 400, 'description' => 'The number of defined TSL features exceeds the limit.'], ['code' => 'iot.prod.ThingModelJsonItemCountExceedLimit', 'message' => 'the count of the functions in thing model is over limited.', 'http_code' => 400, 'description' => 'the count of the functions in thing model is over limited.'], ['code' => 'iot.prod.ThingModelNameDuplicated', 'message' => 'The feature names in the TSL model must be unique.', 'http_code' => 400, 'description' => 'The feature names in the TSL model must be unique.'], ['code' => 'iot.prod.ThingModelNotExisted', 'message' => 'The TSL model of the product does not exist.', 'http_code' => 400, 'description' => 'The TSL model of the product does not exist.'], ['code' => 'iot.prod.ThingModelVersionExisted', 'message' => 'The TSL model version already exists.', 'http_code' => 400, 'description' => 'The TSL model version already exists.'], ['code' => 'iot.prod.ThingModelVersionNotExisted', 'message' => 'The TSL model version of the product does not exist.', 'http_code' => 400, 'description' => 'The TSL model version of the product does not exist.'], ['code' => 'iot.prod.ThingScriptDataFormatError', 'message' => 'The format of the data parsing script is invalid.', 'http_code' => 400, 'description' => 'The format of the data parsing script is invalid.'], ['code' => 'iot.prod.ThingScriptExisted', 'message' => 'The script already exists.', 'http_code' => 400, 'description' => 'The script already exists.'], ['code' => 'iot.prod.TslSizeOverLimit', 'message' => 'The data size of the TSL model exceeds the limit.', 'http_code' => 400, 'description' => 'The data size of the TSL model exceeds the limit.'], ['code' => 'iot.prod.UpdateExtendPropertyFailed', 'message' => 'An error occurred while updating the extended property.', 'http_code' => 400, 'description' => 'An error occurred while updating the extended property.'], ['code' => 'iot.prod.UpdateProductAbilityFailed', 'message' => 'An error occurred while updating the product features.', 'http_code' => 400, 'description' => 'An error occurred while updating the product features.'], ['code' => 'iot.prod.UpdateProductDegradationFailed', 'message' => 'An error occurred while updating the product degradation policy.', 'http_code' => 400, 'description' => 'An error occurred while updating the product degradation policy.'], ['code' => 'iot.prod.UpdateProductFailed', 'message' => 'An error occurred while updating the product information.', 'http_code' => 400, 'description' => 'An error occurred while updating the product information.'], ['code' => 'iot.prod.UpdateProductFilterFailed', 'message' => 'An error occurred while updating the product filtering policy.', 'http_code' => 400, 'description' => 'An error occurred while updating the product filtering policy.'], ['code' => 'iot.prod.UpdateProductTagFailed', 'message' => 'An error occurred while updating the product tags.', 'http_code' => 400, 'description' => 'An error occurred while updating the product tags.'], ['code' => 'iot.prod.UpdateScriptDraftFailed', 'message' => 'An error occurred while updating the script draft.', 'http_code' => 400, 'description' => 'An error occurred while updating the script draft.'], ['code' => 'iot.prod.UpdateScriptFailed', 'message' => 'An error occurred while updating the script.', 'http_code' => 400, 'description' => 'An error occurred while updating the script.'], ['code' => 'iot.prod.UpdateThingModelExtendConfigFailed', 'message' => 'Failed to update the extended information of the TSL model.', 'http_code' => 400, 'description' => 'Failed to update the extended information of the TSL model.'], ['code' => 'iot.prod.UpdateThingModelExtendConfigFailed', 'message' => 'failed to update thing model extend config.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.prod.UpdateThingModelFailed', 'message' => 'Failed to update the TSL model.', 'http_code' => 400, 'description' => 'Failed to update the TSL model.'], ['code' => 'iot.prod.UpsertThingModelFailed', 'message' => 'Failed to update the TSL model.', 'http_code' => 400, 'description' => 'Failed to update the TSL model.'], ['code' => 'iot.product.EntityAlreadyExistsResource', 'message' => 'The resource already exists.', 'http_code' => 400, 'description' => 'The resource already exists.'], ['code' => 'iot.product.EntityNotExistsResource', 'message' => 'The resource does not exist.', 'http_code' => 400, 'description' => 'The resource does not exist.'], ['code' => 'Iot.product.ExtendPropertyExist', 'message' => 'Extend property exists.', 'http_code' => 400, 'description' => 'Extend property exists.'], ['code' => 'iot.product.NotExist', 'message' => 'Product does not exist.', 'http_code' => 400, 'description' => 'Product does not exist.'], ['code' => 'Iot.product.ProductNotFound', 'message' => 'Product not found.', 'http_code' => 400, 'description' => 'Product not found.'], ['code' => 'iot.product.ProductNotInRg', 'message' => 'The product is not in the resource group.', 'http_code' => 400, 'description' => 'The product is not in the resource group.'], ['code' => 'iot.product.ProductNotInRg', 'message' => 'product not in resource group', 'http_code' => 400, 'description' => ''], ['code' => 'iot.product.ResourceCreateExp', 'message' => 'An error occurred while creating the resource.', 'http_code' => 400, 'description' => 'An error occurred while creating the resource.'], ['code' => 'iot.product.ResourceDeleteExp', 'message' => 'An error occurred while deleting the resource.', 'http_code' => 400, 'description' => 'An error occurred while deleting the resource.'], ['code' => 'iot.product.ResourceGroupNotExists', 'message' => 'The resource group does not exist.', 'http_code' => 400, 'description' => 'The resource group does not exist.'], ['code' => 'iot.product.ResourceGroupPreCheckExp', 'message' => 'An error occurred while prechecking the resource group.', 'http_code' => 400, 'description' => 'An error occurred while prechecking the resource group.'], ['code' => 'iot.product.ResourceGroupPreCheckFail', 'message' => 'Failed to pre-check the resource group.', 'http_code' => 400, 'description' => 'Failed to pre-check the resource group.'], ['code' => 'iot.product.ResourceUpdateExp', 'message' => 'An error occurred while updating the resource.', 'http_code' => 400, 'description' => 'An error occurred while updating the resource.'], ['code' => 'iot.product.UpdateRgParamsError', 'message' => 'An error occurred while updating the resource group.', 'http_code' => 400, 'description' => 'An error occurred while updating the resource group.'], ['code' => 'iot.product.UpdateRgUnknowType', 'message' => 'The resource type is invalid.', 'http_code' => 400, 'description' => 'The resource type is invalid.'], ['code' => 'Iot.ProductKey.NotExisted', 'message' => 'The product key does not exist.', 'http_code' => 200, 'description' => ''], ['code' => 'iot.provisioning.AccountNotFound', 'message' => 'The Alibaba Cloud account does not exist.', 'http_code' => 400, 'description' => 'The Alibaba Cloud account does not exist.'], ['code' => 'iot.provisioning.CaptchaNotFound', 'message' => 'The authorization code is invalid.', 'http_code' => 400, 'description' => 'The authorization code is invalid.'], ['code' => 'iot.provisioning.CaptchaNotNull', 'message' => 'The authorization code cannot be empty.', 'http_code' => 400, 'description' => 'The authorization code cannot be empty.'], ['code' => 'iot.provisioning.ConcurrentOperations', 'message' => 'The concurrent operation does not permitted.', 'http_code' => 400, 'description' => 'The concurrent operation does not permitted.'], ['code' => 'iot.provisioning.CrmServiceError', 'message' => 'The service of the Alibaba Cloud account is abnormal.', 'http_code' => 400, 'description' => 'The service of the Alibaba Cloud account is abnormal.'], ['code' => 'iot.provisioning.DeviceIsDistributing', 'message' => 'The device is being distributed.', 'http_code' => 400, 'description' => 'The device is being distributed.'], ['code' => 'iot.provisioning.DeviceIsInAnotherTask', 'message' => 'the device is in another distribution task.', 'http_code' => 400, 'description' => 'the device is in another distribution task.'], ['code' => 'iot.provisioning.DuplicatedJob', 'message' => 'Duplicated Job.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.provisioning.ErrorStrategy', 'message' => 'The distribution policy is not supported.', 'http_code' => 400, 'description' => 'The distribution policy is not supported.'], ['code' => 'iot.provisioning.FailGetLogLat', 'message' => 'Failed to obtain the location information.', 'http_code' => 400, 'description' => 'Failed to obtain the location information.'], ['code' => 'iot.provisioning.InstanceOperationDeny', 'message' => 'The destination instance not belongs to the destination Alibaba Cloud account.', 'http_code' => 400, 'description' => 'The destination instance not belongs to the destination Alibaba Cloud account.'], ['code' => 'iot.provisioning.InstanceRegionConflict', 'message' => 'You can specify only one instance in each region.', 'http_code' => 400, 'description' => 'You can specify only one instance in each region.'], ['code' => 'iot.provisioning.InvalidDistributionStatus', 'message' => 'The distribution status is invalid.', 'http_code' => 400, 'description' => 'The distribution status is invalid.'], ['code' => 'iot.provisioning.InvalidRuntimeDataMigrationStatus', 'message' => 'The runtime data migration status is invalid.', 'http_code' => 400, 'description' => 'The runtime data migration status is invalid.'], ['code' => 'iot.provisioning.LimitExceeded', 'message' => 'The number of devices for the distribution task exceed the limit.', 'http_code' => 400, 'description' => 'The number of devices for the distribution task exceed the limit.'], ['code' => 'iot.provisioning.NextTokenNotNull', 'message' => 'The NextToken parameter cannot be empty.', 'http_code' => 400, 'description' => 'The NextToken parameter cannot be empty.'], ['code' => 'iot.provisioning.NotCrossTenantId', 'message' => 'The operation cannot be performed across accounts.', 'http_code' => 400, 'description' => 'The operation cannot be performed across accounts.'], ['code' => 'iot.provisioning.NotDeviceOwner', 'message' => 'The current account is not the device owner.', 'http_code' => 400, 'description' => 'The current account is not the device owner.'], ['code' => 'iot.provisioning.ProductIsDistributing', 'message' => 'The product is being distributed.', 'http_code' => 400, 'description' => 'The product is being distributed.'], ['code' => 'iot.provisioning.RunningTaskExcceedLimit', 'message' => 'The number of distribution tasks exceeds the limit.', 'http_code' => 400, 'description' => 'The number of distribution tasks exceeds the limit.'], ['code' => 'iot.provisioning.RuntimeDataMigrationNotExist', 'message' => 'The runtime data migration does not exist.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.provisioning.SameProductName', 'message' => 'Duplicated product name.', 'http_code' => 400, 'description' => 'Duplicated product name.'], ['code' => 'iot.provisioning.SendCaptchaFlowControl', 'message' => 'An error occurred due to throttling. Try again l minute later.', 'http_code' => 400, 'description' => 'An error occurred due to throttling. Try again l minute later.'], ['code' => 'iot.provisioning.SourceInstanceNotFound', 'message' => 'The source instance does not exist.', 'http_code' => 400, 'description' => 'The source instance does not exist.'], ['code' => 'iot.provisioning.TargetAccountParamsError', 'message' => 'The account cannot be empty.', 'http_code' => 400, 'description' => 'The account cannot be empty.'], ['code' => 'iot.provisioning.TargetInstanceNotFound', 'message' => 'The destination instance ID does not exist.', 'http_code' => 400, 'description' => 'The destination instance ID does not exist.'], ['code' => 'iot.provisioning.TaskAlreadyFinish', 'message' => 'The distribution task is completed.', 'http_code' => 400, 'description' => 'The distribution task is completed.'], ['code' => 'iot.provisioning.TaskIdSizeError', 'message' => 'Error taskId.', 'http_code' => 400, 'description' => 'Error taskId.'], ['code' => 'iot.provisioning.TaskIsProcessing', 'message' => 'The distribution task is in progress.', 'http_code' => 400, 'description' => 'The distribution task is in progress.'], ['code' => 'iot.provisioning.TaskIsProcessing', 'message' => 'Task is processing.', 'http_code' => 400, 'description' => 'Task is processing.'], ['code' => 'iot.provisioning.TaskNotExist', 'message' => 'The distribution does not exist.', 'http_code' => 400, 'description' => 'The distribution does not exist.'], ['code' => 'iot.provisioning.TaskNotExist', 'message' => 'The specific task does not exist.', 'http_code' => 400, 'description' => 'The specific task does not exist.'], ['code' => 'iot.provisioning.TaskNotExist', 'message' => 'Task not exists.', 'http_code' => 400, 'description' => 'Task not exists.'], ['code' => 'iot.provisioning.TaskNotFinish', 'message' => 'The distribution task is not completed.', 'http_code' => 400, 'description' => 'The distribution task is not completed.'], ['code' => 'iot.provisioning.UidAndTaskNotMatch', 'message' => 'The current Alibaba Cloud account is not the owner of this distribution task.', 'http_code' => 400, 'description' => 'The current Alibaba Cloud account is not the owner of this distribution task.'], ['code' => 'iot.provisioning.UidAndTaskNotMatch', 'message' => 'Invalid tenant.', 'http_code' => 400, 'description' => 'Invalid tenant.'], ['code' => 'iot.rbac.QueryTenantIdFailed', 'message' => 'Failed to obtain the tenant ID.', 'http_code' => 400, 'description' => 'Failed to obtain the tenant ID.'], ['code' => 'iot.rbac.QueryTenantIdFailed', 'message' => 'Invalid tenant.', 'http_code' => 400, 'description' => 'Invalid tenant.'], ['code' => 'iot.rbac.QueryTenantIdFailed', 'message' => 'Query tenantId failed.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.rtc.invalid.license.code', 'message' => 'Invalid license code.', 'http_code' => 400, 'description' => 'Invalid license code'], ['code' => 'iot.rtc.invalid.product.key', 'message' => 'Invalid product key.', 'http_code' => 400, 'description' => 'Invalid product key'], ['code' => 'iot.rtc.invalid.product.key', 'message' => 'invalid product key', 'http_code' => 400, 'description' => 'invalid product key'], ['code' => 'iot.rtc.license.device.authorization.executing', 'message' => 'Authorization for this license device is in progress.', 'http_code' => 400, 'description' => 'Authorization for this license device is in progress'], ['code' => 'iot.rtc.license.product.relation.exist', 'message' => 'License product relation has exist.', 'http_code' => 400, 'description' => 'License product relation has exist'], ['code' => 'iot.rtc.license.product.relation.exist', 'message' => 'license product relation has exist', 'http_code' => 400, 'description' => 'license product relation has exist'], ['code' => 'iot.rtc.license.product.relation.nonexist', 'message' => 'License product relation non existent.', 'http_code' => 400, 'description' => 'License product relation non existent.'], ['code' => 'iot.rtc.license.quota.lack', 'message' => 'License quota is not enough.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.rtc.license.quota.lack', 'message' => 'license_quota is not enough', 'http_code' => 400, 'description' => 'license_quota is not enough'], ['code' => 'iot.rtc.service.notSigned', 'message' => 'The RTC service is not activated.', 'http_code' => 400, 'description' => 'The Real-Time Communication service is not activated.'], ['code' => 'iot.rtc.service.notSigned', 'message' => 'rtc service sign does not exist', 'http_code' => 400, 'description' => 'rtc service sign does not exist'], ['code' => 'iot.rule.ConnectorCountExceed', 'message' => 'The count of parser exceeds the maximum number.', 'http_code' => 400, 'description' => 'The count of parser exceeds the maximum number.'], ['code' => 'iot.rule.ConnectorIsAlreadyExisted', 'message' => 'The parser name already exists.', 'http_code' => 400, 'description' => 'The parser name already exists.'], ['code' => 'iot.rule.CreateRuleException', 'message' => 'An exception occurred while creating the rule.', 'http_code' => 400, 'description' => 'An exception occurred while creating the rule.'], ['code' => 'iot.rule.DataSourceBounded', 'message' => 'data source has been bounded. unbound it first.', 'http_code' => 400, 'description' => 'data source has been bounded. unbound it first.'], ['code' => 'iot.rule.DataSourceCountExceed', 'message' => 'The count of data source exceeds the maximum number.', 'http_code' => 400, 'description' => 'The count of data source exceeds the maximum number.'], ['code' => 'iot.rule.DataSourceExists', 'message' => 'Same datasource is existed.', 'http_code' => 400, 'description' => 'Same datasource is existed.'], ['code' => 'iot.rule.DataSourceItemExists', 'message' => 'data source item exist.', 'http_code' => 400, 'description' => 'data source item exist'], ['code' => 'iot.rule.DataSourceItemNotExists', 'message' => 'datasource item not existed.', 'http_code' => 400, 'description' => 'datasource item not existed'], ['code' => 'iot.rule.DataSourceNotExists', 'message' => 'data source not exist.', 'http_code' => 400, 'description' => 'data source not exist'], ['code' => 'iot.rule.DataSourceNotExists', 'message' => 'Datasource not existed.', 'http_code' => 400, 'description' => 'Datasource not existed.'], ['code' => 'iot.rule.DebugSqlError', 'message' => 'An error occurred while debugging the SQL expression.', 'http_code' => 400, 'description' => 'An error occurred while debugging the SQL expression.'], ['code' => 'iot.rule.DeleteRuleFailed', 'message' => 'An error occurred while deleting the rule.', 'http_code' => 400, 'description' => 'An error occurred while deleting the rule.'], ['code' => 'iot.rule.DestinationCountExceed', 'message' => 'The count of destination exceeds the maximum number.', 'http_code' => 400, 'description' => 'The count of destination exceeds the maximum number'], ['code' => 'iot.rule.DestinationCountExceed', 'message' => 'The count of destination exceeds the maximum number', 'http_code' => 400, 'description' => 'The count of destination exceeds the maximum number'], ['code' => 'iot.rule.DestinationInUsing', 'message' => 'Destination has been attached to parser.', 'http_code' => 400, 'description' => 'Destination has been attached to parser.'], ['code' => 'iot.rule.DestinationNameExisted', 'message' => 'The destination name is existed.', 'http_code' => 400, 'description' => 'The destination name is existed'], ['code' => 'iot.rule.DestinationNameExisted', 'message' => 'The destination name is existed', 'http_code' => 400, 'description' => 'The destination name is existed'], ['code' => 'iot.rule.DestinationNotAvailable', 'message' => 'destination not available', 'http_code' => 400, 'description' => 'destination not available'], ['code' => 'iot.rule.DestinationNotBound', 'message' => 'The connector has not destination.', 'http_code' => 400, 'description' => 'The connector has not destination.'], ['code' => 'iot.rule.destinationNotExists', 'message' => 'Destination not found.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.rule.EmptyScript', 'message' => 'The script is empty.', 'http_code' => 400, 'description' => 'The script is empty.'], ['code' => 'iot.rule.EmptyScriptDraft', 'message' => 'The script draft is empty.', 'http_code' => 400, 'description' => 'The script draft is empty'], ['code' => 'iot.rule.IncorrectCallbackType', 'message' => 'The specified subscription type is invalid.', 'http_code' => 400, 'description' => 'The specified subscription type is invalid.'], ['code' => 'iot.rule.IncorrentRuleActionId', 'message' => 'The rule action ID is invalid.', 'http_code' => 400, 'description' => 'The rule action ID is invalid.'], ['code' => 'iot.rule.IncorrentRuleActionType', 'message' => 'The rule action type is invalid.', 'http_code' => 400, 'description' => 'The rule action type is invalid.'], ['code' => 'iot.rule.IncorrentRuleId', 'message' => 'The rule ID is invalid.', 'http_code' => 400, 'description' => 'The rule ID is invalid.'], ['code' => 'iot.rule.InstanceMigrateFailed', 'message' => 'Failed to migrate the instance.', 'http_code' => 400, 'description' => 'Failed to migrate the instance.'], ['code' => 'iot.rule.InvalidDataSourceName', 'message' => 'The data source name is invalid.', 'http_code' => 400, 'description' => 'The data source name is invalid.'], ['code' => 'iot.rule.InvalidDestinationName', 'message' => 'The destination name is invalid.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.rule.InvalidDestinationName', 'message' => 'The destination name is invalid', 'http_code' => 400, 'description' => 'The destination name is invalid'], ['code' => 'iot.rule.InvalidRuleName', 'message' => 'The rule name is invalid.', 'http_code' => 400, 'description' => 'The rule name is invalid.'], ['code' => 'iot.rule.InvalidRuleName', 'message' => 'The rule name is invalid', 'http_code' => 400, 'description' => ''], ['code' => 'iot.rule.ItemExceedsLimit', 'message' => 'item exceeds limit.', 'http_code' => 400, 'description' => 'item exceeds limit'], ['code' => 'iot.rule.ListDestinationFailed', 'message' => 'An error occurred while querying destinations.', 'http_code' => 400, 'description' => 'An error occurred while querying destinations'], ['code' => 'iot.rule.NoDataSourceBound', 'message' => 'no datasource bound.', 'http_code' => 400, 'description' => 'no datasource bound'], ['code' => 'iot.rule.NotFoundRule', 'message' => 'there are no rules.', 'http_code' => 400, 'description' => 'there are no rules.'], ['code' => 'iot.rule.NotFoundRuleAction', 'message' => 'The rule action does not exist.', 'http_code' => 400, 'description' => 'The rule action does not exist.'], ['code' => 'iot.rule.NullForwardDestForRule', 'message' => 'The message publishing destination is empty.', 'http_code' => 400, 'description' => 'The message publishing destination is empty.'], ['code' => 'iot.rule.NullRuleName', 'message' => 'The rule name is empty.', 'http_code' => 400, 'description' => 'The rule name is empty.'], ['code' => 'iot.rule.NullSql', 'message' => 'The SQL expression is empty.', 'http_code' => 400, 'description' => 'The SQL expression is empty.'], ['code' => 'iot.rule.NullSqlForRule', 'message' => 'The SQL expression for the rule does not exist.', 'http_code' => 400, 'description' => 'The SQL expression for the rule does not exist.'], ['code' => 'iot.rule.ParserNotStarted', 'message' => 'Parser is not started.', 'http_code' => 400, 'description' => 'The parser is not started.'], ['code' => 'iot.rule.ParseRuleActionConfigError', 'message' => 'An error occurred while parsing the rule action configuration.', 'http_code' => 400, 'description' => 'An error occurred while parsing the rule action configuration.'], ['code' => 'iot.rule.ParseRuleSqlError', 'message' => 'An error occurred while parsing the SQL statement.', 'http_code' => 400, 'description' => 'An error occurred while parsing the SQL statement.'], ['code' => 'iot.rule.QueryRuleActionListError', 'message' => 'An error occurred while querying the rule actions.', 'http_code' => 400, 'description' => 'An error occurred while querying the rule actions.'], ['code' => 'iot.rule.QueryRuleActionListError', 'message' => 'Querying rule action list is failed.', 'http_code' => 400, 'description' => 'Querying rule action list is failed.'], ['code' => 'iot.rule.QueryRuleFailed', 'message' => 'An error occurred while querying the rule.', 'http_code' => 400, 'description' => 'An error occurred while querying the rule.'], ['code' => 'iot.rule.QueryRulePageActionError', 'message' => 'An error occurred while querying the rule actions.', 'http_code' => 400, 'description' => 'An error occurred while querying the rule actions.'], ['code' => 'iot.rule.QueryRulePageActionError', 'message' => 'An error occurred while querying the rule action list across multiple pages.', 'http_code' => 400, 'description' => 'An error occurred while querying the rule action list across multiple pages.'], ['code' => 'iot.rule.RuleActionIsAlreadyCreated', 'message' => 'The rule action already exists.', 'http_code' => 400, 'description' => 'The rule action already exists.'], ['code' => 'iot.rule.RuleActionRdsConfigError', 'message' => 'The RDS parameters of the rule action is invalid.', 'http_code' => 400, 'description' => 'The RDS parameters of the rule action is invalid.'], ['code' => 'iot.rule.RuleCountExceedMax', 'message' => 'The number of rules exceeds the limit.', 'http_code' => 400, 'description' => 'The number of rules exceeds the limit.'], ['code' => 'iot.rule.RuleDataTypeNotMatchRuleActionType', 'message' => 'The data type of the rule does not match the type of the rule action.', 'http_code' => 400, 'description' => 'The data type of the rule does not match the type of the rule action.'], ['code' => 'iot.rule.RuleNameIsAlreadyExisted', 'message' => 'The rule name already exists.', 'http_code' => 400, 'description' => 'The rule name already exists.'], ['code' => 'iot.rule.RuleNotStarted', 'message' => 'Rule is not started.', 'http_code' => 400, 'description' => 'The rule is not started.'], ['code' => 'iot.rule.SameDestinationExisted', 'message' => 'The destination has been attached.', 'http_code' => 400, 'description' => 'The destination has been attached.'], ['code' => 'iot.rule.SameInstanceId', 'message' => 'The instance IDs must be unique.', 'http_code' => 400, 'description' => 'The instance IDs must be unique.'], ['code' => 'iot.rule.SaveServiceCallbackConfigFailed', 'message' => 'An error occurred while configuring the topic subscription.', 'http_code' => 400, 'description' => 'An error occurred while configuring the topic subscription.'], ['code' => 'iot.rule.SaveServiceCallbackConfigFailed', 'message' => 'To save server callback config is failed.', 'http_code' => 400, 'description' => 'To save server callback config is failed.'], ['code' => 'iot.rule.ScriptLengthExceeds', 'message' => 'The length of script is exceeded.', 'http_code' => 400, 'description' => 'The length of script is exceeded'], ['code' => 'iot.rule.scriptSyntaxError', 'message' => 'Script Syntax Error.', 'http_code' => 400, 'description' => 'Script Syntax Error'], ['code' => 'iot.rule.StartRuleFailed', 'message' => 'An error occurred while starting the rule.', 'http_code' => 400, 'description' => 'An error occurred while starting the rule.'], ['code' => 'iot.rule.StopRuleFailed', 'message' => 'An error occurred while stopping the rule.', 'http_code' => 400, 'description' => 'An error occurred while stopping the rule.'], ['code' => 'iot.rule.SuffixIllegal', 'message' => 'The suffix is empty or exceeds the length limit.', 'http_code' => 400, 'description' => 'The suffix is empty or exceeds the length limit.'], ['code' => 'iot.rule.TenantVpcNotSupport', 'message' => 'The multi-tenant VPC is not supported.', 'http_code' => 400, 'description' => 'The multi-tenant VPC is not supported.'], ['code' => 'iot.rule.TooManyRuleAction', 'message' => 'The number of rule actions exceeds the limit.', 'http_code' => 400, 'description' => 'The number of rule actions exceeds the limit.'], ['code' => 'iot.rule.TooManyRuleAction', 'message' => 'The rule action exceeds the maximum number.', 'http_code' => 400, 'description' => 'The rule action exceeds the maximum number.'], ['code' => 'iot.rule.UpdateRuleFailed', 'message' => 'An error occurred while updating the rule.', 'http_code' => 400, 'description' => 'An error occurred while updating the rule.'], ['code' => 'iot.rule.UpdateRuleFailed', 'message' => 'An error occurred while upgrading the rule.', 'http_code' => 400, 'description' => 'An error occurred while upgrading the rule.'], ['code' => 'iot.ruleng.AccessDenied', 'message' => 'the caller is not authorized', 'http_code' => 400, 'description' => 'the caller is not authorized'], ['code' => 'iot.ruleng.AttributeIllegal', 'message' => 'The attributeInfo parameter is invalid.', 'http_code' => 400, 'description' => 'The attributeInfo parameter is invalid.'], ['code' => 'iot.ruleng.BinaryRuleNotSupportDeviceStatusChangeTopic', 'message' => 'The topic type is not supported by the binary rule.', 'http_code' => 400, 'description' => 'The topic type is not supported by the binary rule.'], ['code' => 'iot.ruleng.BinaryRuleNotSupportTopicType', 'message' => 'The topic type is not supported by the binary rule.', 'http_code' => 400, 'description' => 'The topic type is not supported by the binary rule.'], ['code' => 'iot.ruleng.CreateRuleActionFailed', 'message' => 'An error occurred while creating the rule action.', 'http_code' => 400, 'description' => 'An error occurred while creating the rule action.'], ['code' => 'iot.ruleng.DeleteAllActionNotSupport', 'message' => 'You cannot delete all actions under a rule.', 'http_code' => 400, 'description' => 'You cannot delete all actions under a rule.'], ['code' => 'iot.ruleng.DeleteRuleActionFailed', 'message' => 'An error occurred while deleting the rule action.', 'http_code' => 400, 'description' => 'An error occurred while deleting the rule action.'], ['code' => 'iot.ruleng.EmptySchemaNameOfTopic', 'message' => 'The topic schema name is empty.', 'http_code' => 400, 'description' => 'The topic schema name is empty.'], ['code' => 'iot.ruleng.EmptySchemaTypeOfTopic', 'message' => 'The schema type of the DataHub topic cannot be empty.', 'http_code' => 400, 'description' => 'The schema type of the DataHub topic cannot be empty.'], ['code' => 'iot.ruleng.EmptySchemaValueOfTopic', 'message' => 'The topic schema value is empty.', 'http_code' => 400, 'description' => 'The topic schema value is empty.'], ['code' => 'iot.ruleng.GrantVpcInstanceFailed', 'message' => 'An error occurred while authorizing the VPC instance.', 'http_code' => 400, 'description' => 'An error occurred while authorizing the VPC instance.'], ['code' => 'iot.ruleng.IncorrectActionTypeForError', 'message' => 'The data forwarding rule does not support the specified cloud service.', 'http_code' => 400, 'description' => 'The data forwarding rule does not support the specified cloud service.'], ['code' => 'iot.ruleng.IncorrectPrimaryKeyValueInOtsTable', 'message' => 'The primary key value of the Tablestore instance is invalid.', 'http_code' => 400, 'description' => 'The primary key value of the Tablestore instance is invalid.'], ['code' => 'iot.ruleng.IncorrectRegionName', 'message' => 'The regionName parameter is invalid.', 'http_code' => 400, 'description' => 'The regionName parameter is invalid.'], ['code' => 'iot.ruleng.IncorrectRegionName', 'message' => 'The regionName value is incorrect.', 'http_code' => 400, 'description' => 'The regionName value is incorrect.'], ['code' => 'iot.ruleng.IncorrectRegionName', 'message' => 'The regionName value is incorrect', 'http_code' => 400, 'description' => 'The regionName value is incorrect'], ['code' => 'iot.ruleng.IncorrectSchemaValueOfTopic', 'message' => 'The specified schema of the DataHub topic is invalid.', 'http_code' => 400, 'description' => 'The specified schema of the DataHub topic is invalid.'], ['code' => 'iot.ruleng.IncorrectSchemaValueOfTopic', 'message' => 'The specified Topic schema value is invalid', 'http_code' => 400, 'description' => 'The specified Topic schema value is invalid'], ['code' => 'iot.ruleng.IncorrectSysTopic', 'message' => 'The specified system topic is invalid.', 'http_code' => 400, 'description' => 'The specified system topic is invalid.'], ['code' => 'iot.ruleng.IncorrectType', 'message' => 'The specified topic type is invalid.', 'http_code' => 400, 'description' => 'The specified topic type is invalid.'], ['code' => 'iot.ruleng.InstanceNotFound', 'message' => 'The instance does not exist.', 'http_code' => 400, 'description' => 'The instance does not exist.'], ['code' => 'iot.ruleng.InstanceNotFound', 'message' => 'The instance not exists', 'http_code' => 400, 'description' => 'The instance not exists'], ['code' => 'iot.ruleng.InvalidEndpoint', 'message' => 'The endpoint is invalid.', 'http_code' => 400, 'description' => 'The endpoint is invalid.'], ['code' => 'iot.ruleng.InvalidFormattedConnectionIp', 'message' => 'The IP address format is invalid.', 'http_code' => 400, 'description' => 'The IP address format is invalid.'], ['code' => 'iot.ruleng.InvalidFormattedConnectionIp', 'message' => 'The IP format is incorrect', 'http_code' => 400, 'description' => 'The IP format is incorrect'], ['code' => 'iot.ruleng.InvalidFormattedConnectionPort', 'message' => 'The port format is invalid.', 'http_code' => 400, 'description' => 'The port format is invalid.'], ['code' => 'iot.ruleng.InvalidFormattedConnectionPort', 'message' => 'The port format is incorrect', 'http_code' => 400, 'description' => 'The port format is incorrect'], ['code' => 'iot.ruleng.InvalidFormattedRdsDatabaseName', 'message' => 'The database name contains invalid characters.', 'http_code' => 400, 'description' => 'The database name contains invalid characters.'], ['code' => 'iot.ruleng.InvalidFormattedRdsDatabaseName', 'message' => 'The database name contains invalid characters in the RDS instanc', 'http_code' => 400, 'description' => 'The database name contains invalid characters in the RDS instanc'], ['code' => 'iot.ruleng.InvalidFormattedRdsTableName', 'message' => 'The table name contains invalid characters in the RDS instance.', 'http_code' => 400, 'description' => 'The table name contains invalid characters in the RDS instance.'], ['code' => 'iot.ruleng.InvalidFormattedRdsTableName', 'message' => 'The table name contains invalid characters in the RDS instance', 'http_code' => 400, 'description' => 'The table name contains invalid characters in the RDS instance'], ['code' => 'iot.ruleng.InvalidFormattedShardingKeyInConfiguration', 'message' => 'The shardingKey parameter that is included in the configuration parameter exceeds the limit in length.', 'http_code' => 400, 'description' => 'The shardingKey parameter that is included in the configuration parameter exceeds the limit in length.'], ['code' => 'iot.ruleng.InvalidFormattedShardingKeyInConfiguration', 'message' => 'The shardingKey in configuration is too long', 'http_code' => 400, 'description' => 'The shardingKey in configuration is too long'], ['code' => 'iot.ruleng.InvalidFormattedTagInConfiguration', 'message' => 'The tag in the Configuration parameter exceeds the length limit.', 'http_code' => 400, 'description' => 'The tag in the Configuration parameter exceeds the length limit.'], ['code' => 'iot.ruleng.InvalidFormattedTagInConfiguration', 'message' => 'The tag in configuration is too long.', 'http_code' => 400, 'description' => 'The tag in configuration is too long'], ['code' => 'iot.ruleng.InvalidFormattedTagNameInHitsdb', 'message' => 'The TSDB instance tag format is invalid.', 'http_code' => 400, 'description' => 'The TSDB instance tag format is invalid.'], ['code' => 'iot.ruleng.InvalidFormattedTimestampInHitsdb', 'message' => 'The timestamp format is invalid.', 'http_code' => 400, 'description' => 'The timestamp format is invalid.'], ['code' => 'iot.ruleng.InvalidRamRole', 'message' => 'The RAM role is invalid.', 'http_code' => 400, 'description' => 'The RAM role is invalid.'], ['code' => 'iot.ruleng.InvalidRamRole', 'message' => 'The RAM role is invalid', 'http_code' => 400, 'description' => 'The RAM role is invalid'], ['code' => 'iot.ruleng.JsonInfoIsNotJson', 'message' => 'The specified jsoninfo parameter is not in JSON format.', 'http_code' => 400, 'description' => 'The specified jsoninfo parameter is not in JSON format.'], ['code' => 'iot.ruleng.JsonInfoMissPayload', 'message' => 'The specified jsoninfo parameter does not contain the payload information.', 'http_code' => 400, 'description' => 'The specified jsoninfo parameter does not contain the payload information.'], ['code' => 'iot.ruleng.ListFcAliasFail', 'message' => 'List Fc alias fail.', 'http_code' => 400, 'description' => 'List Fc alias fail.'], ['code' => 'iot.ruleng.ListFcVersionsFail', 'message' => 'List Fc versions fail.', 'http_code' => 400, 'description' => 'List Fc versions fail.'], ['code' => 'iot.ruleng.ListInstancesError', 'message' => 'An error occurred while retrieving the instances.', 'http_code' => 400, 'description' => 'An error occurred while retrieving the instances.'], ['code' => 'iot.ruleng.ListLindormInstanceFail', 'message' => 'List Lindorm instance fail.', 'http_code' => 400, 'description' => 'List Lindorm instance fail.'], ['code' => 'iot.ruleng.ListMqTopicsError', 'message' => 'An error occurred while retrieving the MQ topic.', 'http_code' => 400, 'description' => 'An error occurred while retrieving the MQ topic.'], ['code' => 'iot.ruleng.ListPolardbAccountFail', 'message' => 'List PolarDB account fail.', 'http_code' => 400, 'description' => 'The system failed to query PolarDB accounts.'], ['code' => 'iot.ruleng.ListPolardbDatabaseFail', 'message' => 'List PolarDB database fail.', 'http_code' => 400, 'description' => 'The system failed to query PolarDB databases.'], ['code' => 'iot.ruleng.ListPolardbInstanceFail', 'message' => 'List PolarDB instance fail.', 'http_code' => 400, 'description' => 'The system failed to query PolarDB instances.'], ['code' => 'iot.ruleng.ListRdsAccountError', 'message' => 'An error occurred while retrieving the RDS database account.', 'http_code' => 400, 'description' => 'An error occurred while retrieving the RDS database account.'], ['code' => 'iot.ruleng.ListSecurityIpsError', 'message' => 'An error occurred while retrieving the network whitelist.', 'http_code' => 400, 'description' => 'An error occurred while retrieving the network whitelist.'], ['code' => 'iot.ruleng.MnsConfigIsNotJson', 'message' => 'The MNS configuration information is not in the JSON format.', 'http_code' => 400, 'description' => 'The MNS configuration information is not in the JSON format.'], ['code' => 'iot.ruleng.MnsConfigIsNull', 'message' => 'The MNS settings are empty.', 'http_code' => 400, 'description' => 'The MNS settings are empty.'], ['code' => 'iot.ruleng.ModifySecurityIpFailed', 'message' => 'An error occurred while modifying the network whitelist.', 'http_code' => 400, 'description' => 'An error occurred while modifying the network whitelist.'], ['code' => 'iot.ruleng.NotBindCustomerVpc', 'message' => 'The current instance is not bound to a VPC.', 'http_code' => 400, 'description' => 'The current instance is not bound to a VPC.'], ['code' => 'iot.ruleng.NotFoundFunctionInFc', 'message' => 'The Function Compute function does not exist.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ruleng.NotFoundFunctionInFc', 'message' => 'The Function Compute function does not exist', 'http_code' => 400, 'description' => 'The Function Compute function does not exist'], ['code' => 'iot.ruleng.NotFoundProjectInDataHub', 'message' => 'The specified project does not exist in DataHub.', 'http_code' => 400, 'description' => 'The specified project does not exist in DataHub.'], ['code' => 'iot.ruleng.NotFoundQueueNameInMns', 'message' => 'The specified queue does not exist in the MNS service.', 'http_code' => 400, 'description' => 'The specified queue does not exist in the MNS service.'], ['code' => 'iot.ruleng.NotFoundServiceInFc', 'message' => 'The Function Compute service does not exist.', 'http_code' => 400, 'description' => 'The Function Compute service does not exist.'], ['code' => 'iot.ruleng.NotFoundTable', 'message' => 'The specified RDS table does not exist.', 'http_code' => 400, 'description' => 'The specified RDS table does not exist.'], ['code' => 'iot.ruleng.NotFoundTableInOtsInstance', 'message' => 'The specified table does not exist in the Tablestore instance.', 'http_code' => 400, 'description' => 'The specified table does not exist in the Tablestore instance.'], ['code' => 'iot.ruleng.NotFoundTableInOtsInstance', 'message' => 'The specified table does not exist in the Table Store instance', 'http_code' => 400, 'description' => 'The specified table does not exist in the Table Store instance'], ['code' => 'iot.ruleng.NotFoundTopicInDataHubProject', 'message' => 'This specified topic does not exist in the DataHub project.', 'http_code' => 400, 'description' => 'This specified topic does not exist in the DataHub project.'], ['code' => 'iot.ruleng.NotFoundTopicInDataHubProject', 'message' => 'This specified topic does not exist in the project in DataHub.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ruleng.NotFoundTopicInDataHubProject', 'message' => 'This specified topic does not exist in the project in DataHub', 'http_code' => 400, 'description' => 'This specified topic does not exist in the project in DataHub'], ['code' => 'iot.ruleng.NotFoundTopicInMns', 'message' => 'The specified topic does not exist in the MNS service.', 'http_code' => 400, 'description' => 'The specified topic does not exist in the MNS service.'], ['code' => 'iot.ruleng.NotFoundTopicInMns', 'message' => 'The specified topic does not exist in the MNS service', 'http_code' => 400, 'description' => 'The specified topic does not exist in the MNS service'], ['code' => 'iot.ruleng.NotFoundVpcInstance', 'message' => 'The specified VPC does not exist.', 'http_code' => 400, 'description' => 'The specified VPC does not exist.'], ['code' => 'iot.ruleng.NotFoundVpcInstance', 'message' => 'The specified VPC instance does not exist.', 'http_code' => 400, 'description' => 'The specified VPC instance does not exist.'], ['code' => 'iot.ruleng.NotFoundVpcInstance', 'message' => 'The specified VPC instance does not exist', 'http_code' => 400, 'description' => 'The specified VPC instance does not exist'], ['code' => 'iot.ruleng.NotFoundVpcInstanceConnection', 'message' => 'The specified VPC does not exist. Check that your RDS instance has been configured with a VPC and VPC vSwitch.', 'http_code' => 400, 'description' => 'The specified VPC does not exist. Check that your RDS instance has been configured with a VPC and VPC vSwitch.'], ['code' => 'iot.ruleng.NotFoundVpcInstanceConnection', 'message' => 'The specified VPC path does not exist. Check that your instance has been configured with a VPC and VPC VSwitch', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ruleng.NotMatchedField', 'message' => 'The specified RDS table fields do not match.', 'http_code' => 400, 'description' => 'The specified RDS table fields do not match.'], ['code' => 'iot.ruleng.NotSeniorProduct', 'message' => 'The product is a senior product.', 'http_code' => 400, 'description' => 'The product is a senior product.'], ['code' => 'iot.ruleng.NotSupportedProductCode', 'message' => 'The specified cloud service code is invalid.', 'http_code' => 400, 'description' => 'The specified cloud service code is invalid.'], ['code' => 'iot.ruleng.NotSupportedRegion', 'message' => 'The specified node is not supported.', 'http_code' => 400, 'description' => 'The specified node is not supported.'], ['code' => 'iot.ruleng.NotSupportTransmitTopicConfig', 'message' => 'not support transmit topic config.', 'http_code' => 400, 'description' => 'not support transmit topic config.'], ['code' => 'iot.ruleng.NullConnectionIp', 'message' => 'The IP address is empty.', 'http_code' => 400, 'description' => 'The IP address is empty.'], ['code' => 'iot.ruleng.NullConnectionPort', 'message' => 'The port is empty.', 'http_code' => 400, 'description' => 'The port is empty.'], ['code' => 'iot.ruleng.NullEndpoint', 'message' => 'The endpoint cannot be empty.', 'http_code' => 400, 'description' => 'The endpoint cannot be empty.'], ['code' => 'iot.ruleng.NullFunctionNameInFc', 'message' => 'The Function Compute function name is empty.', 'http_code' => 400, 'description' => 'The Function Compute function name is empty.'], ['code' => 'iot.ruleng.NullFunctionNameInFc', 'message' => 'The Function Compute function name is empty', 'http_code' => 400, 'description' => 'The Function Compute function name is empty'], ['code' => 'iot.ruleng.NullInstanceId', 'message' => 'You must specify an instance ID.', 'http_code' => 400, 'description' => 'You must specify an instance ID.'], ['code' => 'iot.ruleng.NullInstanceName', 'message' => 'The name of instance is empty.', 'http_code' => 400, 'description' => 'The name of instance is empty.'], ['code' => 'iot.ruleng.NullInstanceNameInHitsdb', 'message' => 'The TSDB instance name is empty.', 'http_code' => 400, 'description' => 'The TSDB instance name is empty.'], ['code' => 'iot.ruleng.NullJsonInfo', 'message' => 'You must specify the jsoninfo parameter.', 'http_code' => 400, 'description' => 'You must specify the jsoninfo parameter.'], ['code' => 'iot.ruleng.NullMappingEndpoint', 'message' => 'The endpoint is empty.', 'http_code' => 400, 'description' => 'The endpoint is empty.'], ['code' => 'iot.ruleng.NullOrEmptySchemaOfTopic', 'message' => 'The topic schema is empty.', 'http_code' => 400, 'description' => 'The topic schema is empty.'], ['code' => 'iot.ruleng.NullOrEmptySchemaOfTopic', 'message' => 'The topic schema is empty', 'http_code' => 400, 'description' => 'The topic schema is empty'], ['code' => 'iot.ruleng.NullOtsInstanceName', 'message' => 'The Tablestore instance name cannot be empty.', 'http_code' => 400, 'description' => 'The Tablestore instance name cannot be empty.'], ['code' => 'iot.ruleng.NullOtsInstanceName', 'message' => 'The Table Store instance name is empty', 'http_code' => 400, 'description' => 'The Table Store instance name is empty'], ['code' => 'iot.ruleng.NullParameterType', 'message' => 'You must specify a type.', 'http_code' => 400, 'description' => 'You must specify a type.'], ['code' => 'iot.ruleng.NullPassword', 'message' => 'The password cannot be empty.', 'http_code' => 400, 'description' => 'The password cannot be empty.'], ['code' => 'iot.ruleng.NullPrimaryKeyInOtsTable', 'message' => 'The primary key of the Tablestore instance is empty.', 'http_code' => 400, 'description' => 'The primary key of the Tablestore instance is empty.'], ['code' => 'iot.ruleng.NullPrimaryKeyNameInOts', 'message' => 'The primary key of the table in the Tablestore instance cannot be empty.', 'http_code' => 400, 'description' => 'The primary key of the table in the Tablestore instance cannot be empty.'], ['code' => 'iot.ruleng.NullPrimaryKeyTypeInOts', 'message' => 'The primary key type of the table in the Tablestore instance cannot be empty.', 'http_code' => 400, 'description' => 'The primary key type of the table in the Tablestore instance cannot be empty.'], ['code' => 'iot.ruleng.NullPrimaryKeyValueInOts', 'message' => 'The primary key value of the table in the Tablestore instance cannot be empty.', 'http_code' => 400, 'description' => 'The primary key value of the table in the Tablestore instance cannot be empty.'], ['code' => 'iot.ruleng.NullProductCode', 'message' => 'You must specify a cloud service code.', 'http_code' => 400, 'description' => 'You must specify a cloud service code.'], ['code' => 'iot.ruleng.NullProjectOfDatahub', 'message' => 'The project in DataHub is empty.', 'http_code' => 400, 'description' => 'The project in DataHub is empty.'], ['code' => 'iot.ruleng.NullProjectOfDatahub', 'message' => 'The project in DataHub is empty', 'http_code' => 400, 'description' => 'The project in DataHub is empty'], ['code' => 'iot.ruleng.NullRamRoleArn', 'message' => 'You must specify a role ARN.', 'http_code' => 400, 'description' => 'You must specify a role ARN.'], ['code' => 'iot.ruleng.NullRamRoleArn', 'message' => 'You must specify a role name.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ruleng.NullRamRoleArn', 'message' => 'You must specify a roleArn', 'http_code' => 400, 'description' => 'You must specify a roleArn'], ['code' => 'iot.ruleng.NullRamRoleName', 'message' => 'You must specify a role name.', 'http_code' => 400, 'description' => 'You must specify a role name.'], ['code' => 'iot.ruleng.NullRamRoleName', 'message' => 'You must specify a roleName', 'http_code' => 400, 'description' => 'You must specify a roleName'], ['code' => 'iot.ruleng.NullRdsAccountName', 'message' => 'The account name is empty in the RDS instance.', 'http_code' => 400, 'description' => 'The account name is empty in the RDS instance.'], ['code' => 'iot.ruleng.NullRdsAccountName', 'message' => 'The account name is empty in the RDS instance', 'http_code' => 400, 'description' => 'The account name is empty in the RDS instance'], ['code' => 'iot.ruleng.NullRdsDatabaseName', 'message' => 'The RDS database name is empty.', 'http_code' => 400, 'description' => 'The RDS database name is empty.'], ['code' => 'iot.ruleng.NullRdsDatabaseName', 'message' => 'The database name is empty in the RDS instance', 'http_code' => 400, 'description' => 'The database name is empty in the RDS instance'], ['code' => 'iot.ruleng.NullRdsFieldName', 'message' => 'The column name of the table is empty in the RDS instance.', 'http_code' => 400, 'description' => 'The column name of the table is empty in the RDS instance.'], ['code' => 'iot.ruleng.NullRdsFieldValue', 'message' => 'The column value of the table is empty in the RDS instance.', 'http_code' => 400, 'description' => 'The column value of the table is empty in the RDS instance.'], ['code' => 'iot.ruleng.NullRdsInstanceName', 'message' => 'The RDS instance name is empty.', 'http_code' => 400, 'description' => 'The RDS instance name is empty.'], ['code' => 'iot.ruleng.NullRdsInstanceName', 'message' => 'The RDS instance name is empty', 'http_code' => 400, 'description' => 'The RDS instance name is empty'], ['code' => 'iot.ruleng.NullRdsPassword', 'message' => 'The password is empty.', 'http_code' => 400, 'description' => 'The password is empty.'], ['code' => 'iot.ruleng.NullRdsPassword', 'message' => 'The password is empty', 'http_code' => 400, 'description' => 'The password is empty'], ['code' => 'iot.ruleng.NullRdsTableName', 'message' => 'The table name is empty in the RDS instance.', 'http_code' => 400, 'description' => 'The table name is empty in the RDS instance.'], ['code' => 'iot.ruleng.NullRdsTableName', 'message' => 'The table name is empty in the RDS instance', 'http_code' => 400, 'description' => 'The table name is empty in the RDS instance'], ['code' => 'iot.ruleng.NullRegionId', 'message' => 'You must specify a node ID.', 'http_code' => 400, 'description' => 'You must specify a node ID.'], ['code' => 'iot.ruleng.NullRegionName', 'message' => 'You must specify a node name.', 'http_code' => 400, 'description' => 'You must specify a node name.'], ['code' => 'iot.ruleng.NullRuleActionConfig', 'message' => 'The rule action configurations cannot be empty.', 'http_code' => 400, 'description' => 'The rule action configurations cannot be empty.'], ['code' => 'iot.ruleng.NullRuleActionConfig', 'message' => 'The rule action configuration is empty.', 'http_code' => 400, 'description' => 'The rule action configuration is empty.'], ['code' => 'iot.ruleng.NullRuleActionType', 'message' => 'The specified rule action is invalid or the rule action type is unspecified.', 'http_code' => 400, 'description' => 'The specified rule action is invalid or the rule action type is unspecified.'], ['code' => 'iot.ruleng.NullServiceNameInFc', 'message' => 'The Function Compute service name is empty.', 'http_code' => 400, 'description' => 'The Function Compute service name is empty.'], ['code' => 'iot.ruleng.NullTableNameInOtsInstance', 'message' => 'The table name is empty in the Tablestore instance.', 'http_code' => 400, 'description' => 'The table name is empty in the Tablestore instance.'], ['code' => 'iot.ruleng.NullTableNameInOtsInstance', 'message' => 'The table name is empty in the Table Store instance.', 'http_code' => 400, 'description' => 'The table name is empty in the Table Store instance'], ['code' => 'iot.ruleng.NullTagNameInHitsdb', 'message' => 'The TSDB instance tag name is empty.', 'http_code' => 400, 'description' => 'The TSDB instance tag name is empty.'], ['code' => 'iot.ruleng.NullTagValueInHitsdb', 'message' => 'The TSDB instance tag value is empty.', 'http_code' => 400, 'description' => 'The TSDB instance tag value is empty.'], ['code' => 'iot.ruleng.NullTimestampInHitsdb', 'message' => 'The timestamp is empty.', 'http_code' => 400, 'description' => 'The timestamp is empty.'], ['code' => 'iot.ruleng.NullTopic', 'message' => 'The topic cannot be empty.', 'http_code' => 400, 'description' => 'The topic cannot be empty.'], ['code' => 'iot.ruleng.NullTopic', 'message' => 'The topic is null', 'http_code' => 400, 'description' => 'The topic is null'], ['code' => 'iot.ruleng.NullTopicInDatahubProject', 'message' => 'The project topic in DataHub is empty.', 'http_code' => 400, 'description' => 'The project topic in DataHub is empty.'], ['code' => 'iot.ruleng.NullTopicInDatahubProject', 'message' => 'The project topic in DataHub is empty', 'http_code' => 400, 'description' => 'The project topic in DataHub is empty'], ['code' => 'iot.ruleng.NullTopicNameInMns', 'message' => 'The MNS topic is empty.', 'http_code' => 400, 'description' => 'The MNS topic is empty.'], ['code' => 'iot.ruleng.NullUsername', 'message' => 'The username cannot be empty.', 'http_code' => 400, 'description' => 'The username cannot be empty.'], ['code' => 'iot.ruleng.NullVpcId', 'message' => 'The VPC ID cannot be empty.', 'http_code' => 400, 'description' => 'The VPC ID cannot be empty.'], ['code' => 'iot.ruleng.NullVpcInstance', 'message' => 'The VPC cannot be empty.', 'http_code' => 400, 'description' => 'The VPC cannot be empty.'], ['code' => 'iot.ruleng.OnlyAllowOneErrorAction', 'message' => 'You can specify only one destination in a rule to forward error data.', 'http_code' => 400, 'description' => 'You can specify only one destination in a rule to forward error data.'], ['code' => 'iot.ruleng.OnlyAllowOneErrorAction', 'message' => 'You can specify only one destination to forward data errors in a rule.', 'http_code' => 400, 'description' => 'You can specify only one destination to forward data errors in a rule.'], ['code' => 'iot.ruleng.OnlySameRegionHitsdbSupport', 'message' => 'Messages can only be published to the TSDB instances on the same node.', 'http_code' => 400, 'description' => 'Messages can only be published to the TSDB instances on the same node.'], ['code' => 'iot.ruleng.OnlySameRegionSupport', 'message' => 'The destination region is not supported.', 'http_code' => 400, 'description' => 'The destination region is not supported.'], ['code' => 'iot.ruleng.OnlySameRegionSupport', 'message' => 'target region is not supported', 'http_code' => 400, 'description' => 'target region is not supported'], ['code' => 'iot.ruleng.OnlySupportSameRegionRds', 'message' => 'Messages can only be publish to the RDS instances on the same node.', 'http_code' => 400, 'description' => 'Messages can only be publish to the RDS instances on the same node.'], ['code' => 'iot.ruleng.OnlySupportSameRegionRds', 'message' => 'Messages can only be publish to the RDS instances on the same node', 'http_code' => 400, 'description' => 'Messages can only be publish to the RDS instances on the same node'], ['code' => 'iot.ruleng.PayloadInfoIsNotJson', 'message' => 'The payload information in the message is not in the JSON format.', 'http_code' => 400, 'description' => 'The payload information in the message is not in the JSON format.'], ['code' => 'iot.ruleng.QueryInstanceError', 'message' => 'An error occurred while retrieving the instance information.', 'http_code' => 400, 'description' => 'An error occurred while retrieving the instance information.'], ['code' => 'iot.ruleng.QueryMnsTopicListActionError', 'message' => 'An error occurred while querying the MNS topics.', 'http_code' => 400, 'description' => 'An error occurred while querying the MNS topics.'], ['code' => 'iot.ruleng.QueryRuleActionFailed', 'message' => 'An error occurred while retrieving the rule action.', 'http_code' => 400, 'description' => 'An error occurred while retrieving the rule action.'], ['code' => 'iot.ruleng.QueryServerMappingInfoError', 'message' => 'An error occurred while retrieving the VPC mapping information.', 'http_code' => 400, 'description' => 'An error occurred while retrieving the VPC mapping information.'], ['code' => 'iot.ruleng.QueryServiceCallbackConfigActionError', 'message' => 'An error occurred while querying the server-side subscription.', 'http_code' => 400, 'description' => 'An error occurred while querying the server-side subscription.'], ['code' => 'iot.ruleng.QueryServiceCallbackConfigActionError', 'message' => 'An error occurred while querying the configuration of the device message subscription.', 'http_code' => 400, 'description' => 'An error occurred while querying the configuration of the device message subscription.'], ['code' => 'iot.ruleng.RegionNotSupportRuleForwardCloudProduct', 'message' => 'The specified region does not support creating rules to publish messages to the specified cloud service.', 'http_code' => 400, 'description' => 'The specified region does not support creating rules to publish messages to the specified cloud service.'], ['code' => 'iot.ruleng.RegionNotSupportRuleForwardCloudProduct', 'message' => 'The specified region does not support creating rules to publish messages to the specified cloud product.', 'http_code' => 400, 'description' => 'The specified region does not support creating rules to publish messages to the specified cloud product.'], ['code' => 'iot.ruleng.RegionNotSupportRuleForwardCloudProduct', 'message' => 'The specified region does not support creating rules to publish messages to the specified cloud product', 'http_code' => 400, 'description' => 'The specified region does not support creating rules to publish messages to the specified cloud product'], ['code' => 'iot.ruleng.RuleActionConfigurationIsNotJson', 'message' => 'The rule action configurations are not in the JSON format.', 'http_code' => 400, 'description' => 'The rule action configurations are not in the JSON format.'], ['code' => 'iot.ruleng.RuleActionConfigurationIsNotJson', 'message' => 'The rule action configuration is not in the JSON format', 'http_code' => 400, 'description' => 'The rule action configuration is not in the JSON format'], ['code' => 'iot.ruleng.RuleAlreadyIsStarted', 'message' => 'The specified rule is already started.', 'http_code' => 400, 'description' => 'The specified rule is already started.'], ['code' => 'iot.ruleng.RuleAlreadyIsStarted', 'message' => 'The specified rule has already started.', 'http_code' => 400, 'description' => 'The specified rule has already started.'], ['code' => 'iot.ruleng.ServiceNotFound', 'message' => 'service does not exist', 'http_code' => 400, 'description' => ''], ['code' => 'iot.ruleng.topic.invalid', 'message' => 'The topic is invalid.', 'http_code' => 400, 'description' => 'The topic is invalid.'], ['code' => 'iot.ruleng.TopicIsNotUnique', 'message' => 'The topic is not unique.', 'http_code' => 400, 'description' => 'The topic is not unique.'], ['code' => 'iot.ruleng.TopicNotFound', 'message' => 'The topic does not exists.', 'http_code' => 400, 'description' => 'The topic does not exists.'], ['code' => 'iot.ruleng.TopicNotFound', 'message' => 'The topic not exists', 'http_code' => 400, 'description' => 'The topic not exists'], ['code' => 'iot.ruleng.TsdbMetricTypeNotSupport', 'message' => 'The TSDB metric type is not supported.', 'http_code' => 400, 'description' => 'The TSDB metric type is not supported.'], ['code' => 'iot.ruleng.TsdbNotExsistInVpc', 'message' => 'The TSDB instance does not exist in the VPC.', 'http_code' => 400, 'description' => 'The TSDB instance does not exist in the VPC.'], ['code' => 'iot.ruleng.TsdbNotExsistInVpc', 'message' => 'The TSDB instance not exists in vpc', 'http_code' => 400, 'description' => 'The TSDB instance not exists in vpc'], ['code' => 'iot.ruleng.types.invalid', 'message' => 'The types parameter is invalid.', 'http_code' => 400, 'description' => 'The types parameter is invalid.'], ['code' => 'iot.ruleng.UpdateRuleActionFailed', 'message' => 'An error occurred while updating the rule action.', 'http_code' => 400, 'description' => 'An error occurred while updating the rule action.'], ['code' => 'iot.scheduleperiod.AlreadyExists', 'message' => 'schedule period already exists.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.scheduleperiod.ConflictTime', 'message' => 'conflict with:%s.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.scheduleperiod.ConflictTime', 'message' => 'conflict with %s', 'http_code' => 400, 'description' => 'conflict with %s'], ['code' => 'iot.scheduleperiod.ConflictWithScheduleTime', 'message' => 'conflict with schedule time.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.scheduleperiod.InvalidDesc', 'message' => 'Invalid period description.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.scheduleperiod.InvalidIotInstanceId', 'message' => 'invalid IotInstanceId.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.scheduleperiod.InvalidTime', 'message' => 'invalid period time.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.scheduleperiod.LimitExceeded', 'message' => 'schedule period limit exceeded.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.scheduleperiod.NotExists', 'message' => 'schedule period not exists.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.searchDoc.error', 'message' => 'Search error.', 'http_code' => 400, 'description' => 'Search error.'], ['code' => 'iot.securetunnel.DescriptionTooLong', 'message' => 'The description has exceeded the maximum length.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.securetunnel.DescriptionTooLong', 'message' => 'The description of the device tunnel has exceeded the maximum length.', 'http_code' => 400, 'description' => 'The description of the device tunnel has exceeded the maximum length.'], ['code' => 'iot.securetunnel.DeviceNotExist', 'message' => 'The specified device does not exist.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.securetunnel.DeviceNotExist', 'message' => 'The device does not exist.', 'http_code' => 400, 'description' => 'The device does not exist.'], ['code' => 'iot.securetunnel.DeviceNotOnline', 'message' => 'The device must be online.', 'http_code' => 400, 'description' => 'The device must be in the online status.'], ['code' => 'iot.securetunnel.DeviceNotOnline', 'message' => 'The device is not online.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.securetunnel.DeviceNotOnline', 'message' => 'the device is offline', 'http_code' => 400, 'description' => 'the device is offline'], ['code' => 'iot.securetunnel.DeviceNotSpecified', 'message' => 'The device must be specified.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.securetunnel.DeviceNotSpecified', 'message' => 'The device is not specified.', 'http_code' => 400, 'description' => 'The device is not specified.'], ['code' => 'iot.securetunnel.IllegalState', 'message' => 'The tunnel state does not meet the requirement.', 'http_code' => 400, 'description' => 'The state of the secure tunnel is invalid.'], ['code' => 'iot.securetunnel.IllegalState', 'message' => 'The state of the secure tunnel is invalid.', 'http_code' => 400, 'description' => 'The state of the secure tunnel is invalid.'], ['code' => 'iot.securetunnel.InstanceIdMismatch', 'message' => 'The instanceId does not match other parameters.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.securetunnel.InstanceIdMismatch', 'message' => 'The instanceId does not match the parameter.', 'http_code' => 400, 'description' => 'The instance ID does not match the parameter.'], ['code' => 'iot.securetunnel.InstanceIdMismatch', 'message' => 'The instance ID does not match the other parameters.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.securetunnel.InvalidParam', 'message' => 'The parameter is invalid.', 'http_code' => 400, 'description' => 'The parameter is invalid.'], ['code' => 'iot.securetunnel.ParamInvalid', 'message' => 'The parameter is invalid.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.securetunnel.ParamInvalid', 'message' => 'The specified parameter is invalid.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.securetunnel.TunnelAmountExceedByDevice', 'message' => 'The tunnel amount for a single device has exceeded the limit.', 'http_code' => 400, 'description' => 'The tunnel amount for a single device has exceeded the limit.'], ['code' => 'iot.securetunnel.TunnelAmountExceedByDevice', 'message' => 'The tunnel amount of the device has exceeded the limit.', 'http_code' => 400, 'description' => 'The tunnel amount of the device has exceeded the limit.'], ['code' => 'iot.securetunnel.TunnelAmountExceedByDevice', 'message' => 'The tunnel amount for single device has exceed the limit.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.securetunnel.TunnelAmountExceedByInstance', 'message' => 'The tunnel amount for a single instance has exceeded the limit.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.securetunnel.TunnelAmountExceedByInstance', 'message' => 'The tunnel amount for the instance has exceeded the limit.', 'http_code' => 400, 'description' => 'The tunnel amount for the instance has exceeded the limit.'], ['code' => 'iot.securetunnel.TunnelNotExist', 'message' => 'The specified tunnel does not exist.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.securetunnel.TunnelNotExist', 'message' => 'The device tunnel does not exist.', 'http_code' => 400, 'description' => 'The device tunnel does not exist.'], ['code' => 'iot.securetunnel.TunnelQuotaExhausted', 'message' => 'The quota for secure tunnel has been exhausted.', 'http_code' => 400, 'description' => 'The quota for secure tunnel has been exhausted.'], ['code' => 'iot.securetunnel.TunnelQuotaExhausted', 'message' => 'the quota of device tunnel has been exhausted', 'http_code' => 400, 'description' => 'the quota of device tunnel has been exhausted'], ['code' => 'iot.securetunnel.UdiTooLong', 'message' => 'The specified Udi exceeds the maximum length.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.securetunnel.UdiTooLong', 'message' => 'The Udi of the device tunnel has exceeded the maximum length.', 'http_code' => 400, 'description' => 'The UDI of the device tunnel has exceeded the maximum length.'], ['code' => 'iot.server.ConsumerGroupNotOnline', 'message' => 'Consumer group is not online.', 'http_code' => 400, 'description' => 'The consumer group is offline.'], ['code' => 'iot.service.DeviceLocationNotConfiguredError', 'message' => 'The GeoLocation property is not configured for the device.', 'http_code' => 400, 'description' => 'The GeoLocation property is not configured for the device.'], ['code' => 'iot.service.DeviceLocationUnreportedError', 'message' => 'The GeoLocation property is not submitted within 30 days.', 'http_code' => 400, 'description' => 'The GeoLocation property is not submitted within 30 days.'], ['code' => 'iot.service.IncorrectServiceId', 'message' => 'The Service ID parameter is invalid.', 'http_code' => 400, 'description' => 'The Service ID parameter is invalid.'], ['code' => 'iot.service.IncorrectServiceStatusValue', 'message' => 'The service status is invalid.', 'http_code' => 400, 'description' => 'The service status is invalid.'], ['code' => 'iot.service.NotFoundService', 'message' => 'The service does not exist.', 'http_code' => 400, 'description' => 'The service does not exist.'], ['code' => 'iot.service.QueryDeviceLocationError', 'message' => 'An error occurred while querying the device location.', 'http_code' => 400, 'description' => 'An error occurred while querying the device location.'], ['code' => 'iot.service.QueryServiceActionError', 'message' => 'An error occurred while querying the services.', 'http_code' => 400, 'description' => 'An error occurred while querying the services.'], ['code' => 'iot.service.QueryServiceListActionError', 'message' => 'An error occurred while querying the services.', 'http_code' => 400, 'description' => 'An error occurred while querying the services.'], ['code' => 'iot.service.QueryUserServiceStatusActionError', 'message' => 'An error occurred while querying the extended service status.', 'http_code' => 400, 'description' => 'An error occurred while querying the extended service status.'], ['code' => 'iot.service.ServiceNotAvailable', 'message' => 'The service is not available.', 'http_code' => 400, 'description' => 'The service is not available.'], ['code' => 'iot.service.UpdateServiceFailed', 'message' => 'An error occurred while enabling or disabling the service.', 'http_code' => 400, 'description' => 'An error occurred while enabling or disabling the service.'], ['code' => 'iot.sharetask.EmptyShareDevice', 'message' => 'no device to share.', 'http_code' => 400, 'description' => 'no device to share.'], ['code' => 'iot.sharetask.ImportDevicePartFail', 'message' => 'Failed to import some of the devices.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.sharetask.ShareDeviceProcessing', 'message' => 'share device processing.', 'http_code' => 400, 'description' => 'share device processing.'], ['code' => 'iot.sls.BatchApiNotSupportTraceId', 'message' => 'You must filter messages by message ID.', 'http_code' => 400, 'description' => 'You must filter messages by message ID.'], ['code' => 'iot.sls.CreateSlsEtlRuleFailed', 'message' => 'Failed to create the distribution rule of Log Service.', 'http_code' => 400, 'description' => 'Failed to create the distribution rule of Log Service.'], ['code' => 'iot.sls.CreateSlsLogStoreFailed', 'message' => 'Failed to create the Logstore.', 'http_code' => 400, 'description' => 'Failed to create the Logstore. '], ['code' => 'iot.sls.CreateSlsScheduledSqlFailed', 'message' => 'Failed to create the scheduled sql.', 'http_code' => 400, 'description' => 'The system failed to create the Simple Log Service scheduled SQL job.'], ['code' => 'iot.sls.DeleteSlsEtlRuleFailed', 'message' => 'Failed to delete the distribution rule of Log Service.', 'http_code' => 400, 'description' => 'Failed to delete the distribution rule of Log Service.'], ['code' => 'iot.sls.DeleteSlsScheduledSqlFailed', 'message' => 'Failed to delete the scheduled sql.', 'http_code' => 400, 'description' => 'The system failed to delete the Simple Log Service scheduled SQL job.'], ['code' => 'iot.sls.EmptyTraceIdOrMessageId', 'message' => 'The trace ID and message ID are empty.', 'http_code' => 400, 'description' => 'The trace ID and message ID are empty.'], ['code' => 'iot.sls.EtlRuleLogTypeInvalid', 'message' => 'LogType is invalid.', 'http_code' => 400, 'description' => 'The value of the LogType parameter is invalid.'], ['code' => 'iot.sls.IllegalTraceIdAndMessageId', 'message' => 'The trace ID or message ID is invalid.', 'http_code' => 400, 'description' => 'The trace ID or message ID is invalid.'], ['code' => 'iot.sls.MessageTraceBusy', 'message' => 'Log Service is busy. Try again later.', 'http_code' => 400, 'description' => 'Log Service is busy. Try again later.'], ['code' => 'iot.sls.MessageTraceFailed', 'message' => 'Failed to query the message trace.', 'http_code' => 400, 'description' => 'Failed to query the message trace.'], ['code' => 'iot.sls.QueryMetricStoreDataFaile', 'message' => 'Failed to query the metricstore data.', 'http_code' => 400, 'description' => 'The system failed to query the Simple Log Service Metricstore.'], ['code' => 'iot.sls.QueryMetricStoreDataFailed', 'message' => 'Failed to query the metricstore data.', 'http_code' => 400, 'description' => 'The system failed to query the Simple Log Service Metricstore.'], ['code' => 'iot.sls.QueryMetricStoreDataParamError', 'message' => 'The specified paramter is invalid.', 'http_code' => 400, 'description' => 'The parameter that is required to query the Simple Log Service Metricstore is invalid.'], ['code' => 'iot.sls.QuerySlsEtlRuleFailed', 'message' => 'Failed to query the distribution rule of Log Service.', 'http_code' => 400, 'description' => 'Failed to query the distribution rule of Log Service.'], ['code' => 'iot.sls.QuerySlsFailed', 'message' => 'Failed to query logs in Log Service.', 'http_code' => 400, 'description' => 'Failed to query logs in Log Service.'], ['code' => 'iot.sls.QuerySlsParamsError', 'message' => 'The parameter is invalid when you query logs.', 'http_code' => 400, 'description' => 'The parameter is invalid when you query logs.'], ['code' => 'iot.sls.QuerySlsScheduledSqlFailed', 'message' => 'Failed to query the scheduled sql.', 'http_code' => 400, 'description' => 'The system failed to query the Simple Log Service scheduled SQL job.'], ['code' => 'iot.sls.SlsParamsIllegalCharacter', 'message' => 'The query condition contains invalid special characters.', 'http_code' => 400, 'description' => 'The query condition contains invalid special characters.'], ['code' => 'iot.solution.sceneRuleNameExists', 'message' => 'The name already exists', 'http_code' => 400, 'description' => 'The name already exists'], ['code' => 'iot.soundcode.AlreadyExistsLabel', 'message' => 'already exists sound code label.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.soundcode.AlreadyExistsName', 'message' => 'already exists sound code name.', 'http_code' => 400, 'description' => 'already exists sound code name.'], ['code' => 'iot.soundcode.AlreadyExistsName', 'message' => 'already exists sound code name', 'http_code' => 400, 'description' => 'already exists sound code name'], ['code' => 'iot.soundcode.EncodeLimit', 'message' => 'sound code encode limit exceeded.', 'http_code' => 429, 'description' => 'sound code encode limit exceeded.'], ['code' => 'iot.soundcode.EncodeLimit', 'message' => 'sound code encode limit exceeded', 'http_code' => 429, 'description' => 'sound code encode limit exceeded'], ['code' => 'iot.soundcode.InvalidIotInstanceId', 'message' => 'invalid iot instance id.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.soundcode.InvalidIotInstanceId', 'message' => 'invalid iot instance id', 'http_code' => 400, 'description' => 'invalid iot instance id'], ['code' => 'iot.soundcode.InvalidLabel', 'message' => 'invalid sound code label.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.soundcode.InvalidLabelBatchDescription', 'message' => 'invalid sound code label batch description.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.soundcode.InvalidName', 'message' => 'invalid sound code name.', 'http_code' => 400, 'description' => 'invalid sound code name.'], ['code' => 'iot.soundcode.InvalidName', 'message' => 'invalid sound code name', 'http_code' => 400, 'description' => 'invalid sound code name'], ['code' => 'iot.soundcode.InvalidParam', 'message' => 'invalid param.', 'http_code' => 400, 'description' => 'invalid param.'], ['code' => 'iot.soundcode.InvalidParam', 'message' => 'invalid param', 'http_code' => 400, 'description' => 'invalid param'], ['code' => 'iot.soundcode.InvalidSoundCode', 'message' => 'invalid sound code.', 'http_code' => 400, 'description' => 'invalid sound code.'], ['code' => 'iot.soundcode.InvalidSoundCodeContent', 'message' => 'invalid sound code content.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.soundcode.InvalidSoundCodeDuration', 'message' => 'invalid sound code duration.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.soundcode.InvalidSoundCodeDuration', 'message' => 'invalid sound code duration', 'http_code' => 400, 'description' => 'invalid sound code duration'], ['code' => 'iot.soundcode.LabelBatchCanNotBeRetried', 'message' => 'label batch can not be retried.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.soundcode.LabelBatchNotExists', 'message' => 'sound code label batch not exists.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.soundcode.LabelNotExists', 'message' => 'sound code label not exists.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.soundcode.NoSuccessLabel', 'message' => 'no success label.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.soundcode.NotExists', 'message' => 'sound code not exists.', 'http_code' => 400, 'description' => 'sound code not exists.'], ['code' => 'iot.soundcode.SensitiveContent', 'message' => 'sensitive content.', 'http_code' => 400, 'description' => 'sensitive content.'], ['code' => 'iot.soundcode.SensitiveContent', 'message' => 'sensitive content', 'http_code' => 400, 'description' => 'sensitive content'], ['code' => 'iot.soundcode.ShareTaskHasBeJoined', 'message' => 'shareTask has be joined', 'http_code' => 400, 'description' => ''], ['code' => 'iot.soundcode.ShareTaskNotExist', 'message' => 'ShareTask Not Exist', 'http_code' => 400, 'description' => ''], ['code' => 'iot.soundcode.SpeechModelCheckText', 'message' => 'speech model text is not valid', 'http_code' => 400, 'description' => 'speech model text is not valid'], ['code' => 'iot.soundcodelabel.InvalidBatchDescription', 'message' => 'invalid sound code label batch description', 'http_code' => 400, 'description' => 'invalid sound code label batch description'], ['code' => 'iot.soundcodeschedule.AlreadyExistsName', 'message' => 'already exists schedule name.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.soundcodeschedule.InvalidDate', 'message' => 'invalid sound code schedule date.', 'http_code' => 400, 'description' => 'invalid sound code schedule date.'], ['code' => 'iot.soundcodeschedule.InvalidDesc', 'message' => 'invalid schedule description.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.soundcodeschedule.InvalidIotInstanceId', 'message' => 'invalid schedule IotInstanceId.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.soundcodeschedule.InvalidName', 'message' => 'invalid schedule name.', 'http_code' => 400, 'description' => 'invalid schedule name.'], ['code' => 'iot.soundcodeschedule.InvalidStatus', 'message' => 'invalid schedule status.', 'http_code' => 400, 'description' => 'invalid schedule status.'], ['code' => 'iot.soundcodeschedule.InvalidTime', 'message' => 'invalid schedule time.', 'http_code' => 400, 'description' => 'invalid schedule time.'], ['code' => 'iot.soundcodeschedule.LimitExceeded', 'message' => 'sound code schedule limit exceeded.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.soundcodeschedule.NotExists', 'message' => 'schedule not exists.', 'http_code' => 400, 'description' => 'schedule not exists.'], ['code' => 'iot.soundcodeservice.NotSigned', 'message' => 'sound code service has not been signed.', 'http_code' => 403, 'description' => ''], ['code' => 'iot.speech.BizCodeHasExisted', 'message' => 'biz code has existed.', 'http_code' => 400, 'description' => 'biz code has existed.'], ['code' => 'iot.speech.DeviceNotActived', 'message' => 'device not actived.', 'http_code' => 400, 'description' => 'device not actived.'], ['code' => 'iot.speech.DeviceNotActived', 'message' => 'device not actived', 'http_code' => 400, 'description' => 'device not actived'], ['code' => 'iot.speech.DeviceNotExists', 'message' => 'device not exists.', 'http_code' => 400, 'description' => 'device not exists.'], ['code' => 'iot.speech.DeviceNotExists', 'message' => 'device not exists', 'http_code' => 400, 'description' => 'device not exists'], ['code' => 'iot.speech.DeviceOffline', 'message' => 'device is offline.', 'http_code' => 400, 'description' => 'device is offline.'], ['code' => 'iot.speech.DeviceOffline', 'message' => 'device is offline', 'http_code' => 400, 'description' => 'device is offline'], ['code' => 'iot.speech.DeviceSearchIndexNotConfig', 'message' => 'device search index not config.', 'http_code' => 400, 'description' => 'device search index not config.'], ['code' => 'iot.speech.DeviceSpeechListEmpty', 'message' => 'device speech list empty.', 'http_code' => 400, 'description' => 'device speech list empty.'], ['code' => 'iot.speech.DeviceSpeechListEmpty', 'message' => 'device speech list empty', 'http_code' => 400, 'description' => 'device speech list empty'], ['code' => 'iot.speech.DeviceTotalExceeded', 'message' => 'push device total exceeded.', 'http_code' => 400, 'description' => 'push device total exceeded.'], ['code' => 'iot.speech.InvalidAudioFormat', 'message' => 'invalid audio format.', 'http_code' => 400, 'description' => 'invalid audio format.'], ['code' => 'iot.speech.InvalidAudioFormat', 'message' => 'invalid audio format', 'http_code' => 400, 'description' => 'invalid audio format'], ['code' => 'iot.speech.InvalidBizCode', 'message' => 'biz code has existed.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.speech.InvalidBizcode', 'message' => 'invalid speech bizCode.', 'http_code' => 400, 'description' => 'invalid speech bizCode.'], ['code' => 'iot.speech.InvalidCode', 'message' => 'invalid speech code.', 'http_code' => 400, 'description' => 'invalid speech code.'], ['code' => 'iot.speech.InvalidDevice', 'message' => 'invalid speech model push device.', 'http_code' => 400, 'description' => 'invalid speech model push device.'], ['code' => 'iot.speech.InvalidDevice', 'message' => 'invalid speech device.', 'http_code' => 400, 'description' => 'invalid speech device.'], ['code' => 'iot.speech.InvalidDevice', 'message' => 'invalid speech model push device', 'http_code' => 400, 'description' => 'invalid speech model push device'], ['code' => 'iot.speech.InvalidDeviceId', 'message' => 'invalid iot device id.', 'http_code' => 400, 'description' => 'invalid iot device id.'], ['code' => 'iot.speech.InvalidDeviceId', 'message' => 'invalid iot device id', 'http_code' => 400, 'description' => 'invalid iot device id'], ['code' => 'iot.speech.InvalidDeviceName', 'message' => 'invalid speech model push device name.', 'http_code' => 400, 'description' => 'invalid speech model push device name.'], ['code' => 'iot.speech.InvalidDeviceName', 'message' => 'invalid device name.', 'http_code' => 400, 'description' => 'invalid device name.'], ['code' => 'iot.speech.InvalidDeviceSpaceScope', 'message' => 'invalid speech device space scope.', 'http_code' => 400, 'description' => 'invalid speech device space scope.'], ['code' => 'iot.speech.InvalidDeviceSpaceValue', 'message' => 'invalid speech device space value.', 'http_code' => 400, 'description' => 'invalid speech device space value.'], ['code' => 'iot.speech.InvalidGroupId', 'message' => 'invalid iot group id.', 'http_code' => 400, 'description' => 'invalid iot group id.'], ['code' => 'iot.speech.InvalidGroupName', 'message' => 'invalid iot group name', 'http_code' => 400, 'description' => 'invalid iot group name'], ['code' => 'iot.speech.InvalidGroupName', 'message' => 'invalid iot group name.', 'http_code' => 400, 'description' => 'invalid iot group name.'], ['code' => 'iot.speech.InvalidIotInstanceId', 'message' => 'Invalid IoT instance ID.', 'http_code' => 400, 'description' => 'Invalid IoT instance ID.'], ['code' => 'iot.speech.InvalidIotInstanceId', 'message' => 'Invalid instance ID.', 'http_code' => 400, 'description' => 'Invalid instance ID.'], ['code' => 'iot.speech.InvalidIotProjectCode', 'message' => 'invalid project code.', 'http_code' => 400, 'description' => 'invalid project code.'], ['code' => 'iot.speech.InvalidProductKey', 'message' => 'invalid speech model push product key.', 'http_code' => 400, 'description' => 'invalid speech model push product key.'], ['code' => 'iot.speech.InvalidProductKeyAndDeviceName', 'message' => 'invalid productKey and deviceName.', 'http_code' => 400, 'description' => 'invalid productKey and deviceName.'], ['code' => 'iot.speech.InvalidProjectCode', 'message' => 'invalid iot project code.', 'http_code' => 400, 'description' => 'invalid iot project code.'], ['code' => 'iot.speech.InvalidProjectCode', 'message' => 'invalid project code.', 'http_code' => 400, 'description' => 'invalid project code.'], ['code' => 'iot.speech.InvalidProjectCode', 'message' => 'invalid iot project code', 'http_code' => 400, 'description' => 'invalid iot project code'], ['code' => 'iot.speech.InvalidPushDeviceJobStatus', 'message' => 'invalid speech push device job status.', 'http_code' => 400, 'description' => 'invalid speech push device job status.'], ['code' => 'iot.speech.InvalidPushJobCode', 'message' => 'invalid speech push job code.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.speech.InvalidPushJobStatus', 'message' => 'invalid speech push job status.', 'http_code' => 400, 'description' => 'invalid speech push job status.'], ['code' => 'iot.speech.InvalidPushMode', 'message' => 'invalid push mode.', 'http_code' => 400, 'description' => 'invalid push mode.'], ['code' => 'iot.speech.InvalidPushMode', 'message' => 'invalid speech push mode.', 'http_code' => 400, 'description' => 'invalid speech push mode.'], ['code' => 'iot.speech.InvalidSoundCodeAdditionalDuration', 'message' => 'invalid sound code additional duration.', 'http_code' => 400, 'description' => 'invalid sound code additional duration.'], ['code' => 'iot.speech.InvalidSoundCodeContent', 'message' => 'invalid sound code content.', 'http_code' => 400, 'description' => 'invalid sound code content.'], ['code' => 'iot.speech.InvalidSpeechBizCode', 'message' => 'invalid speech biz code.', 'http_code' => 400, 'description' => 'invalid speech biz code.'], ['code' => 'iot.speech.InvalidSpeechBizCode', 'message' => 'invalid speech biz code', 'http_code' => 400, 'description' => 'invalid speech biz code'], ['code' => 'iot.speech.InvalidSpeechCodeList', 'message' => 'invalid SpeechCodeList.', 'http_code' => 400, 'description' => 'invalid SpeechCodeList.'], ['code' => 'iot.speech.InvalidSpeechType', 'message' => 'invalid speechModelType.', 'http_code' => 400, 'description' => 'invalid speechModelType.'], ['code' => 'iot.speech.InvalidSpeechType', 'message' => 'invalid speechType.', 'http_code' => 400, 'description' => 'invalid speechType.'], ['code' => 'iot.speech.InvalidText', 'message' => 'invalid speech text.', 'http_code' => 400, 'description' => 'invalid speech text.'], ['code' => 'iot.speech.InvalidVoice', 'message' => 'invalid speech voice.', 'http_code' => 400, 'description' => 'invalid speech voice.'], ['code' => 'iot.speech.NoDeviceToPush', 'message' => 'no device to push in project.', 'http_code' => 400, 'description' => 'no device to push in project.'], ['code' => 'iot.speech.NoDeviceToPushInGroup', 'message' => 'no device to push in group.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.speech.NoPermission', 'message' => 'no permission.', 'http_code' => 400, 'description' => 'no permission.'], ['code' => 'iot.speech.NoPermission', 'message' => 'no permission', 'http_code' => 400, 'description' => 'no permission'], ['code' => 'iot.speech.NoSpeechCode', 'message' => 'speech code does not exist.', 'http_code' => 400, 'description' => 'speech code does not exist.'], ['code' => 'iot.speech.NotSupportDeleteSpeechDevice', 'message' => 'device not support delete speech.', 'http_code' => 400, 'description' => 'device not support delete speech.'], ['code' => 'iot.speech.NotSupportDeleteSpeechDevice', 'message' => 'device not support delete speech', 'http_code' => 400, 'description' => 'device not support delete speech'], ['code' => 'iot.speech.NotSupportSoundCode', 'message' => 'not support sound code.', 'http_code' => 400, 'description' => 'not support sound code.'], ['code' => 'iot.speech.OperationLimit', 'message' => 'speech operation too much.', 'http_code' => 400, 'description' => 'speech operation too much.'], ['code' => 'iot.speech.ParamError', 'message' => 'speech param error.', 'http_code' => 400, 'description' => 'speech param error.'], ['code' => 'iot.speech.ParamError', 'message' => 'param error.', 'http_code' => 400, 'description' => 'param error.'], ['code' => 'iot.speech.ProjectNotExist', 'message' => 'project not exist', 'http_code' => 400, 'description' => 'project not exist'], ['code' => 'iot.speech.PushJobNotExists', 'message' => 'speech push job not exists.', 'http_code' => 400, 'description' => 'speech push job not exists.'], ['code' => 'iot.speech.PushLimit', 'message' => 'push speech too much.', 'http_code' => 400, 'description' => 'push speech too much.'], ['code' => 'iot.speech.RequestLimit', 'message' => 'too much request.', 'http_code' => 400, 'description' => 'too much request.'], ['code' => 'iot.speech.RequestLimit', 'message' => 'too much request', 'http_code' => 400, 'description' => 'too much request'], ['code' => 'iot.speech.SearchDeviceFailed', 'message' => 'failed to search speech device.', 'http_code' => 400, 'description' => 'failed to search speech device.'], ['code' => 'iot.speech.SensitiveContent', 'message' => 'sensitive content.', 'http_code' => 400, 'description' => 'sensitive content.'], ['code' => 'iot.speech.SpeechOperationLimitExceeded', 'message' => 'speech operation limit exceeded', 'http_code' => 400, 'description' => 'speech operation limit exceeded'], ['code' => 'iot.speech.SpeechTotalExceeded', 'message' => 'speech total exceeded.', 'http_code' => 400, 'description' => 'speech total exceeded.'], ['code' => 'iot.speech.SystemReservedBizCode', 'message' => 'system reserved speech model biz code.', 'http_code' => 400, 'description' => 'system reserved speech model biz code.'], ['code' => 'iot.speechservice.NotSigned', 'message' => 'speech solution has not been signed.', 'http_code' => 400, 'description' => 'speech solution has not been signed.'], ['code' => 'iot.speechservice.NotSigned', 'message' => 'speech service has not been signed.', 'http_code' => 400, 'description' => 'speech service has not been signed.'], ['code' => 'iot.speechsolution.NotSigned', 'message' => 'speech solution has not been signed.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.speechsolution.NotSigned', 'message' => 'speech solution has not been signed', 'http_code' => 400, 'description' => 'speech solution has not been signed'], ['code' => 'iot.speechsolution.ProjectHasStopped', 'message' => 'project has stopped.', 'http_code' => 400, 'description' => 'project has stopped.'], ['code' => 'iot.Sre.IotInstanceStatusForbidden', 'message' => 'Instance status forbidden.', 'http_code' => 400, 'description' => 'Instance status forbidden.'], ['code' => 'iot.storage.HotStorageCapacityNotEnough', 'message' => 'The timeline storage capacity not enough.', 'http_code' => 400, 'description' => 'The timeline storage capacity not enough.'], ['code' => 'iot.storage.HotStorageIopsReadNotEnough', 'message' => 'The timeline storage read IOPS is not enough.', 'http_code' => 400, 'description' => 'The timeline IOPS of hot storage is insufficient.'], ['code' => 'iot.storage.HotStorageIopsWriteNotEnough', 'message' => 'The timeline storage write IOPS is not enough.', 'http_code' => 400, 'description' => 'The timeline storage write IOPS is not enough.'], ['code' => 'iot.system.AliyunAccountServiceError', 'message' => 'The service of the Alibaba Cloud account is abnormal.', 'http_code' => 400, 'description' => 'The service of the Alibaba Cloud account is abnormal.'], ['code' => 'Iot.System.BillIsOverDue', 'message' => 'Your account has overdue payments. Go to the expense center and add funds to your account.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.system.BillIsOverDue', 'message' => 'Your account has overdue payments. Go to the user center and top up your account.', 'http_code' => 400, 'description' => 'Your account has overdue payments. Go to the user center and top up your account.'], ['code' => 'iot.system.IllegalRequest', 'message' => 'The request parameter is invalid.', 'http_code' => 400, 'description' => 'The request parameter is invalid.'], ['code' => 'iot.system.IllegalRequest', 'message' => 'illegal request', 'http_code' => 400, 'description' => 'illegal request'], ['code' => 'iot.system.IllegalRequest', 'message' => 'The request parameter is invalid.%s.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.system.IllegalResponse', 'message' => 'The return value is invalid.', 'http_code' => 400, 'description' => 'The return value is invalid.'], ['code' => 'iot.system.InstanceIdSame', 'message' => 'The source instance ID is the same as the destination instance ID.', 'http_code' => 400, 'description' => 'The source instance ID is the same as the destination instance ID.'], ['code' => 'iot.system.InstanceNotFound', 'message' => 'The instance ID does not exist.', 'http_code' => 400, 'description' => 'The instance ID does not exist.'], ['code' => 'iot.system.InstanceNotFound', 'message' => 'Invalid instanceId.', 'http_code' => 400, 'description' => 'Invalid instanceId.'], ['code' => 'iot.system.SystemError', 'message' => 'System exception.', 'http_code' => 400, 'description' => 'System exception.'], ['code' => 'iot.system.SystemError', 'message' => 'Distribution service error.', 'http_code' => 400, 'description' => 'Distribution service error.'], ['code' => 'iot.system.SystemException', 'message' => 'An internal error occurred. Try again later.', 'http_code' => 400, 'description' => 'An internal error occurred. Try again later.'], ['code' => 'iot.system.UidNotFound', 'message' => 'The Alibaba Cloud account does not exist or the IoT Platform service is not activated.', 'http_code' => 400, 'description' => 'The Alibaba Cloud account does not exist or the IoT Platform service is not activated.'], ['code' => 'iot.tcloud.NotSigned', 'message' => 'tcloud sign does not exist.', 'http_code' => 400, 'description' => 'tcloud sign does not exist.'], ['code' => 'iot.tcloud.NotSigned', 'message' => 'tcloud sign does not exist', 'http_code' => 400, 'description' => 'tcloud sign does not exist'], ['code' => 'iot.tcloud.ProjectHasStopped', 'message' => 'project has stopped.', 'http_code' => 400, 'description' => 'project has stopped.'], ['code' => 'iot.tcloud.ProjectHasStopped', 'message' => 'project has stopped', 'http_code' => 400, 'description' => 'project has stopped'], ['code' => 'iot.tcloud.ProjectNotExist', 'message' => 'project not exist.', 'http_code' => 400, 'description' => 'project not exist.'], ['code' => 'iot.tcloud.ProjectNotFound', 'message' => 'project not found.', 'http_code' => 400, 'description' => 'project not found.'], ['code' => 'iot.thingmodel.InvalidFormattedModel', 'message' => 'The TSL data does not conform to the defined standards.', 'http_code' => 400, 'description' => 'The TSL data does not conform to the defined standards.'], ['code' => 'iot.tmp.DnListFileCheckInvaldiBizcode', 'message' => 'The bizcode parameter is invalid.', 'http_code' => 400, 'description' => 'The bizcode parameter is invalid.'], ['code' => 'iot.tmp.DnListFileCheckInvalidFileUrl', 'message' => 'The fileUrl parameter is invalid.', 'http_code' => 400, 'description' => 'The fileUrl parameter is invalid.'], ['code' => 'iot.tmp.DnListFileCheckInvalidParams', 'message' => 'The params parameter is invalid.', 'http_code' => 400, 'description' => 'The params parameter is invalid.'], ['code' => 'iot.tmp.DnListFileCheckTooManyTaskInProcess', 'message' => 'Excessive device verification tasks are processed. Try again later.', 'http_code' => 400, 'description' => 'Excessive device verification tasks are processed. Try again later.'], ['code' => 'iot.tmp.DnListFileDeviceNameInvalid', 'message' => 'Some DeviceNames are invalid.', 'http_code' => 400, 'description' => 'Some DeviceNames are invalid.'], ['code' => 'iot.tmp.DnListFileEmptyDeviceNames', 'message' => 'Th dn list file cannot be empty.', 'http_code' => 400, 'description' => 'Th dn list file cannot be empty.'], ['code' => 'iot.tmp.DnListFileNotExist', 'message' => 'The dn list file does not exist.', 'http_code' => 400, 'description' => 'The dn list file does not exist.'], ['code' => 'iot.tmp.DnListFileSizeExceed', 'message' => 'The size of the dn file exceeds the limit.', 'http_code' => 400, 'description' => 'The size of the dn file exceeds the limit.'], ['code' => 'iot.tmp.DnListFileSomeDeviceInvalid', 'message' => 'Some DeviceNames are invalid.', 'http_code' => 400, 'description' => 'Some DeviceNames are invalid.'], ['code' => 'iot.tmp.DnListFileTotalDeviceExceedMax', 'message' => 'The number of devices exceeds the limit.', 'http_code' => 400, 'description' => 'The number of devices exceeds the limit.'], ['code' => 'iot.transfer.AcceptTransferError', 'message' => 'An error occurred while accepting the transfer application.', 'http_code' => 400, 'description' => 'An error occurred while accepting the transfer application.'], ['code' => 'iot.transfer.CancelTransferApplyError', 'message' => 'An error occurred while canceling the transfer application.', 'http_code' => 400, 'description' => 'An error occurred while canceling the transfer application.'], ['code' => 'iot.transfer.NullTransferApplyId', 'message' => 'The application ID cannot be empty.', 'http_code' => 400, 'description' => 'The application ID cannot be empty.'], ['code' => 'iot.transfer.QuerySingleTransferApplyError', 'message' => 'The corresponding transfer application does not exist.', 'http_code' => 400, 'description' => 'The corresponding transfer application does not exist.'], ['code' => 'iot.transfer.QueryTransferApplyListError', 'message' => 'An error occurred while querying the transfer application list.', 'http_code' => 400, 'description' => 'An error occurred while querying the transfer application list.'], ['code' => 'iot.transfer.QueryTransferDeviceListError', 'message' => 'An error occurred while querying the transferred devices.', 'http_code' => 400, 'description' => 'An error occurred while querying the transferred devices.'], ['code' => 'iot.transfer.RejectTransferApplyError', 'message' => 'An error occurred while rejecting the transfer application.', 'http_code' => 400, 'description' => 'An error occurred while rejecting the transfer application.'], ['code' => 'iot.transfer.SubmitTransferApplyError', 'message' => 'An error occurred while submitting the transfer application.', 'http_code' => 400, 'description' => 'An error occurred while submitting the transfer application.'], ['code' => 'iot.tsl.GetTslError', 'message' => 'An error occurred while retrieving the TSL model.', 'http_code' => 400, 'description' => 'Failed to obtain the TSL model.'], ['code' => 'iot.tsl.GetTslError', 'message' => 'An error occurred while retrieving thing model TSL.', 'http_code' => 400, 'description' => 'Failed to obtain the TSL model.'], ['code' => 'iot.tsl.ImportTslError', 'message' => 'An error occurred while importing the TSL model.', 'http_code' => 400, 'description' => 'An error occurred while importing the TSL model.'], ['code' => 'iot.tsl.ImportTslIsForbiddenError', 'message' => 'You cannot import TSL models to an OPC UA or Modbus product.', 'http_code' => 400, 'description' => 'You cannot import TSL models to an OPC UA or Modbus product.'], ['code' => 'iot.tsl.InvalidAccessModeInPropertyError', 'message' => 'The specified accessMode parameter in the property is invalid.', 'http_code' => 400, 'description' => 'The specified accessMode parameter in the property is invalid.'], ['code' => 'iot.tsl.InvalidArgsError', 'message' => 'The specified args parameter is invalid.', 'http_code' => 400, 'description' => 'The specified args parameter is invalid.'], ['code' => 'iot.tsl.InvalidArrayError', 'message' => 'The array parameter is invalid.', 'http_code' => 400, 'description' => 'The array parameter is invalid.'], ['code' => 'iot.tsl.InvalidBooleanError', 'message' => 'The boolean parameter is invalid.', 'http_code' => 400, 'description' => 'The boolean parameter is invalid.'], ['code' => 'iot.tsl.InvalidBooleanError', 'message' => 'The boolean type parameter is invalid.', 'http_code' => 400, 'description' => 'The boolean type parameter is invalid.'], ['code' => 'iot.tsl.InvalidCallTypeInServiceError', 'message' => 'The specified callType parameter in the service is invalid.', 'http_code' => 400, 'description' => 'The specified callType parameter in the service is invalid.'], ['code' => 'iot.tsl.InvalidDataTypeError', 'message' => 'The specified dataType parameter is invalid.', 'http_code' => 400, 'description' => 'The specified dataType parameter is invalid.'], ['code' => 'iot.tsl.InvalidDataTypeInPropertyError', 'message' => 'The specified dataType parameter in the property is invalid.', 'http_code' => 400, 'description' => 'The specified dataType parameter in the property is invalid.'], ['code' => 'iot.tsl.InvalidDateError', 'message' => 'The date parameter is invalid.', 'http_code' => 400, 'description' => 'The date parameter is invalid.'], ['code' => 'iot.tsl.InvalidDoubleError', 'message' => 'The double parameter is invalid.', 'http_code' => 400, 'description' => 'The double parameter is invalid.'], ['code' => 'iot.tsl.InvalidEnumError', 'message' => 'The enum parameter is invalid.', 'http_code' => 400, 'description' => 'The enum parameter is invalid.'], ['code' => 'iot.tsl.InvalidEnumError', 'message' => 'The enum type parameter is invalid.', 'http_code' => 400, 'description' => 'The enum type parameter is invalid.'], ['code' => 'iot.tsl.InvalidFloatError', 'message' => 'The float parameter is invalid.', 'http_code' => 400, 'description' => 'The float parameter is invalid.'], ['code' => 'iot.tsl.InvalidFormattedTslError', 'message' => 'The TSL format is invalid.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.tsl.InvalidHistoryTimestampError', 'message' => 'The history timestamp is invalid.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.tsl.InvalidIdentifierInEventError', 'message' => 'The specified identifier in the event is invalid.', 'http_code' => 400, 'description' => 'The specified identifier in the event is invalid.'], ['code' => 'iot.tsl.InvalidIdentifierInEventError', 'message' => 'The specified identifier in events is invalid.', 'http_code' => 400, 'description' => 'The specified identifier in events is invalid.'], ['code' => 'iot.tsl.InvalidIdentifierInPropertyError', 'message' => 'The specified identifier in the property is invalid.', 'http_code' => 400, 'description' => 'The specified identifier in the property is invalid.'], ['code' => 'iot.tsl.InvalidIdentifierInPropertyError', 'message' => 'The specified identifier in properties is invalid.', 'http_code' => 400, 'description' => 'The specified identifier in properties is invalid.'], ['code' => 'iot.tsl.InvalidIdentifierInServiceError', 'message' => 'The specified identifier in the service is invalid.', 'http_code' => 400, 'description' => 'The specified identifier in the service is invalid.'], ['code' => 'iot.tsl.InvalidIdentifierInServiceError', 'message' => 'The specified identifier in services is invalid.', 'http_code' => 400, 'description' => 'The specified identifier in services is invalid.'], ['code' => 'iot.tsl.InvalidIntegerError', 'message' => 'The integer parameter is invalid.', 'http_code' => 400, 'description' => 'The integer parameter is invalid.'], ['code' => 'iot.tsl.InvalidMethodInEventError', 'message' => 'The specified method parameter in the event is invalid.', 'http_code' => 400, 'description' => 'The specified method parameter in the event is invalid.'], ['code' => 'iot.tsl.InvalidMethodInServiceError', 'message' => 'The specified method parameter in the service is invalid.', 'http_code' => 400, 'description' => 'The specified method parameter in the service is invalid.'], ['code' => 'iot.tsl.InvalidNameInEventError', 'message' => 'The specified name in the event is invalid.', 'http_code' => 400, 'description' => 'The specified name in the event is invalid.'], ['code' => 'iot.tsl.InvalidNameInPropertyError', 'message' => 'The specified name of the property is invalid.', 'http_code' => 400, 'description' => 'The specified name of the property is invalid.'], ['code' => 'iot.tsl.InvalidNameInServiceError', 'message' => 'The specified name in the service is invalid.', 'http_code' => 400, 'description' => 'The specified name in the service is invalid.'], ['code' => 'iot.tsl.InvalidPKInProfileError', 'message' => 'The ProductKey in the profile is inconsistent with the required product.', 'http_code' => 400, 'description' => 'The ProductKey in the profile is inconsistent with the required product.'], ['code' => 'iot.tsl.InvalidRequiredInEventError', 'message' => 'The required parameter in the event is invalid.', 'http_code' => 400, 'description' => 'The required parameter in the event is invalid.'], ['code' => 'iot.tsl.InvalidRequiredInPropertyError', 'message' => 'The required parameter in the property is invalid.', 'http_code' => 400, 'description' => 'The required parameter in the property is invalid.'], ['code' => 'iot.tsl.InvalidRequiredInServiceError', 'message' => 'The required parameter in the service is invalid.', 'http_code' => 400, 'description' => 'The required parameter in the service is invalid.'], ['code' => 'iot.tsl.InvalidSpecsInDataTypeError', 'message' => 'The specified specs parameter in dataType is invalid.', 'http_code' => 400, 'description' => 'The specified specs parameter in dataType is invalid.'], ['code' => 'iot.tsl.InvalidStructError', 'message' => 'The struct parameter is invalid.', 'http_code' => 400, 'description' => 'The struct parameter is invalid.'], ['code' => 'iot.tsl.InvalidStructError', 'message' => 'The struct type parameter is invalid.', 'http_code' => 400, 'description' => 'The struct type parameter is invalid.'], ['code' => 'iot.tsl.InvalidTextError', 'message' => 'The text parameter is invalid.', 'http_code' => 400, 'description' => 'The text parameter is invalid.'], ['code' => 'iot.tsl.InvalidTslProfileError', 'message' => 'The specified profile parameter in the TSL model is invalid.', 'http_code' => 400, 'description' => 'The specified profile parameter in the TSL model is invalid.'], ['code' => 'iot.tsl.InvalidTslSchemaError', 'message' => 'The specified schema in the TSL model is invalid.', 'http_code' => 400, 'description' => 'The specified schema in the TSL model is invalid.'], ['code' => 'iot.tsl.InvalidTslSchemaError', 'message' => 'The specified schema in the TSL is invalid.', 'http_code' => 400, 'description' => 'The specified schema in the TSL is invalid.'], ['code' => 'iot.tsl.InvalidTypeInDataTypeError', 'message' => 'The specified type in dataType is invalid.', 'http_code' => 400, 'description' => 'The specified type in dataType is invalid.'], ['code' => 'iot.tsl.InvalidTypeInEventError', 'message' => 'The specified callType parameter in the event is invalid.', 'http_code' => 400, 'description' => 'The specified callType parameter in the event is invalid.'], ['code' => 'iot.tsl.ThingModelNotFound', 'message' => 'The TSL model not exist.', 'http_code' => 400, 'description' => 'The TSL model not exist. '], ['code' => 'iot.tsl.ThingModelNotFound', 'message' => 'the thing model not exist.', 'http_code' => 400, 'description' => 'The TSL module does not exist.'], ['code' => 'iot.tsl.TSLParamNotExist', 'message' => 'TSL parse. params not exist.', 'http_code' => 400, 'description' => 'TSL parse. params not exist.'], ['code' => 'iot.tsl.TSLParamNotExist', 'message' => 'tsl parse. params not exist', 'http_code' => 400, 'description' => 'tsl parse. params not exist'], ['code' => 'iot.tsl.TslParseError', 'message' => 'TSLlParseError: %s.', 'http_code' => 400, 'description' => ''], ['code' => 'Iot.User.UnknowError', 'message' => 'UnknowError.', 'http_code' => 400, 'description' => 'UnknowError.'], ['code' => 'Iot.User.UserNotExsit', 'message' => 'User Not Exsit.', 'http_code' => 400, 'description' => 'User Not Exsit.'], ['code' => 'Iot.User.UserSpecNotExsit', 'message' => 'UserSpecNotExsit.', 'http_code' => 400, 'description' => 'UserSpecNotExsit.'], ['code' => 'iot.vas.EmptyLicenseDeviceList', 'message' => 'Empty license device list.', 'http_code' => 400, 'description' => 'Empty license device list'], ['code' => 'iot.vas.InvalidParam', 'message' => 'invalid param', 'http_code' => 400, 'description' => 'invalid param'], ['code' => 'iot.vision.ConcurrencyExceedLimit', 'message' => 'Concurrency exceed the limit.', 'http_code' => 400, 'description' => 'The number of concurrent threads exceeds the limit.'], ['code' => 'iot.vision.DeviceNameDuplicate', 'message' => 'Device name duplicate.', 'http_code' => 400, 'description' => 'The DeviceName already exists.'], ['code' => 'iot.vision.DeviceNotStreaming', 'message' => 'Device is not streaming.', 'http_code' => 400, 'description' => 'The device does not ingest streams.'], ['code' => 'iot.vision.DeviceOffline', 'message' => 'Device is offline.', 'http_code' => 400, 'description' => 'Device is offline.'], ['code' => 'iot.vision.DeviceOffline', 'message' => 'The device is offline.', 'http_code' => 400, 'description' => 'The device is offline.'], ['code' => 'iot.vision.GbIdDuplicate', 'message' => 'The GB28181 deviceId is duplicated.', 'http_code' => 400, 'description' => 'The GB28181 deviceId is duplicated.'], ['code' => 'iot.vision.GbServiceNotEnabled', 'message' => 'The GB28181 service has not been enabled.', 'http_code' => 400, 'description' => 'Gb28181 service not enabled.'], ['code' => 'iot.vision.JobNotExist', 'message' => 'Job not exist or expired.', 'http_code' => 400, 'description' => 'The task does not exist or has expired.'], ['code' => 'iot.vision.NoStorageQuota', 'message' => 'No storage quota.', 'http_code' => 400, 'description' => 'The storage quota is exceeded.'], ['code' => 'iot.vision.RefreshTooFrequently', 'message' => 'Refresh too frequently.', 'http_code' => 400, 'description' => 'Refresh too frequently.'], ['code' => 'iot.vision.RequestAuthFailed', 'message' => 'Request auth failed.', 'http_code' => 403, 'description' => 'The authentication request failed.'], ['code' => 'iot.vision.RequestError', 'message' => 'Request error.', 'http_code' => 400, 'description' => 'Request error.'], ['code' => 'iot.vision.RequestFailed', 'message' => 'Request failed.', 'http_code' => 400, 'description' => 'The request failed.'], ['code' => 'iot.vision.RequestForbidden', 'message' => 'Request forbidden.', 'http_code' => 403, 'description' => 'The request is forbidden.'], ['code' => 'iot.vision.RequestParamError', 'message' => 'Request parameter error:%s', 'http_code' => 400, 'description' => 'The request parameter is invalid.'], ['code' => 'iot.vision.RequestParamError', 'message' => 'Request parameter error.', 'http_code' => 400, 'description' => 'The request parameter is invalid.'], ['code' => 'iot.vision.RequestParameterError', 'message' => 'Request parameter error:%s', 'http_code' => 400, 'description' => 'The request parameter is invalid.'], ['code' => 'iot.vision.RequestTrafficControl', 'message' => 'Request traffic control.', 'http_code' => 429, 'description' => 'Request traffic control.'], ['code' => 'iot.vision.RtmpKeyNotSet', 'message' => 'Rtmp key not set.', 'http_code' => 400, 'description' => 'No authentication key is specified.'], ['code' => 'iot.vision.StreamNameDuplicate', 'message' => 'Stream name duplicate.', 'http_code' => 400, 'description' => 'The stream name already exists.'], ['code' => 'iot.vision.StreamPushFailed', 'message' => 'Stream push failed.', 'http_code' => 400, 'description' => 'Stream push failed.'], ['code' => 'iot.vision.VoiceStreamExisted', 'message' => 'Voice stream existed.', 'http_code' => 400, 'description' => 'Voice stream existed.'], ['code' => 'iotx.common.ParamError', 'message' => 'Request parameter error: %s.', 'http_code' => 400, 'description' => 'Request parameter error: %s.'], ['code' => 'iotx.dc.pop.iotx.exception', 'message' => 'Biz exception.', 'http_code' => 400, 'description' => ''], ['code' => 'iotx.dc.pop.system.exception', 'message' => 'System exception.', 'http_code' => 400, 'description' => ''], ['code' => 'iotx.dop.ModelNotFoundError', 'message' => 'The specified model is not found.', 'http_code' => 400, 'description' => 'model not found error'], ['code' => 'iotx.dop.modelNotFoundError', 'message' => 'model not found error', 'http_code' => 400, 'description' => ''], ['code' => 'iotx.dop.permission.not.allowed.error', 'message' => 'You are not authorized to perform this operation.', 'http_code' => 400, 'description' => 'permission notAllowed error'], ['code' => 'iotx.dop.PermissionNotAllowedError', 'message' => 'You are not authorized to perform this operation.', 'http_code' => 400, 'description' => ''], ['code' => 'iotx.dop.PermissionNotAllowedError', 'message' => 'permission not allowed error', 'http_code' => 400, 'description' => ''], ['code' => 'iotx.dop.permissionNotPermitError', 'message' => 'permission not permit error', 'http_code' => 400, 'description' => 'permission not permit error'], ['code' => 'iotx.dop.requestParamError', 'message' => 'request parameter error.', 'http_code' => 400, 'description' => 'request parameter error.'], ['code' => 'iotx.dop.StoreNotFoundError', 'message' => 'The specified data storage is not found.', 'http_code' => 400, 'description' => 'data store not found error'], ['code' => 'iotx.dop.storeNotFoundError', 'message' => 'model store not found error', 'http_code' => 400, 'description' => ''], ['code' => 'iotx.dop.StoreNotFoundError', 'message' => 'data store not found error', 'http_code' => 400, 'description' => 'data store not found error'], ['code' => 'iotx.vision.DeviceNameDuplicate', 'message' => 'Device name duplicate.', 'http_code' => 400, 'description' => 'The DeviceName already exists.'], ['code' => 'iotx.watchtower.addedServiceResourceOpenRecordNotExist', 'message' => 'iotx.watchtower.addedServiceResourceOpenRecordNotExist', 'http_code' => 400, 'description' => 'iotx.watchtower.addedServiceResourceOpenRecordNotExist'], ['code' => 'iotx.watchtower.runnerNotExists', 'message' => 'iotx.watchtower.runnerNotExists', 'http_code' => 400, 'description' => 'iotx.watchtower.runnerNotExists'], ['code' => 'LossOfUserInformation', 'message' => 'User information is lost.', 'http_code' => 400, 'description' => ''], ['code' => 'ls.code.InvalidParam', 'message' => 'The specified parameter is invalid.', 'http_code' => 400, 'description' => 'The specified parameter is invalid.'], ['code' => 'ls.code.SystemError', 'message' => 'A system error occurred.', 'http_code' => 200, 'description' => 'A system error occurred.'], ['code' => 'ls.code.UnknownError', 'message' => 'An error occurred due to unknown reasons.', 'http_code' => 400, 'description' => 'An error occurred due to unknown reasons.'], ['code' => 'MissingDynamicGroupExpression', 'message' => 'DynamicGroupExpression is mandatory for this action.', 'http_code' => 400, 'description' => 'You must specify DynamicGroupExpression.'], ['code' => 'NoValueFoundForThisRedisKey', 'message' => 'no value exist for this redis key.', 'http_code' => 403, 'description' => 'The corresponding value of the Redis instance does not exist.'], ['code' => 'OrderOpend', 'message' => 'You have already purchased the Iot service. Go to the Iot console to start using it.', 'http_code' => 400, 'description' => ''], ['code' => 'PermissionDenied', 'message' => 'The current sub account without permission, to authorize the Sub - Account, please.', 'http_code' => 400, 'description' => ''], ['code' => 'pre.test.precent.%', 'message' => 'test input precent % and colon :', 'http_code' => 400, 'description' => 'test input precent % and colon :'], ['code' => 'PriceWanHuaTongSys', 'message' => 'Inquiry call kaleidoscope error', 'http_code' => 400, 'description' => ''], ['code' => 'Product.authright.illegal', 'message' => 'Product authRight illegal.', 'http_code' => 400, 'description' => 'The permissions on the product are invalid.'], ['code' => 'Product.has.published', 'message' => 'Product has published.', 'http_code' => 400, 'description' => 'The product is published.'], ['code' => 'Product.Key.Invalid', 'message' => 'Product key is invalid.', 'http_code' => 400, 'description' => 'The ProductKey is invalid.'], ['code' => 'Product.not.found', 'message' => 'Product.not.found.', 'http_code' => 400, 'description' => 'The product does not exist.'], ['code' => 'RedisKeyNotExist', 'message' => 'no such redis key.', 'http_code' => 400, 'description' => 'The key of the Redis instance does not exist.'], ['code' => 'Request.high.frequent', 'message' => 'Too many requests.', 'http_code' => 400, 'description' => ''], ['code' => 'Request.param.error', 'message' => 'Request parameter error.', 'http_code' => 400, 'description' => 'The request parameter is invalid.'], ['code' => 'Request.param.error', 'message' => 'Request.param.error. %d.', 'http_code' => 400, 'description' => 'The %d request parameter is invalid.'], ['code' => 'Request.param.error', 'message' => 'Request.param.error. %s.', 'http_code' => 400, 'description' => ''], ['code' => 'Request.parameter.error', 'message' => 'Request parameter error: %s.', 'http_code' => 400, 'description' => 'Request parameter error: %s.'], ['code' => 'RequestFailed', 'message' => 'Request failed.', 'http_code' => 400, 'description' => ''], ['code' => 'Serve.not.found', 'message' => 'Serve.not.found.', 'http_code' => 400, 'description' => 'Serve.not.found.'], ['code' => 'Server.error', 'message' => 'server error', 'http_code' => 200, 'description' => 'A server error occurred.'], ['code' => 'Server.error', 'message' => 'Server error.', 'http_code' => 400, 'description' => 'An error occurred on the server.'], ['code' => 'slr.auth.failed', 'message' => 'slr auth failed.', 'http_code' => 400, 'description' => 'slr auth failed.'], ['code' => 'Studio.App.Domain.DomainAlreadyExist', 'message' => 'The domain already exists.', 'http_code' => 200, 'description' => ''], ['code' => 'Studio.App.Domain.DomainAuthFail', 'message' => 'You are not authorized to manage the domain.', 'http_code' => 200, 'description' => ''], ['code' => 'Studio.App.Domain.DomainMaxNumLimit', 'message' => 'The maximum number of domain is exceeded.', 'http_code' => 200, 'description' => ''], ['code' => 'Studio.App.Domain.DomainNotExist', 'message' => 'The domain does not exist.', 'http_code' => 200, 'description' => ''], ['code' => 'Studio.App.Domain.DomainNotValid', 'message' => 'The domain is invalid.', 'http_code' => 200, 'description' => ''], ['code' => 'Studio.App.Domain.ProtocolNotValid', 'message' => 'The protocol is invalid.', 'http_code' => 200, 'description' => ''], ['code' => 'Studio.App.NotExist', 'message' => 'The application does not exist.', 'http_code' => 200, 'description' => ''], ['code' => 'Studio.App.Token.AppHaveNoToken', 'message' => 'The application does not have any token.', 'http_code' => 200, 'description' => ''], ['code' => 'Studio.App.Token.AppTokenNotActive', 'message' => 'The application token is not active.', 'http_code' => 200, 'description' => ''], ['code' => 'Studio.Device.BatchAddDevicesToProjectFailed', 'message' => 'Failed to batch add devices to the project.', 'http_code' => 400, 'description' => ''], ['code' => 'Studio.Device.BatchRemoveDevicesFromProjectFailed', 'message' => 'Failed to batch remove devices from the project.', 'http_code' => 400, 'description' => ''], ['code' => 'Studio.Device.BatchRemoveDevicesFromProjectFailed', 'message' => 'Failed to batch add devices to the project.', 'http_code' => 400, 'description' => ''], ['code' => 'Studio.Group.NotExist', 'message' => 'The group is not exist.', 'http_code' => 400, 'description' => 'The group is not exist.'], ['code' => 'Studio.GroupCount.ExceedLimit', 'message' => 'The group count of tenant is exceed limit.', 'http_code' => 400, 'description' => ''], ['code' => 'Studio.GroupName.Exist', 'message' => 'The group name is exist.', 'http_code' => 400, 'description' => 'The group name is exist.'], ['code' => 'Studio.GroupName.Invalid', 'message' => 'The group name is invalid.', 'http_code' => 400, 'description' => 'The group name is invalid.'], ['code' => 'Studio.Materia.UnknownType', 'message' => 'The type is invalid.', 'http_code' => 400, 'description' => 'The type is invalid.'], ['code' => 'Studio.Product.BindFailed', 'message' => 'Failed to bind the product.', 'http_code' => 400, 'description' => ''], ['code' => 'Studio.Product.ErrorInvalidProjectOrProduct', 'message' => 'invalid project or product.', 'http_code' => 400, 'description' => 'The project or product is invalid.'], ['code' => 'Studio.Product.ErrorProjectNotExisted', 'message' => 'project not existed.', 'http_code' => 400, 'description' => 'The project does not exist.'], ['code' => 'Studio.Product.UnbindDevicesFailed', 'message' => 'unbind devices failed.', 'http_code' => 400, 'description' => 'The system failed to batch unbind devices.'], ['code' => 'Studio.Product.UnbindFailed', 'message' => 'Failed to unbind the product.', 'http_code' => 400, 'description' => ''], ['code' => 'Studio.Project.FeatureNotSupport', 'message' => 'The feature is not supported by the current account.', 'http_code' => 200, 'description' => ''], ['code' => 'TargetUserCheckFailed', 'message' => 'The target user must not be the current user.', 'http_code' => 200, 'description' => ''], ['code' => 'TargetUserNotFound', 'message' => 'The target user is not found.', 'http_code' => 200, 'description' => ''], ['code' => 'test.code', 'message' => 'English message.', 'http_code' => 400, 'description' => ''], ['code' => 'test.code', 'message' => 'English mesage.', 'http_code' => 400, 'description' => 'English mesage.'], ['code' => 'The.thing.model.of.distribute.product.not.allow.to.edit', 'message' => 'Distribute.thing.model.no.edit.', 'http_code' => 400, 'description' => 'Distribute.thing.model.no.edit.'], ['code' => 'Thing.Model.Get.Lock.Failed', 'message' => 'The thing model get lock failed. Please try again later.', 'http_code' => 400, 'description' => 'The system failed to obtain the lock of the TSL model. Try again later.'], ['code' => 'Thing.model.not.found', 'message' => 'The thing model is not existed.', 'http_code' => 400, 'description' => 'The TSL model does not exist.'], ['code' => 'Thing.Model.Status.Not.Final', 'message' => 'The thing model status is not final. Please wait for the final status.', 'http_code' => 400, 'description' => 'The TSL model is not at the desired state. Wait for a few seconds.'], ['code' => 'Thing.Model.Status.Not.Final', 'message' => 'The thing model may be importing or copying or publishing. Please wait for the final status.', 'http_code' => 400, 'description' => 'The TSL model is being exported, copied, or published. Try again later.'], ['code' => 'Thing.model.verison.invalid', 'message' => 'The thing model version is not valid.', 'http_code' => 400, 'description' => 'The version of the TSL model is invalid.'], ['code' => 'Thing.Model.Version.Invalid', 'message' => 'The thing model version is not valid.', 'http_code' => 400, 'description' => 'The version of the TSL model is invalid.'], ], 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateProductDistributeJob'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySummarySceneRuleLog'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PublishThingModelAsyncInner'], ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateSpeech'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchUnbindDeviceFromEdgeInstance'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListJob'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetThingScript'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceEventData'], ['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchAddDataForApiSource'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListParser'], ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RRpc'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateProductTags'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteEdgeInstance'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListOTAFirmware'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceDesiredProperty'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySoundCodeLabelList'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryPageByApplyId'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ReleaseProduct'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySpeechPushJobSpeech'], ['threshold' => '40', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetShareTaskByDeviceOpen'], ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateSoundCodeLabel'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDevicePropertyData'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSubscribeRelation'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryEdgeDriver'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetShareSpeechModelAudio'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PublishScript'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddDataForApiSource'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchImportDevice'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteStudioAppDomainOpen'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetDataAPIServiceDetail'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StopRule'], ['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetSpeechLicenseDeviceStatistics'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchCheckDeviceNames'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceGroupByTags'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceSpeech'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetDeviceProperty'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySuperDeviceGroup'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListParserDestination'], ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateDeviceDistributeJob'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'InvokeThingsService'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryEdgeInstanceDriver'], ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EnableSceneRule'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchBindDeviceToEdgeInstanceWithDriver'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateOTAJob'], ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateSoundCodeLabel'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteProduct'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteProductTopic'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteUserDefineTableDataByPrimaryKey'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CancelOTATaskByJob'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CopyThingModel'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ReleaseEdgeDriverVersion'], ['threshold' => '2000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ImportDTData'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateEdgeInstanceDeployment'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchGetDeviceState'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetRuleAction'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteDataSourceItem'], ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchCheckImportDevice'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryLoRaJoinPermissions'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateThingModel'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryJobStatistics'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryImportedDeviceByApplyId'], ['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryProjectShareDeviceList'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetParserDataSource'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateThingScript'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeletePowerStation'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchQueryDeviceDetail'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceByTags'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EnableThing'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateConsumerGroup'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListProductByTags'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteRule'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListParserDataSource'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryConsumerGroupList'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchBindProductsIntoProject'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryCertUrlByApplyId'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RefreshDeviceTunnelSharePassword'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryThingModelPublished'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ReBindLicenseDevice'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateDeviceGroup'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceProp'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateParserDataSource'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CloseEdgeInstanceDeployment'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteDeviceFile'], ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListThingModelVersion'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceOriginalPropertyStatus'], ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryProductCertInfo'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateTopicConfig'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListPowerStation'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetupStudioAppAuthModeOpen'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateParserDataSource'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateEdgeInstance'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ReupgradeOTATask'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryStudioAppDomainListOpen'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDevice'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDevicePropertiesData'], ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateSoundCode'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchGetEdgeInstanceDeviceDriver'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListRule'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteClientIds'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDestination'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceListByDeviceGroup'], ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateSchedulePeriod'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListOTAModuleByProduct'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySceneRule'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryProductList'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateConsumerGroupSubscribeRelation'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AttachDestination'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceServiceData'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchRegisterDeviceWithApplyId'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateOTADynamicUpgradeJob'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CloseDeviceTunnel'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateProductTopic'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateConsumerGroup'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySolutionDeviceGroupPage'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AttachParserDataSource'], ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateSoundCode'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetDeviceShadow'], ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListAnalyticsData'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchUnbindProjectDevices'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateEdgeInstanceChannel'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StartParser'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GisQueryDeviceLocation'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PublishThingModel'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceProvisioning'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateProductTags'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySpeechDevice'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CancelJob'], ['threshold' => '-1', 'countWindow' => 1, 'regionId' => '*'], ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AsyncRRpc'], ['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddDeviceToSharePromotion'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceDistributeJob'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDevicesHotStorageDataStatus'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetEdgeInstanceDriverConfigs'], ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSoundCode'], ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateSoundCodeSchedule'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListRuleActions'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BindLicenseProduct'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryEdgeInstanceChannel'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateSceneRule'], ['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchGetEdgeInstanceDeviceConfig'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySchedulePeriodList'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SpeechBySynthesis'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateDeviceShadow'], ['threshold' => '80', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CountSpeechBroadcastHour'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ReplaceEdgeInstanceGateway'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddPowerStation'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateJob'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PushSpeech'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryEdgeInstance'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySubscribeRelation'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceByStatus'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SaveScript'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DisableThing'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryConsumerGroupByGroupId'], ['threshold' => '1', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateDeviceDynamicGroup'], ['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryShareTaskDeviceList'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceCert'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchGetEdgeInstanceDeviceChannel'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteProductTags'], ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetDevicesProperty'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'TransformClientId'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryShareProductNameByProductKey'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateSubscribeRelation'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceDistributeDetail'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DetachDestination'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateOTAFirmware'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetDeviceTunnelShareStatus'], ['threshold' => '1', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PubBroadcast'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySpeechList'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteTopicRouteTable'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteTopicConfig'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateDeviceGroup'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateOTAModule'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceOriginalServiceData'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetThingModelTslPublished'], ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateSchedulePeriod'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteThingModel'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteDeviceGroup'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GenerateFileUploadURL'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EnableDeviceTunnel'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateEdgeDriverVersion'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'InvokeThingService'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateEdgeDriver'], ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'TestSpeech'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateThingScript'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PageQuerySharedSpeechOpen'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchGetEdgeInstanceChannel'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DisableSceneRule'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GenerateOTAUploadURL'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySpeechPushJobDevice'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceOriginalPropertyData'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnbindLicenseProduct'], ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryBatchRegisterDeviceStatus'], ['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySpeechLicenseDeviceList'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListOTAJobByFirmware'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchDeleteDeviceGroupRelations'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteShareTaskDevice'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceGroupTagList'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteOTAFirmware'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetThingModelStatusInner'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CopyThingModelAsync'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EnableDeviceTunnelShare'], ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchAddThingTopo'], ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteDeviceDistributeJob'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateOTAStaticUpgradeJob'], ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ResetDeviceTimeline'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetRule'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateTopicConfig'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryTask'], ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchCreateSoundCodeLabelWithLabels'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CancelOTATaskByDevice'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryStudioProjectList'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteOTAModule'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteRuleAction'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateDataAPIService'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateParser'], ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'InvokeDataAPIService'], ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSoundCodeSchedule'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateDownloadDataJob'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchGetEdgeInstanceDriverConfigs'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteDevice'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetDeviceStatus'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchGetDeviceBindStatus'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchSetEdgeInstanceDeviceChannel'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryMessageInfo'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetDestination'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateJob'], ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSoundCodeLabel'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceOriginalEventData'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateOTAModule'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteDestination'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryOTAFirmware'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetDeviceTunnelStatus'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ClearDeviceDesiredProperty'], ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchCheckVehicleDevice'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchUnbindProjectProducts'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceGroupByDevice'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListOTAModuleVersionsByDevice'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySoundCodeLabelBatchList'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateEdgeInstanceChannel'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteConsumerGroup'], ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PageQuerySpeechBroadcastHour'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListOTAJobByDevice'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryProduct'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateDataSourceItem'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDataSourceItem'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetDeviceDesiredProperty'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetEdgeInstanceMessageRouting'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryTopicRouteTable'], ['threshold' => '4000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'WriteDevicesHotStorageData'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateRule'], ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PackageSoundCodeLabelBatchAudio'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ImportThingModelTsl'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSceneRule'], ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDevicePropertyStatus'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryOTAJob'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetSpeechDeviceDetail'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SaveDeviceProp'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetSoundCodeSchedule'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyPowerStation'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySpeechPushJob'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListThingTemplates'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySharePromotionActivityAuditResult'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DisableDeviceTunnel'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchAddDeviceGroupRelations'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateEdgeOssPreSignedAddress'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetGatewayBySubDevice'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateRuleAction'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetEdgeInstanceDeployment'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateEdgeInstanceMessageRouting'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnsubscribeTopic'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryEdgeDriverVersion'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchSetEdgeInstanceDeviceConfig'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetStudioAppTokenOpen'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteDeviceTunnel'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDynamicGroupDevices'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceFileList'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateEdgeDriverVersion'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateSharePromotionActivity'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateOTAVerifyJob'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GisSearchDeviceTrace'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetThingTopo'], ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSchedulePeriod'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnbindSceneRuleFromEdgeInstance'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateTopicRouteTable'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetEdgeInstance'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DetachParserDataSource'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateRule'], ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateSpeech'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetStudioProjectCooperation'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteEdgeInstanceMessageRouting'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteDeviceProp'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ShareSpeechByCombination'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchDeleteEdgeInstanceChannel'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceFile'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSpeech'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PublishThingModelAsync'], ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceDetail'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ResetThing'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateProductTopic'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceTunnel'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryVehicleDevice'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryThingModelExtendConfigPublished'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnbindDriverFromEdgeInstance'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryEdgeInstanceHistoricDeployment'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySoundCodeScheduleList'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StartRule'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceStatistics'], ['threshold' => '2000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'Pub'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StartPTDetection'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SyncSpeechByCombination'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'TriggerSceneRule'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StopParser'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetSoundCodeAudio'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchImportVehicleDevice'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ConfirmOTATask'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryEdgeInstanceSceneRule'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RefreshStudioAppTokenOpen'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchBindDevicesIntoProject'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BindRoleToEdgeInstance'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateEdgeInstanceMessageRouting'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDetailSceneRuleLog'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListProductTags'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateDestination'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchGrayMigrationDevice'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteDeviceSpeech'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetDeviceGroupTags'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ClearEdgeInstanceDriverConfigs'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDeviceDistributeJob'], ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateSoundCodeSchedule'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetSpeechVoice'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SpeechByCombination'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnbindApplicationFromEdgeInstance'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateProduct'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySoundCodeLabelBatchFailedResult'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchUpdateDeviceNickname'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateLoRaNodesTask'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetLoraNodesTask'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateThingModel'], ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchCreateSoundCodeLabel'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceSubTopic'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SubscribeTopic'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BindSceneRuleToEdgeInstance'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PrintByTemplate'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListOTAUnfinishedTaskByDevice'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateEdgeInstance'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyOTAFirmware'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ImportDevice'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryStudioAppList'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateProductFilterConfig'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CancelOTAStrategyByJob'], ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetThingTemplate'], ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateSharePromotionSpeechModel'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetSceneRule'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryLicenseDeviceList'], ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchPub'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CancelReleaseProduct'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySpeechLicenseAvailableQuota'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceBySQL'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DisableDeviceTunnelShare'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RemoveThingTopo'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RerunJob'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddShareTaskDevice'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTask'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateParser'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BindLicenseDevice'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateDeviceTunnel'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'TestSwitch'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchRegisterDevice'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryClientIds'], ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceGroupList'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDevicesHotStorageData'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryEdgeInstanceMessageRouting'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryTopicConfig'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ResetConsumerGroupPosition'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteParser'], ['threshold' => '1', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RetrySoundCodeLabelBatch'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryEdgeInstanceDeviceByDriver'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchClearEdgeInstanceDeviceConfig'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteParserDataSource'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryJob'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySpeech'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BindDriverToEdgeInstance'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateStudioAppDomainOpen'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryEdgeInstanceGateway'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryEdgeInstanceDevice'], ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryThingModel'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteEdgeDriver'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryStudioAppPageListOpen'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'NotifyAddThingTopo'], ['threshold' => '1', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PublishStudioApp'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BindApplicationToEdgeInstance'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateSceneRule'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryConsumerGroupStatus'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetParser'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryThingModelExtendConfig'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateProduct'], ['threshold' => '1', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteDeviceDynamicGroup'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GenerateDeviceNameListURL'], ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RegisterDevice'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchGetEdgeDriver'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateSubscribeRelation'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetThingModelTsl'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CheckBindLicenseDeviceProgress'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySoundCodeList'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryCustomTimelineTableStatus'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceInfo'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteJob'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetDownloadFile'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDistributedDevice'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDistributedProduct'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryTopicReverseRouteTable'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteEdgeDriverVersion'], ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetProductCertInfo'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListOTATaskByJob'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnbindRoleFromEdgeInstance'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BindGatewayToEdgeInstance'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteConsumerGroupSubscribeRelation'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetEdgeDriverVersion'], ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceGroupInfo'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateDestination'], ], 'product' => ['code' => 'iot', 'title' => 'Iot'], ], 'ram' => [ 'productCode' => 'Iot', 'productName' => 'IoT Platform', 'ramCodes' => ['iot'], 'ramLevel' => 'RESOURCE', 'ramConditions' => [], 'ramActions' => [ [ 'apiName' => 'QueryEdgeInstanceSceneRule', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryEdgeInstanceSceneRule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListDeviceDistributeJob', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListDeviceDistributeJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryStudioAppDomainListOpen', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryStudioAppDomainListOpen', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GisQueryDeviceLocation', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:GisQueryDeviceLocation', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateEdgeDriver', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateEdgeDriver', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BatchPub', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:BatchPub', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UnbindApplicationFromEdgeInstance', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:UnbindApplicationFromEdgeInstance', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryProductList', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryProductList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BindGatewayToEdgeInstance', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:BindGatewayToEdgeInstance', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDeviceProp', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceProp', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetEdgeInstanceDeployment', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetEdgeInstanceDeployment', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'OpenIotService', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:OpenIotService', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'InvokeThingsService', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:InvokeThingsService', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDevicePropertyData', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDevicePropertyData', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDeviceServiceData', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceServiceData', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateDownloadDataJob', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateDownloadDataJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListProductByTags', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListProductByTags', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UpdateThingScript', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateThingScript', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteEdgeInstance', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteEdgeInstance', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryProductCertInfo', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryProductCertInfo', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateSoundCodeLabel', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:CreateSoundCodeLabel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BatchAddDataForApiSource', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:BatchAddDataForApiSource', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QuerySpeechPushJobSpeech', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QuerySpeechPushJobSpeech', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'StopRule', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:StopRule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetParser', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetParser', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateSharePromotionActivity', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:CreateSharePromotionActivity', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateDestination', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateDestination', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'PublishScript', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:PublishScript', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryTask', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryTask', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryEdgeInstanceGateway', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryEdgeInstanceGateway', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteProductTopic', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteProductTopic', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateSceneRule', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateSceneRule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GenerateFileUploadURL', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:GenerateFileUploadURL', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateThingModel', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateThingModel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryShareProductNameByProductKey', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QueryShareProductNameByProductKey', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteRule', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteRule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDevice', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateThingScript', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateThingScript', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetSoundCodeSchedule', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:GetSoundCodeSchedule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ClearEdgeInstanceDriverConfigs', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:ClearEdgeInstanceDriverConfigs', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDeviceSubTopic', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceSubTopic', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryMessageInfo', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryMessageInfo', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UnbindLicenseProduct', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:UnbindLicenseProduct', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteSchedulePeriod', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:DeleteSchedulePeriod', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BatchRegisterDeviceWithApplyId', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:BatchRegisterDeviceWithApplyId', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BatchGetEdgeDriver', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:BatchGetEdgeDriver', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'PublishThingModel', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:PublishThingModel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDevicesHotStorageDataStatus', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDevicesHotStorageDataStatus', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QuerySpeech', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QuerySpeech', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetSpeechLicenseDeviceStatistics', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:GetSpeechLicenseDeviceStatistics', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UnbindDriverFromEdgeInstance', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:UnbindDriverFromEdgeInstance', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDeviceFile', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceFile', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteShareTaskDevice', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:DeleteShareTaskDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetSpeechDeviceDetail', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:GetSpeechDeviceDetail', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListRule', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListRule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryThingModelExtendConfig', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryThingModelExtendConfig', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListOTAUnfinishedTaskByDevice', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListOTAUnfinishedTaskByDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListRuleActions', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListRuleActions', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UpdateProduct', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateProduct', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UpdateConsumerGroup', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateConsumerGroup', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QuerySceneRule', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QuerySceneRule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'SaveDeviceProp', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:SaveDeviceProp', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UpdateRule', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateRule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryThingModel', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryThingModel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'TriggerSceneRule', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:TriggerSceneRule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryEdgeInstance', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryEdgeInstance', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QuerySuperDeviceGroup', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QuerySuperDeviceGroup', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QuerySpeechPushJobDevice', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QuerySpeechPushJobDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'SetEdgeInstanceDriverConfigs', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:SetEdgeInstanceDriverConfigs', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDeviceEventData', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceEventData', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDeviceByStatus', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceByStatus', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateOTAModule', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateOTAModule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'EnableDeviceTunnel', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:EnableDeviceTunnel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateDataSourceItem', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateDataSourceItem', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BatchAddDeviceGroupRelations', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:BatchAddDeviceGroupRelations', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CopyThingModelAsync', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:CopyThingModelAsync', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BatchUnbindProjectProducts', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:BatchUnbindProjectProducts', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteRuleAction', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteRuleAction', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateRule', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateRule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteEdgeDriverVersion', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteEdgeDriverVersion', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BatchDeleteDeviceGroupRelations', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:BatchDeleteDeviceGroupRelations', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetDeviceTunnelStatus', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetDeviceTunnelStatus', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BatchClearEdgeInstanceDeviceConfig', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:BatchClearEdgeInstanceDeviceConfig', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateProduct', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateProduct', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BatchQueryDeviceDetail', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:BatchQueryDeviceDetail', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateJob', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListOTAJobByDevice', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListOTAJobByDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryProduct', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryProduct', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDeviceGroupInfo', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceGroupInfo', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDeviceTunnel', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceTunnel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryClientIds', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryClientIds', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryEdgeInstanceHistoricDeployment', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryEdgeInstanceHistoricDeployment', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GenerateOTAUploadURL', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:GenerateOTAUploadURL', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryShareTaskDeviceList', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QueryShareTaskDeviceList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryLoRaJoinPermissions', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryLoRaJoinPermissions', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QuerySoundCodeLabelBatchList', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QuerySoundCodeLabelBatchList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateSoundCodeSchedule', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:CreateSoundCodeSchedule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateDeviceDynamicGroup', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateDeviceDynamicGroup', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteTopicRouteTable', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteTopicRouteTable', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BatchSetEdgeInstanceDeviceChannel', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:BatchSetEdgeInstanceDeviceChannel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UpdateSoundCodeLabel', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:UpdateSoundCodeLabel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryProductTopic', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryProductTopic', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QuerySpeechList', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QuerySpeechList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryJob', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetRuleAction', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetRuleAction', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BatchCreateSoundCodeLabelWithLabels', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:BatchCreateSoundCodeLabelWithLabels', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListPowerStation', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:ListPowerStation', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteProduct', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteProduct', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateOTAFirmware', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateOTAFirmware', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteDestination', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteDestination', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDeviceListByDeviceGroup', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceListByDeviceGroup', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryCertUrlByApplyId', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryCertUrlByApplyId', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateConsumerGroupSubscribeRelation', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateConsumerGroupSubscribeRelation', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListThingTemplates', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListThingTemplates', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BatchBindDeviceToEdgeInstanceWithDriver', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:BatchBindDeviceToEdgeInstanceWithDriver', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BatchRegisterDevice', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:BatchRegisterDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryEdgeDriver', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryEdgeDriver', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BindSceneRuleToEdgeInstance', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:BindSceneRuleToEdgeInstance', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetThingModelTslPublished', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetThingModelTslPublished', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetSceneRule', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetSceneRule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UpdateEdgeDriverVersion', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateEdgeDriverVersion', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CheckBindLicenseDeviceProgress', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:CheckBindLicenseDeviceProgress', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DisableDeviceTunnel', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DisableDeviceTunnel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UpdateOTAModule', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateOTAModule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QuerySoundCodeLabelList', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QuerySoundCodeLabelList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetDeviceTunnelShareStatus', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetDeviceTunnelShareStatus', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'EnableDeviceTunnelShare', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:EnableDeviceTunnelShare', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BatchCheckImportDevice', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:BatchCheckImportDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetThingTemplate', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetThingTemplate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetEdgeInstance', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetEdgeInstance', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DisableDeviceTunnelShare', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DisableDeviceTunnelShare', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'RetrySoundCodeLabelBatch', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:RetrySoundCodeLabelBatch', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteJob', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryImportedDeviceByApplyId', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryImportedDeviceByApplyId', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteDeviceTunnel', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteDeviceTunnel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UpdateTopicConfig', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateTopicConfig', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteDeviceDistributeJob', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteDeviceDistributeJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BatchGrayMigrationDevice', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:BatchGrayMigrationDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateProductTags', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateProductTags', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BatchGetDeviceBindStatus', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:BatchGetDeviceBindStatus', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GenerateDeviceNameListURL', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:GenerateDeviceNameListURL', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateStudioAppDomainOpen', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateStudioAppDomainOpen', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BindApplicationToEdgeInstance', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:BindApplicationToEdgeInstance', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BatchGetEdgeInstanceDeviceDriver', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:BatchGetEdgeInstanceDeviceDriver', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteConsumerGroup', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteConsumerGroup', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryTopicReverseRouteTable', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryTopicReverseRouteTable', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteStudioAppDomainOpen', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteStudioAppDomainOpen', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BatchAddThingTopo', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:BatchAddThingTopo', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListParserDestination', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListParserDestination', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateProductDistributeJob', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateProductDistributeJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BatchGetEdgeInstanceDeviceChannel', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:BatchGetEdgeInstanceDeviceChannel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteDataSourceItem', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteDataSourceItem', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListDistributedProduct', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListDistributedProduct', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BindDriverToEdgeInstance', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:BindDriverToEdgeInstance', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'SetDeviceProperty', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:SetDeviceProperty', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BatchGetDeviceState', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:BatchGetDeviceState', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteDeviceFile', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteDeviceFile', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetGatewayBySubDevice', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetGatewayBySubDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteSubscribeRelation', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteSubscribeRelation', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListDataSourceItem', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListDataSourceItem', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UpdateSceneRule', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateSceneRule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDeviceDistributeDetail', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceDistributeDetail', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'InvokeThingService', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:InvokeThingService', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteDevice', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QuerySummarySceneRuleLog', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QuerySummarySceneRuleLog', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetSpeechVoice', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:GetSpeechVoice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'PrintByTemplate', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:PrintByTemplate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDeviceInfo', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceInfo', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateSharePromotionSpeechModel', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:CreateSharePromotionSpeechModel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDeviceGroupList', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceGroupList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DisableSceneRule', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:DisableSceneRule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UpdateSoundCode', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:UpdateSoundCode', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BatchCheckDeviceNames', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:BatchCheckDeviceNames', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryOTAJob', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryOTAJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'AddDataForApiSource', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:AddDataForApiSource', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QuerySpeechDevice', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QuerySpeechDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryThingModelExtendConfigPublished', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryThingModelExtendConfigPublished', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ImportDTData', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:ImportDTData', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CopyThingModel', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:CopyThingModel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BatchUnbindDeviceFromEdgeInstance', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:BatchUnbindDeviceFromEdgeInstance', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteSoundCodeSchedule', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:DeleteSoundCodeSchedule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CancelOTATaskByDevice', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:CancelOTATaskByDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateParser', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateParser', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateSchedulePeriod', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:CreateSchedulePeriod', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UpdateDeviceGroup', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateDeviceGroup', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CancelJob', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:CancelJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'StartParser', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:StartParser', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateOTAStaticUpgradeJob', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateOTAStaticUpgradeJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ReleaseProduct', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:ReleaseProduct', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'PubBroadcast', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:PubBroadcast', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteClientIds', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteClientIds', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryThingModelPublished', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryThingModelPublished', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateOTAVerifyJob', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateOTAVerifyJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateSoundCode', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:CreateSoundCode', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteDeviceProp', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteDeviceProp', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListOTAModuleByProduct', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListOTAModuleByProduct', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteSoundCode', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:DeleteSoundCode', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDetailSceneRuleLog', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDetailSceneRuleLog', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetDeviceStatus', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetDeviceStatus', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ResetDeviceTimeline', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:ResetDeviceTimeline', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListOTAJobByFirmware', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListOTAJobByFirmware', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDeviceFileList', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceFileList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UpdateEdgeInstanceMessageRouting', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateEdgeInstanceMessageRouting', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'TestSpeech', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:TestSpeech', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CountSpeechBroadcastHour', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:CountSpeechBroadcastHour', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDeviceDesiredProperty', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceDesiredProperty', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'PushSpeech', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:PushSpeech', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDeviceStatistics', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceStatistics', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDynamicGroupDevices', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDynamicGroupDevices', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UnbindSceneRuleFromEdgeInstance', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:UnbindSceneRuleFromEdgeInstance', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryTopicConfig', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QueryTopicConfig', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateDataAPIService', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateDataAPIService', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'RemoveThingTopo', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:RemoveThingTopo', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UpdateThingModel', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateThingModel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryEdgeInstanceChannel', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryEdgeInstanceChannel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BatchGetEdgeInstanceDeviceConfig', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:BatchGetEdgeInstanceDeviceConfig', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateParserDataSource', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateParserDataSource', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'RRpc', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:RRpc', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UpdateSchedulePeriod', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:UpdateSchedulePeriod', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ReleaseEdgeDriverVersion', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:ReleaseEdgeDriverVersion', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetLoraNodesTask', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetLoraNodesTask', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDeviceOriginalPropertyStatus', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceOriginalPropertyStatus', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteParserDataSource', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteParserDataSource', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UpdateSubscribeRelation', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateSubscribeRelation', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'SetDeviceGroupTags', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:SetDeviceGroupTags', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'SaveScript', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:SaveScript', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteSceneRule', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteSceneRule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteProductTags', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteProductTags', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteSoundCodeLabel', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:DeleteSoundCodeLabel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UpdateDestination', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateDestination', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CloseDeviceTunnel', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:CloseDeviceTunnel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetDeviceShadow', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetDeviceShadow', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UpdateSoundCodeSchedule', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:UpdateSoundCodeSchedule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'InvokeDataAPIService', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:InvokeDataAPIService', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QuerySpeechLicenseAvailableQuota', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QuerySpeechLicenseAvailableQuota', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateRuleAction', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateRuleAction', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ResetThing', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:ResetThing', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'TestSwitch', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:TestSwitch', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteEdgeDriver', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteEdgeDriver', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetDataAPIServiceDetail', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetDataAPIServiceDetail', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateDeviceTunnel', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateDeviceTunnel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateSpeech', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:CreateSpeech', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDeviceProvisioning', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceProvisioning', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CloseEdgeInstanceDeployment', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:CloseEdgeInstanceDeployment', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'StartPTDetection', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:StartPTDetection', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UpdateParser', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateParser', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListOTAModuleVersionsByDevice', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListOTAModuleVersionsByDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'AttachDestination', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:AttachDestination', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetEdgeInstanceMessageRouting', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetEdgeInstanceMessageRouting', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryEdgeInstanceMessageRouting', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryEdgeInstanceMessageRouting', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryEdgeInstanceDevice', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryEdgeInstanceDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryLicenseDeviceList', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QueryLicenseDeviceList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDeviceGroupTagList', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceGroupTagList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QuerySoundCodeLabelBatchFailedResult', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QuerySoundCodeLabelBatchFailedResult', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetThingTopo', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetThingTopo', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteConsumerGroupSubscribeRelation', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteConsumerGroupSubscribeRelation', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'SetStudioProjectCooperation', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:SetStudioProjectCooperation', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateSubscribeRelation', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateSubscribeRelation', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetParserDataSource', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetParserDataSource', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteParser', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteParser', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetShareTaskByDeviceOpen', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:GetShareTaskByDeviceOpen', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteThingModel', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteThingModel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetThingModelTsl', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetThingModelTsl', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DetachDestination', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DetachDestination', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'AddPowerStation', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:AddPowerStation', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UpdateRuleAction', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateRuleAction', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateDeviceDistributeJob', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateDeviceDistributeJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QuerySoundCodeList', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QuerySoundCodeList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'StartRule', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:StartRule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UpdateSpeech', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:UpdateSpeech', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QuerySolutionDeviceGroupPage', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QuerySolutionDeviceGroupPage', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'RerunJob', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:RerunJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteEdgeInstanceMessageRouting', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteEdgeInstanceMessageRouting', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateConsumerGroup', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateConsumerGroup', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'SetProductCertInfo', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:SetProductCertInfo', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryOTAFirmware', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryOTAFirmware', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryPageByApplyId', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryPageByApplyId', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BindRoleToEdgeInstance', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:BindRoleToEdgeInstance', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryConsumerGroupList', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryConsumerGroupList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListProductTags', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListProductTags', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryConsumerGroupStatus', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryConsumerGroupStatus', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetEdgeDriverVersion', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetEdgeDriverVersion', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'PublishThingModelAsync', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:PublishThingModelAsync', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetDownloadFile', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetDownloadFile', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ModifyPowerStation', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:ModifyPowerStation', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ResetConsumerGroupPosition', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:ResetConsumerGroupPosition', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListParser', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListParser', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UpdateProductTopic', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateProductTopic', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'SubscribeTopic', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:SubscribeTopic', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateEdgeInstanceChannel', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateEdgeInstanceChannel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ReplaceEdgeInstanceGateway', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:ReplaceEdgeInstanceGateway', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateProductTopic', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateProductTopic', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CancelReleaseProduct', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:CancelReleaseProduct', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BatchBindProductsIntoProject', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:BatchBindProductsIntoProject', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListDistributedDevice', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListDistributedDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DisableThing', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:DisableThing', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ModifyOTAFirmware', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:ModifyOTAFirmware', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UpdateDeviceShadow', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateDeviceShadow', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QuerySubscribeRelation', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QuerySubscribeRelation', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateEdgeInstanceDeployment', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateEdgeInstanceDeployment', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryJobStatistics', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryJobStatistics', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UpdateParserDataSource', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateParserDataSource', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteSpeech', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:DeleteSpeech', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UpdateEdgeInstanceChannel', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateEdgeInstanceChannel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetDestination', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetDestination', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'TransformClientId', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:TransformClientId', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BatchCreateSoundCodeLabel', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:BatchCreateSoundCodeLabel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'AttachParserDataSource', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:AttachParserDataSource', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BatchGetEdgeInstanceChannel', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:BatchGetEdgeInstanceChannel', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateEdgeDriverVersion', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateEdgeDriverVersion', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'SetDevicesProperty', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:SetDevicesProperty', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QuerySoundCodeScheduleList', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QuerySoundCodeScheduleList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'SetDeviceDesiredProperty', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:SetDeviceDesiredProperty', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UpdateOTAJob', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:UpdateOTAJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryCustomTimelineTableStatus', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QueryCustomTimelineTableStatus', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetThingModelStatusInner', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:GetThingModelStatusInner', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QuerySchedulePeriodList', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QuerySchedulePeriodList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GisSearchDeviceTrace', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:GisSearchDeviceTrace', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDeviceCert', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceCert', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateDeviceGroup', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateDeviceGroup', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDeviceGroupByTags', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceGroupByTags', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListAnalyticsData', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListAnalyticsData', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UnbindRoleFromEdgeInstance', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:UnbindRoleFromEdgeInstance', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDevicesHotStorageData', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDevicesHotStorageData', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteDeviceDynamicGroup', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteDeviceDynamicGroup', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryVehicleDevice', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryVehicleDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UpdateProductFilterConfig', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateProductFilterConfig', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'RefreshDeviceTunnelSharePassword', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:RefreshDeviceTunnelSharePassword', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UpdateEdgeInstance', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateEdgeInstance', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CancelOTAStrategyByJob', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:CancelOTAStrategyByJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'EnableThing', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:EnableThing', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDeviceSpeech', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QueryDeviceSpeech', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryEdgeInstanceDriver', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryEdgeInstanceDriver', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateOTADynamicUpgradeJob', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateOTADynamicUpgradeJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDevicePropertyStatus', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDevicePropertyStatus', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ClearDeviceDesiredProperty', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:ClearDeviceDesiredProperty', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'Pub', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:Pub', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryBatchRegisterDeviceStatus', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryBatchRegisterDeviceStatus', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListTask', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListTask', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListOTATaskByJob', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListOTATaskByJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'StopParser', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:StopParser', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListThingModelVersion', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListThingModelVersion', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDevicePropertiesData', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDevicePropertiesData', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListDestination', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListDestination', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryTopicRouteTable', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryTopicRouteTable', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'PageQuerySharedSpeechOpen', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:PageQuerySharedSpeechOpen', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BatchUpdateDeviceNickname', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:BatchUpdateDeviceNickname', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DetachParserDataSource', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DetachParserDataSource', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteDeviceGroup', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteDeviceGroup', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BindLicenseProduct', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:BindLicenseProduct', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ImportThingModelTsl', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:ImportThingModelTsl', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BatchGetEdgeInstanceDriverConfigs', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:BatchGetEdgeInstanceDriverConfigs', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListJob', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryStudioProjectList', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryStudioProjectList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ImportDevice', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:ImportDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetThingScript', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetThingScript', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListParserDataSource', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListParserDataSource', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UpdateJob', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BatchImportDevice', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:BatchImportDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListOTAFirmware', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:ListOTAFirmware', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDeviceGroupByDevice', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceGroupByDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BindLicenseDevice', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:BindLicenseDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetRule', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:GetRule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateEdgeInstanceMessageRouting', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateEdgeInstanceMessageRouting', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryEdgeDriverVersion', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryEdgeDriverVersion', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'PackageSoundCodeLabelBatchAudio', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:PackageSoundCodeLabelBatchAudio', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BatchSetEdgeInstanceDeviceConfig', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:BatchSetEdgeInstanceDeviceConfig', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDeviceByTags', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceByTags', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QuerySpeechLicenseDeviceList', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QuerySpeechLicenseDeviceList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteDeviceSpeech', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:DeleteDeviceSpeech', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateTopicConfig', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:CreateTopicConfig', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'RegisterDevice', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:RegisterDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDeviceBySQL', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceBySQL', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UpdateProductTags', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:UpdateProductTags', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CancelOTATaskByJob', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:CancelOTATaskByJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'NotifyAddThingTopo', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:NotifyAddThingTopo', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDeviceDetail', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceDetail', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryConsumerGroupByGroupId', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryConsumerGroupByGroupId', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateEdgeInstance', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'iot:CreateEdgeInstance', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteOTAModule', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteOTAModule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteOTAFirmware', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'iot:DeleteOTAFirmware', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'EnableSceneRule', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'iot:EnableSceneRule', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDeviceDistributeJob', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'iot:QueryDeviceDistributeJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QuerySpeechPushJob', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'iot:QuerySpeechPushJob', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'Iot', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'resourceTypes' => [], ], ];