複数のデバイスを標準インスタンスまたは Message Queuing Telemetry Transport (MQTT) ゲートウェイ プロダクトに一度に追加します。
使用上の注意
MQTT ゲートウェイ プロダクトにデバイスを追加する前に、MQTT ゲートウェイと関連プロダクトが作成され、プロダクトの ProductKey が取得されていることを確認してください。 詳細については、「MQTT ゲートウェイを作成する」をご参照ください。
QPS 制限
この API 操作は、アカウントごとに 1 秒あたり最大 10 回呼び出すことができます。
デバッグ
リクエストパラメーター
パラメーター | タイプ | 必須 | 例 | 説明 |
Action | String | はい | BatchImportDevice | 実行する操作。 値を BatchImportDevice に設定します。 |
ProductKey | String | はい | a1BwAGV**** | デバイスが属するプロダクトの ProductKey。ProductKey は、IoT Platform におけるプロダクトの一意の識別子です。 IoT Platform コンソールを使用するか、QueryProductList 操作を呼び出して、現在のアカウントのすべてのプロダクトに関する情報を表示できます。 |
DeviceList.N.DeviceName | String | はい | device1 | デバイスの DeviceName。 DeviceName は 4 ~ 32 文字で、文字、数字、ハイフン(-)、アンダースコア(_)、アットマーク(@)、ピリオド(.)、コロン(:)を含めることができます。 DeviceName はプロダクト内で一意である必要があります。 説明 1 回の呼び出しで最大 10,000 個の DeviceName を指定できます。 DeviceName の数が制限を超えると、超過した DeviceName は破棄されます。 |
DeviceList.N.DeviceSecret | String | はい | b4d43f7******10ba5e5 | デバイスの DeviceSecret。 DeviceSecret は 1 ~ 32 文字で、文字、数字、ハイフン(-)、アンダースコア(_)、アットマーク(@)、ピリオド(.)、コロン(:)を含めることができます。 説明 1 回の呼び出しで最大 10,000 個の DeviceSecret を指定できます。 DeviceSecret の数が制限を超えると、超過した DeviceSecret は破棄されます。 |
DeviceList.N.Sn | String | いいえ | QC4******001 | デバイスのシリアル番号(SN)。 SN は 1 ~ 64 文字で、文字、数字、アンダースコア(_)を含めることができます。 説明 1 回の呼び出しで最大 10,000 個の SN を指定できます。 SN の数が制限を超えると、超過した SN は破棄されます。 |
IotInstanceId | String | いいえ | iot-1n8t**** | インスタンスの ID。インスタンスの ID は、IoT Platform コンソールの 概要 ページで取得できます。 重要
詳細については、「概要」をご参照ください。 |
上記の操作固有のリクエストパラメーターに加えて、この操作を呼び出すときは、共通リクエストパラメーターを設定する必要があります。 共通リクエストパラメーターの詳細については、「共通パラメーター」をご参照ください。
レスポンスパラメーター
パラメーター | タイプ | 例 | 説明 |
Code | String | iot.system.SystemException | 呼び出しが失敗した場合に返されるエラーコード。 エラーコードの詳細については、「エラーコード」をご参照ください。 |
Data | Struct | 呼び出しが成功した場合に返されるデータ。 |
|
ApplyId | Long | 1295006 | 呼び出しが成功した場合にリクエストに対して返されるアプリケーション ID(ApplyId)。 |
InvalidDetailList | InvalidDetailList の配列 | 呼び出しが失敗した場合に返される無効なデバイスの詳細。 |
|
InvalidDetailList | |||
DeviceName | String | light% | デバイスの DeviceName。 |
DeviceSecret | String | ^67$ | デバイスの DeviceSecret。 |
ErrorMsg | String | The device name is illegal. | 呼び出しが失敗した場合に返されるエラーメッセージ。 |
Sn | String | QC4001# | デバイスの SN。 |
InvalidDeviceNameList | List | { "InvalidDeviceNameList": [ "APT$", "aw" ] } | 呼び出しが失敗した場合に返される無効なデバイスの DeviceName。 |
InvalidDeviceSecretList | List | { "InvalidDeviceSecretList": [ "^67$", "1" ] } | 呼び出しが失敗した場合に返される無効なデバイスの DeviceSecret。 |
InvalidSnList | List | { "InvalidSnList": [ "" ] } | 呼び出しが失敗した場合に返される無効なデバイスの SN。 |
RepeatedDeviceNameList | List | { "RepeatedDeviceNameList": [ "abcd", "asdf" ] } | 呼び出しが失敗した場合に返される重複した DeviceName。 |
ErrorMessage | String | A system exception occurred. | 呼び出しが失敗した場合に返されるエラーメッセージ。 |
RequestId | String | E4C0FF92-2A86-41DB-92D3-73B60310D25E | リクエストの ID。 |
Success | Boolean | true | 呼び出しが成功したかどうかを示します。有効な値:
|
説明
リクエストの例
http(s)://iot.cn-shanghai.aliyuncs.com/?Action=BatchImportDevice
&DeviceList.1.DeviceName=device1
&DeviceList.2.DeviceName=device2
&DeviceList.1.DeviceSecret=b4d43f7******10ba5e5
&DeviceList.2.DeviceSecret=912179******700210b4
&ProductKey=a1BwAGV****
&IotInstanceId=iot-1n8t****
&<共通リクエストパラメーター>
成功レスポンスの例
XML
形式
<BatchImportDeviceResponse>
<RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>
<Data>
<ApplyId>1295006</ApplyId>
</Data>
<Success>true</Success>
</BatchImportDeviceResponse>
JSON
形式
{
"RequestId": "E4C0FF92-2A86-41DB-92D3-73B60310D25E",
"Data": {
"ApplyId": 1295006
},
"Success": true
}
エラーコード
HttpCode | エラーコード | エラーメッセージ | 説明 |
400 | iot.device.TooManyDeviceNamesPerRequest | The devices you query exceed the maximum number. | リクエストで指定した DeviceName の数が制限を超えています。 |
400 | iot.device.ApplyManyDevicesFailed | An error occurred while creating multiple devices. | システムは一度に複数のデバイスを作成できませんでした。 |
400 | iot.device.DeviceNumerExceedTenant | The device total number beyond limit. | デバイスの数が制限を超えています。 |
エラーコードの一覧については、「サービスエラーコード」をご参照ください。