デバイスを配布するタスクを作成します。 デバイスが属するプロダクトはデフォルトで配布されます。
使用方法
デバイスを配布するには、次の手順を実行します。
1. この操作を非同期に呼び出して、デバイス配布タスクを作成し、JobId パラメーターを取得します。
2. JobId をリクエストパラメーターとして使用し、QueryDeviceDistributeJob 操作を繰り返し呼び出して、Status パラメーターを取得します。
Status パラメーターに次のいずれかの値が返された場合、配布タスクは終了します。
- 2: デバイス配布タスクは完了です。 この戻り値は、デバイスが配布されたことを示すものではありません。 各デバイスの配布結果を取得するには、次の手順を実行します。
- 3: 配布が予期せず中断されました。 エラーを処理した後、デバイス配布タスクを再度開始できます。
3. 手順 1 で返された JobId をリクエストパラメーターとして使用し、QueryDeviceDistributeDetail 操作を呼び出して、File パラメーターを取得します。 File パラメーターは、配布結果のファイル URL を示します。
4. ファイル URL を使用して配布結果を取得します。 Code パラメーターは、デバイスが配布されているかどうかを示します。 Code パラメーターの値が 200 の場合、デバイスは配布されています。
配布が失敗した場合、上記の手順を実行してデバイスを再度配布できます。
制限
- この操作は、次の エンドポイント を使用してのみ呼び出すことができます:
iot.cn-shanghai.aliyuncs.com。 - この操作を呼び出して、アカウント間でデバイスを配布することはできません。
- Alibaba Cloud アカウントごとに、最大 10 個のプロダクトまたはデバイスを配布するタスクを作成できます。 プロダクト配布タスクの作成方法の詳細については、「CreateProductDistributeJob」をご参照ください。
- Alibaba Cloud アカウントごとに、1 秒あたり最大 2 クエリ (QPS) を実行できます。説明 Alibaba Cloud アカウントの RAM ユーザーは、アカウントのクォータを共有します。
デバッグ
リクエストパラメーター
| パラメーター | タイプ | 必須 | 例 | 説明 |
| Action | String | はい | CreateDeviceDistributeJob | 実行する操作。 値を CreateDeviceDistributeJob に設定します。 |
| DeviceName.N | RepeatList | はい | RepeatList | 配布するデバイスの名前。 最大 10,000 個のデバイス名を指定できます。 |
| ProductKey | String | はい | a1BwAGV**** | デバイスが属するプロダクトの ProductKey。 |
| SourceInstanceId | String | はい | iot-060*** | デバイスが属するソースインスタンスの ID。
|
| Strategy | Integer | はい | 0 | 配布ポリシー。 デフォルト値: 0。
|
| TargetInstanceConfig.N.TargetInstanceId | String | はい | iot-cn-6ja*** | デバイスが配布される宛先インスタンスの構成。 インスタンス ID の詳細については、SourceInstanceId パラメーターの説明をご参照ください。
|
| TargetUid | String | いいえ | 198*** | デバイスが属する Alibaba Cloud アカウントの ID。 IoT Platform コンソールにログインし、プロフィール写真をクリックして、セキュリティ設定 ページでアカウント ID を確認できます。 TargetUid パラメーターと TargetAliyunId パラメーターを同時に空にすることはできません。 |
| TargetAliyunId | String | いいえ | io****@example.com | デバイスが属する Alibaba Cloud アカウント。 IoT Platform コンソールにログインし、プロフィール写真をクリックして、セキュリティ設定 ページでアカウント ID を確認できます。 TargetUid パラメーターと TargetAliyunId パラメーターを同時に空にすることはできません。 |
上記の操作固有のリクエストパラメーターに加えて、この操作を呼び出すときは、共通リクエストパラメーターを指定する必要があります。 詳細については、「共通リクエストパラメーター」をご参照ください。
レスポンスパラメーター
| パラメーター | タイプ | 例 | 説明 |
| Code | String | iot.system.SystemException | 呼び出しが失敗した場合に返されるエラーコード。 詳細については、「エラーコード」をご参照ください。 |
| ErrorMessage | String | システム例外が発生しました。 | 呼び出しが失敗した場合に返されるエラーメッセージ。 |
| JobId | String | UbmsMHmkqv0PiAG****010001 | 呼び出しが成功した場合に返されるタスク ID。 この ID は、タスクをグローバルに識別します。 |
| RequestId | String | E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565 | リクエストの ID。 |
| Success | Boolean | true | 呼び出しが成功したかどうかを示します。
|
例
リクエストの例
http(s)://iot.cn-shanghai.aliyuncs.com/?Action=CreateDeviceDistributeJob
&DeviceName.1=RepeatList
&ProductKey=a1BwAGV****
&SourceInstanceId=iot-060***
&Strategy=0
&TargetInstanceConfig.1.TargetInstanceId=iot-cn-6ja***
&TargetAliyunId=io****@example.com
&<共通リクエストパラメーター>成功レスポンスの例
XML 形式
<CreateDeviceDistributeJobResponse>
<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>
<JobId>UbmsMHmkqv0PiAG****010001</JobId>
<Success>true</Success>
</CreateDeviceDistributeJobResponse>JSON 形式
{
"RequestId": "E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565",
"JobId": "UbmsMHmkqv0PiAG****010001",
"Success": true
}エラーコード
エラーコードのリストについては、API エラーセンター をご参照ください。