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

IoT Platform:UpdateRule

最終更新日:Apr 17, 2025

指定されたルールを変更します。

制限

Alibaba Cloud アカウントごとに、最大 50 クエリ/秒(QPS)を実行できます。

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

デバッグ

Alibaba Cloud は、API の使用を簡素化するために OpenAPI Explorer を提供しています。 OpenAPI Explorer は署名値を自動的に計算します。便宜上、OpenAPI Explorer でこの操作を呼び出すことをお勧めします。 OpenAPI Explorer は、さまざまな SDK 用の操作のサンプルコードを動的に生成します。

リクエストパラメーター

パラメータータイプ必須説明
ActionStringはいUpdateRule

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

RuleIdLongはい100000

変更するルールの ID。IoT Platform コンソールにログインし、[ルール] > [データ転送] を選択して、ルール ID を表示できます。ListRule オペレーションを呼び出し、レスポンスでルール ID を表示することもできます。

IotInstanceIdStringいいえiot-cn-0pp1n8t****

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

重要
  • インスタンスに ID がある場合は、このパラメーターを設定する必要があります。このパラメーターを設定しないと、呼び出しは失敗します。
  • インスタンスに [概要] ページまたは ID がない場合は、このパラメーターを設定する必要はありません。

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

SelectStringいいえdeviceName() as deviceName, items.Humidity.value as Humidity, items.Temperature.value as Temperature

実行する SQL SELECT 文。詳細については、「SQL 式」をご参照ください。

説明 このパラメーターには、SELECT キーワードに続くコンテンツを指定します。たとえば、SELECT 文が SELECT a,b,c の場合、このパラメーターには a,b,c を指定します。
ShortTopicStringいいえ+/thing/event/property/post

このルールが適用されるトピック。構文:${deviceName}/topicShortName${deviceName} はデバイスの名前を指定し、topicShortName はトピックのカスタム名を指定します。

  • 基本的な通信トピックまたは Thing Specification Language(TSL)ベースの通信トピック。構文:${deviceName}/topicShortName${deviceName} はワイルドカード + に置き換えることができます。ワイルドカードは、トピックがプロダクト配下のすべてのデバイスに適用されることを示します。topicShortName の有効な値:
    • /thing/event/property/post:デバイスのプロパティデータを送信します。
    • /thing/event/${tsl.event.identifier}/post:デバイスのイベントデータを送信します。${tsl.event.identifier} は、TSL モデルのイベントの識別子を指定します。
    • /thing/lifecycle:デバイスのライフサイクルの変更を送信します。
    • /thing/downlink/reply/message:IoT Platform からのリクエストに応答を送信します。
    • /thing/list/found:ゲートウェイが新しいサブデバイスを検出したときにデータを送信します。
    • /thing/topo/lifecycle:デバイスのトポロジーの変更を送信します。
    • /thing/event/property/history/post:デバイスの履歴プロパティデータを送信します。
    • /thing/event/${tsl.event.identifier}/post:デバイスの履歴イベントデータを送信します。${tsl.event.identifier} は、TSL のイベントの識別子を指定します。
    • /ota/upgrade:ファームウェアアップデートステータスを送信します。
    • /ota/version/post:OTA モジュールバージョンを送信します。
    • /thing/deviceinfo/update:デバイスタグの変更を送信します。
    • /edge/driver/${driver_id}/point_post:Link IoT Edge からのパススルーデータを送信します。${driver_id} は、デバイスが Link IoT Edge にアクセスするために使用するドライバーの ID を指定します。

      ${packageId}/${jobId}/ota/job/status:ファームウェアアップデートバッチのステータスを送信します。このトピックは基本的な通信トピックです。${packageId} はアップデートパッケージの ID を指定します。${jobId} はアップデートバッチの ID を指定します。

  • カスタムトピック。例:${deviceName}/user/get

    QueryProductTopic オペレーションを呼び出して、プロダクトのすべてのカスタムトピックを表示できます。

    カスタムトピックを指定する場合、ワイルドカード +# を使用できます。

    • ${deviceName} はワイルドカード + に置き換えることができます。ワイルドカードは、トピックがプロダクト配下のすべてのデバイスに適用されることを示します。
    • ${deviceName} に続くフィールドは /user/# に置き換えることができます。ワイルドカード # は、/user に続くフィールドにどのような値が指定されていても、トピックが適用されることを示します。

      ワイルドカードの使用方法の詳細については、「トピックのワイルドカード」をご参照ください。

  • デバイスのステータス変更を送信するために使用されるトピック:${deviceName}

    ワイルドカード + を使用できます。この場合、プロダクト配下のすべてのデバイスのステータス変更が送信されます。

WhereStringいいえTemperature>35

ルールをトリガーするために使用される条件。詳細については、「SQL 式」をご参照ください。

説明 このパラメーターには、WHERE キーワードに続くコンテンツを指定します。たとえば、WHERE 文が WHERE a>10 の場合、このパラメーターには a>10 を指定します。
ProductKeyStringいいえaladaeW****

ルールが適用されるプロダクトの ProductKey

NameStringいいえtest_2

ルールの名前。ルール名は 1 ~ 30 文字で、文字、数字、アンダースコア(_)、ハイフン(-)を含めることができます。

RuleDescStringいいえtest

ルールの説明。説明は最大 100 文字まで入力できます。

TopicTypeIntegerいいえ1
  • 0:トピックは基本的な通信トピックまたは TSL ベースの通信トピックです
  • 1:トピックはカスタムトピックです。
  • 2:トピックは、デバイスのステータス変更を送信するために使用されます。構文:/as/mqtt/status/${productKey}/${deviceName}
TopicStringいいえ/sys/g18l***/device1/thing/event/property/post

ルールが適用される完全なトピック。

このパラメーターを指定する場合は、ProductKeyShortTopicTopicType パラメーターを指定する必要はありません。

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

レスポンスパラメーター

パラメータータイプ説明
CodeStringiot.system.SystemException

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

ErrorMessageStringシステム例外が発生しました。

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

RequestIdString9A2F243E-17FE-4846-BAB5-D02A25155AC4

リクエストの ID。

SuccessBooleantrue

呼び出しが成功したかどうかを示します。

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

リクエストの例

https://iot.cn-shanghai.aliyuncs.com/?Action=UpdateRule
&RuleId=100000
&Name=test_2
&ProductKey=aladaeW****
&ShortTopic=+/thing/event/property/post
&Select=deviceName() as deviceName, items.Humidity.value as Humidity, items.Temperature.value as Temperature
&RuleDesc=test
&Where=a>10
&TopicType=1
&<共通リクエストパラメーター>

成功レスポンスの例

XML 形式

<UpdateRuleResponse>
      <RequestId>9A2F243E-17FE-4874-QBB5-D02A25155AC8</RequestId>
      <Success>true</Success>
</UpdateRuleResponse>

JSON 形式

{
    "RequestId":"9A2F243E-17FE-4846-BAB5-D02A25155AC4",
    "Success":true
}

エラーコード

エラーコードのリストについては、API エラーセンター をご確認ください。