すべてのプロダクト
Search
ドキュメントセンター

IoT Platform:BatchPub

最終更新日:Apr 17, 2025

カスタムトピックを使用して、プロダクトの複数のデバイスに一度にメッセージを送信します。

使用上の注意

  • この操作を呼び出して、プロダクトの最大 100 台のデバイスに一度にメッセージを送信できます。
  • BatchPub 操作は、プロパティの設定やサービスの呼び出しのコマンドを送信するために使用することはできません。プロパティを設定する場合は、SetDeviceProperty または SetDevicesProperty 操作を呼び出します。サービスを呼び出す場合は、InvokeThingService または InvokeThingsService 操作を呼び出します。

QPS 制限

この操作は、アカウントごとに 1 秒あたり最大 50 回呼び出すことができます。

説明

Alibaba Cloud アカウントの Resource Access Management (RAM) ユーザーは、アカウントのクォータを共有します。

デバッグ

OpenAPI Explorer は署名値を自動的に計算します。便宜上、OpenAPI Explorer でこの操作を呼び出すことをお勧めします。 OpenAPI Explorer は、さまざまな SDK の操作のサンプルコードを動的に生成します。

リクエストパラメーター

パラメーター

タイプ

必須

例

説明

Action String Yes BatchPub

実行する操作。値を BatchPub に設定します。

DeviceName.N RepeatList Yes newdevice1

メッセージを送信するデバイスの DeviceName。

説明

  • このパラメーターは、ProductKey パラメーターと一緒に使用されます。指定されたデバイスは同じプロダクトに属している必要があります。

  • 1 つのリクエストで最大 100 個のデバイス名を指定できます。各デバイス名は一意である必要があります。
MessageContent String Yes eyJ0ZXN0IjoidGFzayBiYXRjaHB1YiBicm9hZGNhc3QifQ==

送信するメッセージの本文。メッセージの最大サイズは 256 KB です。

メッセージ本文を生成するには、生のメッセージをバイナリデータに変換し、Base64 エンコーディングを実行します。

説明

IoT Platform は Base64 アルゴリズムを使用してデータをデコードし、デコードされたメッセージをデバイスに送信します。このようにして、デバイスは Base64 でエンコードされたデータをデコードする必要がありません。

ProductKey String Yes a1BwAGV****

デバイスが属するプロダクトの ProductKey。

TopicShortName String Yes get

カスタムトピックの接尾辞。 カスタムトピックの名前は、/${productKey}/${deviceName}/user/${TopicShortName} の形式です。 ${TopicShortName} は接尾辞を指定します。

説明

トピックに対して Subscribe 権限または Publish and Subscribe 権限を指定する必要があります。指定されたすべてのデバイスがトピックにサブスクライブしていることを確認してください。

カスタムトピックを表示するには、次の方法を使用できます。

  • [プロダクトの詳細] ページの トピック カテゴリ タブで、プロダクトのカスタムトピックを表示します。
  • [デバイスの詳細] ページの トピック一覧 タブで、デバイスがサブスクライブしているカスタムトピックを表示します。
  • QueryProductTopic 操作を呼び出して、プロダクトのカスタムトピックをクエリします。
IotInstanceId String No iot-cn-0pp1n8t****

インスタンス ID。IoT Platform コンソールの ID概要 ページでインスタンスの を取得できます。

重要

  • インスタンスに ID がある場合は、このパラメーターを指定する必要があります。指定しないと、リクエストは失敗します。
  • IoT Platform コンソールに 概要 ページまたはインスタンス ID が表示されない場合は、このパラメーターを指定する必要はありません。

詳細については、「概要」をご参照ください。

Qos Integer No 0

メッセージのサービス品質 (QoS) レベル。有効な値:

  • 0: システムはメッセージを最大 1 回送信します。
  • 1: システムはメッセージを少なくとも 1 回送信します。

デフォルト値: 0。

説明

IoT Platform は、QoS レベルが 1 のメッセージを最大 7 日間保存します。 IoT Platform は、QoS レベルが 0 のメッセージを保存しません。

上記の操作固有のリクエストパラメーターに加えて、この操作を呼び出すときは、共通のリクエストパラメーターを指定する必要があります。詳細については、「共通パラメーター」をご参照ください。

レスポンスパラメーター

パラメーター

タイプ

例

説明

Code String iot.system.SystemException

リクエストが失敗した場合に返されるエラーコード。詳細については、「エラーコード」をご参照ください。

ErrorMessage String A system exception occurred.

リクエストが失敗した場合に返されるエラーメッセージ。

RequestId String E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565

リクエスト ID。

Success Boolean true

リクエストが成功したかどうかを示します。有効な値:

  • true
  • false

例

リクエストの例

http(s)://iot.cn-shanghai.aliyuncs.com/?Action=BatchPub
&DeviceName.1=newdevice1
&MessageContent=eyJ0ZXN0IjoidGFzayBiYXRjaHB1YiBicm9hZGNhc3QifQ==
&ProductKey=a1BwAGV****
&TopicShortName=get
&<Common request parameters>

成功レスポンスの例

XML 形式

<BatchPubResponse>
  <RequestId>9E76053E-26ED-4AB4-AE58-8AFC3F1E7E8E</RequestId>
  <Success>true</Success>
</BatchPubResponse>

JSON 形式

{
  "RequestId": "9E76053E-26ED-4AB4-AE58-8AFC3F1E7E8E",
  "Success": true
}

エラーコード

エラーコードのリストについては、「サービスエラーコード」をご参照ください。