プロダクト下に複数のカスタム DeviceName を作成します。IoT Platform は DeviceName の有効性をチェックします。
使用方法
プロダクト下に一意の名前を持つ複数のデバイスを登録するには、この操作を BatchRegisterDeviceWithApplyId 操作と一緒に使用する必要があります。
手順:
1. BatchCheckDeviceNames 操作を呼び出して、登録するデバイスの名前を指定します。IoT Platform は、ApplyId パラメーターで示されるアプリケーション ID を返します。呼び出しが成功した場合、DeviceName を検証するリクエストが送信されます。実際の検証は非同期的に実行されます。
2. QueryBatchRegisterDeviceStatus 操作を呼び出して、名前設定結果をクエリします。
3. BatchRegisterDeviceWithApplyId 操作を呼び出して、デバイスを登録します。
4. オプション。 QueryBatchRegisterDeviceStatus 操作を呼び出して、デバイスの登録結果をクエリします。
5. QueryPageByApplyId 操作を呼び出して、同時に登録されたデバイスの詳細を表示します。
制限
1 回の呼び出しで最大 10,000 個の DeviceName を指定できます。
QPS 制限
この API 操作は、アカウントごとに 1 秒あたり最大 10 回呼び出すことができます。
Alibaba Cloud アカウントの RAM ユーザーは、アカウントのクォータを共有します。
デバッグ
リクエストパラメーター
パラメーター | タイプ | 必須 | 例 | 説明 |
Action | String | はい | BatchCheckDeviceNames | 実行する操作。値を BatchCheckDeviceNames に設定します。 |
ProductKey | String | はい | a1BwAGV**** | デバイスが属するプロダクトの ProductKey。 |
IotInstanceId | String | いいえ | iot-cn-0pp1n8t**** | IoT インスタンスの ID。IoT Platform コンソールの 概要 ページでインスタンスの ID を表示できます。 重要
詳細については、IoT インスタンスの 概要 トピックをご参照ください。 |
DeviceName.N | RepeatList | いいえ | light | デバイスの名前。DeviceName は、プロダクト内で一意である必要があります。DeviceName は 4 ~ 32 文字で、文字、数字、ハイフン(-)、アンダースコア(_)、アットマーク(@)、ピリオド(.)、コロン(:)を含めることができます。 このパラメーターまたは DeviceNameList.N.DeviceName パラメーターを指定する必要があります。このパラメーターと DeviceNameList.N.DeviceName パラメーターを同時に指定した場合、DeviceNameList.N.DeviceName パラメーターの値が優先されます。 説明 1 回の呼び出しで最大 10,000 個の DeviceName を指定できます。DeviceName の数が制限を超えた場合、超過分の DeviceName は破棄されます。 |
DeviceNameList.N.DeviceName | String | いいえ | light1 | デバイスの名前。DeviceName は、プロダクト内で一意である必要があります。DeviceName は 4 ~ 32 文字で、文字、数字、ハイフン(-)、アンダースコア(_)、アットマーク(@)、ピリオド(.)、コロン(:)を含めることができます。 このパラメーターまたは DeviceName.N パラメーターを指定する必要があります。このパラメーターと DeviceName.N パラメーターを同時に指定した場合、このパラメーターの値が優先されます。 説明 1 回の呼び出しで最大 10,000 個の DeviceName を指定できます。DeviceName の数が制限を超えた場合、超過分の DeviceName は破棄されます。 |
DeviceNameList.N.DeviceNickname | String | いいえ | Smart light 1 | デバイスのエイリアス。エイリアスは 4 ~ 64 文字で、文字、数字、アンダースコア(_)を含めることができます。 重要 このパラメーターを指定する場合は、DeviceNameList.N.DeviceName パラメーターも指定する必要があります。 |
上記の操作固有のリクエストパラメーターに加えて、この操作を呼び出すときは、共通のリクエストパラメーターを指定する必要があります。共通リクエストパラメーターの詳細については、共通パラメーターをご参照ください。
レスポンスパラメーター
パラメーター | タイプ | 例 | 説明 |
Code | String | iot.system.SystemException | 呼び出しが失敗した場合に返されるエラーコード。詳細については、エラーコードをご参照ください。 |
Data | Struct | 呼び出しが成功した場合に返されるデータ。 | |
ApplyId | Long | 1295006 | 呼び出しが成功した場合に返されるアプリケーション ID(ApplyId)。BatchRegisterDeviceWithApplyId 操作を呼び出してデバイスを登録するときは、ApplyId パラメーターを指定する必要があります。 |
InvalidDetailList | InvalidDetailList の配列 | 登録に失敗したデバイスの無効な DeviceName の詳細。 | |
InvalidDetailList | |||
DeviceName | String | light | DeviceName。 |
ErrorMsg | String | The device name is illegal. | デバイスの登録に失敗した場合に返されるエラーメッセージ。 説明 複数のエラーメッセージは縦棒(|)で区切られます。 |
NickName | String | Smart Light 1 | デバイスのエイリアス。 |
InvalidDeviceNameList | List | { "InvalidDeviceName": [ "APT$", "aw" ] } | 登録に失敗した無効な DeviceName。 |
InvalidDeviceNicknameList | List | { "InvalidDeviceNickname": [ "APT$", "aw" ] } | 登録に失敗した無効なデバイスエイリアス。 |
RepeatedDeviceNameList | List | { "RepeatedDeviceName": [ "APT$", "aw" ] } | 登録に失敗した重複 DeviceName。 |
ErrorMessage | String | A system exception occurred. | 呼び出しが失敗した場合に返されるエラーメッセージ。 |
RequestId | String | E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565 | リクエスト ID。 |
Success | Boolean | true | リクエストが成功したかどうかを示します。有効な値:
|
例
リクエストの例
https://iot.cn-shanghai.aliyuncs.com/?Action=BatchCheckDeviceNames
&productKey=a1BwAGV****
&DeviceNameList.1.DeviceName=light1
&DeviceNameList.2.DeviceName=light2
&DeviceNameList.3.DeviceName=light3
&DeviceNameList.3.DeviceNickname=Smart light 3
&<共通リクエストパラメーター>
成功レスポンスの例
XML
形式
<BatchCheckDeviceNamesResponse>
<Data>
<ApplyId>1234567</ApplyId>
</Data>
<RequestId>E976E36B-6874-4FA4-8BC0-55F9BEC5E2EF</RequestId>
<Success>true</Success>
</BatchCheckDeviceNamesResponse>
JSON
形式
{
"Data": {
"ApplyId": 1234567
},
"RequestId": "E976E36B-6874-4FA4-8BC0-55F9BEC5E2EF",
"Success": true
}
エラーコード
エラーコードのリストについては、サービスエラーコードをご参照ください。