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

IoT Platform:UpdateTopicConfig

最終更新日:Apr 17, 2025

カスタム Topic に対するデバイスの権限を付与し、ブロードキャスト機能、委任サブスクリプション機能、およびデータ圧縮または展開機能を有効にするかどうかを指定します。

使用上の注意

最大 1,000 台のデバイスのカスタム Topic のブロードキャストメッセージをサブスクライブできます。 1,000 台を超えるデバイスのカスタム Topic のブロードキャストメッセージをサブスクライブする場合は、Message Queuing Telemetry Transport(MQTT) 5.0 を使用して通信し、カスタム Topic のブロードキャスト機能を有効にして、カスタム Topic のメッセージを保存メッセージとして指定できます。

次の手順を実行します。

1. UpdateTopicConfig 操作を呼び出し、EnableBroadcast パラメーターを true に設定して、カスタム Topic がメッセージをブロードキャストできるようにします。この例では、/broadcast/a1Q5XoY****/test カスタム Topic が使用されています。

2. Pub 操作を呼び出して、/broadcast/a1Q5XoY****/test Topic にメッセージをブロードキャストし、Retained パラメーターを true に設定して、メッセージを保存メッセージとして指定します。

3. SubscribeTopic 操作を呼び出して、デバイスの /broadcast/a1Q5XoY****/test Topic をサブスクライブします。このようにして、デバイスはカスタム Topic から保存メッセージを受信できます。

QPS 制限

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

説明 Alibaba Cloud アカウントの RAM ユーザーは、アカウントのクォータを共有します。

デバッグ

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

リクエストパラメーター

パラメーター

タイプ

必須

説明

Action String Yes UpdateTopicConfig

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

ProductKey String Yes a1Q5XoY****

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

TopicFullName String Yes /broadcast/a1Q5XoY****/test

カスタム Topic の名前。

  • MQTT クラウドゲートウェイデバイスを使用する場合は、デバイスの元のカスタム Topic がカスタム Topic として使用されます。詳細については、「トピック」をご参照ください。
  • /broadcast/${productKey}/${カスタムフィールド} 形式または /${productKey}/${deviceName}/user/${カスタムフィールド} 形式でカスタム Topic を指定します。カスタム Topic を使用してメッセージをブロードキャストする場合は、/broadcast/${productKey}/${カスタムフィールド} 形式でカスタム Topic を指定します。 ${productKey} 変数の値は、ProductKey パラメーターの値と同じです。 ${カスタムフィールド} 変数はカスタムフィールドを指定します。
重要 カスタム Topic を使用してメッセージをブロードキャストする場合は、次の点に注意してください。
  • デバイスを構成するときは、トピックを定義するコードを記述する必要があります。 IoT Platform コンソールでトピックを作成する必要はありません。
  • トピックをサブスクライブするデバイスは、トピックに対する サブスクライブまたは パブリッシュとサブスクライブの権限を持っている必要があります。
IotInstanceId String No iot-0pp1n8t****

インスタンスの ID。 IoT Platform コンソール の [概要] タブでインスタンスの ID を確認できます。

重要
  • インスタンスに ID がある場合は、このパラメーターに ID を指定する必要があります。指定しない場合、呼び出しは失敗します。
  • インスタンスに ID がない場合は、パラメーターを構成する必要はありません。

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

EnableBroadcast Boolean No true

ブロードキャスト機能を有効にするかどうかを指定します。有効な値:

  • true: ブロードキャスト機能を有効にします。
  • false: ブロードキャスト機能を無効にします。
Operation String No SUB

Topic カテゴリでデバイスに付与する権限。有効な値:

  • SUB: サブスクライブ
  • PUB: パブリッシュ
  • ALL: パブリッシュとサブスクライブ
EnableProxySubscribe Boolean No false

Operation パラメーターを SUB または ALL に設定した場合、委任サブスクリプション機能を有効にできます。

有効な値:

  • true: 委任サブスクリプション機能を有効にします。
  • false: 委任サブスクリプション機能を無効にします。

トピックの委任サブスクリプション機能を有効にすると、IoT Platform はトピックの詳細を取得し、デバイスを IoT Platform に接続するときにデバイスがトピックをサブスクライブするのを支援します。

Codec String No compress

カスタム Topic のデータ圧縮または展開機能を有効にするかどうかを指定します。このパラメーターは、Standard または Exclusive Enterprise Edition インスタンスを使用する場合にのみ使用できます。

有効な値:

  • compress: データ圧縮を有効にします。
  • decompress: データ展開を有効にします。

詳細については、「データ圧縮」をご参照ください。

Description String No submit a test topic

トピックの説明。説明は 1 ~ 100 文字でなければなりません。

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

レスポンスパラメーター

パラメーター

タイプ

説明

Code String iot.system.SystemException

呼び出しが失敗した場合に返されるエラーコード。詳細については、このトピックの「エラーコード」セクションをご参照ください。

Message String A system exception occurred.

呼び出しが失敗した場合に返されるエラーメッセージ。

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

リクエストの ID。

Success Boolean true

呼び出しが成功したかどうかを示します。有効な値:

  • true: 呼び出しは成功しました。
  • false: 呼び出しは失敗しました。

リクエストの例

https://iot.cn-shanghai.aliyuncs.com/?Action=UpdateTopicConfig
&EnableBroadcast=true
&ProductKey=a1Q5XoY****
&TopicFullName=/broadcast/a1Q5XoY****/test
&IotInstanceId=iot-0pp1n8t****
&<共通リクエストパラメーター>

成功レスポンスの例

XML 形式

<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>
<Code/>
<Success>true</Success>

JSON 形式

{
    "RequestId": "E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565",
    "Code": "",
    "Success": true
}

エラーコード

HttpCode

エラーコード

エラーメッセージ

説明

400 iot.message.broker.ParamCheckError Param check error. パラメーターの値を確認できませんでした。
400 iot.message.broker.ProductCheckError Product check error. プロダクトの認証に失敗しました。
400 iot.message.broker.TopicConfigNumExceed Topic config num exceed. 指定したトピックの数が制限を超えています。
400 iot.message.broker.SystemError System error. システム例外が発生しました。
400 iot.messagebroker.InvalidPubTopicFormat The pub topic cannot contain wildcard characters. メッセージを送信するトピックの名前には、ワイルドカード文字を含めることはできません。
400 iot.messagebroker.InvalidOperationWithBroadcast The operation must be sub for enabling broadcast. ブロードキャスト機能が有効になっているトピックでは、デバイスはサブスクライブ操作のみを実行できます。
400 iot.messagebroker.InvalidTopicWithBroadcast Topics for which broadcast is enabled cannot contain wildcard characters. ブロードキャスト機能が有効になっているトピックの名前には、ワイルドカード文字を含めることはできません。
400 iot.messagebroker.InvalidOperationWithProxySubscribe The operation must be sub or all for enabling proxy subscription. 委任サブスクリプション機能が有効になっているトピックでは、デバイスはサブスクライブ操作またはすべての操作のみを実行できます。
400 iot.messagebroker.InvalidTopicWithProxySubscribe Topics for which proxy subscription is enabled cannot contain wildcard characters. 委任サブスクリプション機能が有効になっているトピックの名前には、ワイルドカード文字を含めることはできません。
400 iot.messagebroker.InvalidTopicWithCodec Topics for which compression and decompression are enabled cannot contain wildcard characters. 圧縮または展開機能が有効になっているトピックの名前には、ワイルドカード文字を含めることはできません。
400 iot.messagebroker.InvalidInstanceWithCodec Only Exclusive Enterprise Edition instances support compression and decompression. Exclusive Enterprise Edition インスタンスのみがデータ圧縮または展開機能をサポートしています。
400 iot.prod.NotExistedProduct The specified product does not exist. 指定したプロダクトは存在しません。

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