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

IoT Platform:バッチサービス呼び出しタスクの作成

最終更新日:Mar 27, 2025

複数のデバイスで非同期サービスを同時に呼び出す場合は、IoT Platform コンソールでバッチプロパティ構成タスクを作成できます。このトピックでは、バッチサービス呼び出しタスクを作成し、タスクに関する情報を表示する方法について説明します。 また、タスクの実行中に使用されるトピックと対応するメッセージ形式についても説明します。

前提条件

  • 呼び出したい非同期サービスを持つデバイスが属するプロダクトに対して、Thing Specification Language(TSL)モデルが定義されており、非同期サービスは同じ識別子を持っている必要があります。 詳細については、「TSL 機能を一括追加する」をご参照ください。

  • デバイスに対して TSL サービス呼び出し機能が構成されています。 詳細については、「概要」をご参照ください。

タスク管理プロセス

  1. バッチサービス呼び出しタスクを作成します。

    1. IoT Platform コンソールで、管理するインスタンスを見つけ、インスタンス名をクリックします。 [インスタンスの詳細] ページの左側のナビゲーションウィンドウで、[メンテナンス] > [タスク] を選択します。 [タスク] ページで、[タスクの作成] をクリックします。
    2. [タスクの作成] ページで、[タスクの作成] と [タスクの構成] の手順で表示されるパラメーターを構成し、[完了] をクリックします。 パラメーターに関する情報を表示するには、パラメーターの横にある 帮助 アイコンにポインターを移動します。 次の表にパラメーターを示します。

      • タスクの作成

        パラメーター

        説明

        タスク名

        タスクの有効な名前を指定します。 カスタム名を指定できます。

        タスクタイプ

        パラメーターを [バッチサービス呼び出しタスク] に設定します。

        タスクの説明

        タスクの目的などの情報を指定します。これはタスクを識別するために使用できます。

        宛先デバイス、プロダクト、またはグループ

        タスクを実行するデバイスを選択します。 個別のデバイス、プロダクト別のデバイス、またはグループ別のデバイスを選択できます。
        重要 グループ別にデバイスを選択する場合、動的グループは選択できません。

        デバイスに発行されるタスク実行ルール

        ルールファイルをアップロードします。 ファイルは JSON 形式である必要があり、サイズは 64 KB を超えることはできません。

        [テンプレートのダウンロード] をクリックしてルールテンプレートを取得できます。

        次のサンプルコードは、名前が データコンピューティング で、[識別子]Operation_Service で、[呼び出しメソッド] パラメーターが [非同期] で、入力パラメーターが [int32] データ型の である TSL サービスを定義しています。

        {
            "serviceIdentifier": "Operation_Service",
            "params": {
                "NumberA": 32,
                "NumberB": 56
            }
        }
        • serviceIdentifier: サービスの一意の識別子を指定します。 デバイスのサービス識別子を表示するには、IoT Platform コンソールで、デバイスが属するプロダクトの [機能の定義] タブに移動します。

          識別子が Operation_Service であるサービスが testFb という名前のカスタムモジュールに属している場合は、キーと値のペアを "serviceIdentifier": "testFb:Operation_Service" に設定します。 カスタムモジュールはデフォルトモジュールではありません。

        • params: サービスの入力パラメーターを指定します。 params には複数の入力パラメーターを構成できます。

      • タスクの構成
        パラメーター説明
        タスク実行レートビジネス要件に基づいて、1 分あたりにタスクをプッシュする回数を指定します。 このパラメーターは必須です。
        タスク実行タイムアウト期間このパラメーターは、カスタムタスクでのみ使用できます。 このパラメーターを構成する必要はありません。
        タスクスケジュール時間このパラメーターはオプションです。

        システムは、[タスクスケジュール時間] パラメーターに指定した時間の後、特定の期間にタスクを実行します。

        タスクを作成した後、システムはタスクを開始しますが、実行時間が経過するまでタスクを実行しません。

  2. タスクを作成した後、IoT Platform は InvokeThingService または InvokeThingsService 操作を呼び出してサービスを呼び出し、指定されたデバイスにリクエストを非同期的にプッシュします。 次に、デバイスは IoT Platform に非同期的にレスポンスを返します。

    サンプルメッセージ:

    {
        "id": "123",
        "version": "1.0",
        "params": {
            "Power": "on",
            "WF": "2"
        },
        "method": "thing.service.${tsl.service.identifier}"
    }

    params には、ルールファイルの params と同じデータが含まれています。 {tsl.service.identifier} には、ルールファイルの serviceIdentifier と同じ値が含まれています。 この例では、次のメッセージが使用されます。

    {
      "id": "123",
      "version": "1.0",
      "params": {
        "NumberA": 32,
        "NumberB": 56
      },
      "method": "thing.service.Operation_Service"
    }

    Alink プロトコルの対応する使用上の注意については、「非同期モードでデバイスサービスを呼び出す」をご参照ください。

  3. IoT Platform コンソールで、タスクが属するインスタンスを見つけ、インスタンス名をクリックします。 [インスタンスの詳細] ページで、[メンテナンス] > [タスク] を選択します。 [タスク] ページで、作成したタスクのステータスを含む関連情報を確認できます。
    重要 タスクが [タイムアウト] 状態の場合、指定されたスケジュールに基づいてタスクを実行できなくなります。

    タスクのサブタスクが、タスクの作成後 7 日以内に実行に失敗した場合、タスクは [タイムアウト] 状態になります。

    ビジネス要件に基づいて、次の操作のいずれかを実行できます。

    • [タスク] ページで、[処理中] 状態のタスクをキャンセルします。
    • 管理するタスクを見つけ、[アクション] 列の [表示] をクリックします。 タスクの詳細ページで、タスク情報とタスク統計を表示します。
      タブ説明
      [タスク情報]タスク情報を表示し、タスクの説明とタスク構成を変更し、ルールファイルをダウンロードできます。
      [タスクサマリー]ステータス別のサブタスクの統計を表示できます。
      • 管理するデバイスを見つけ、[表示] をクリックして [デバイスの詳細] ページに移動します。
        • [タスク] タブで、デバイスのすべてのタスクを表示できます。
        • [デバイスログ] タブで、[表示] をクリックします。 [デバイスログ] ページで、[クラウド実行ログ] をクリックします。 [クラウド実行ログ] タブで、検索バーのワークロードタイプドロップダウンリストから [クラウドからデバイスへのメッセージ] を選択して、タスク関連のログを表示します。
      • サブタスクの実行に失敗した場合は、[アクション] 列の [実行の詳細] をクリックして、失敗の原因を表示します。
      • サブタスクがタイムアウトしたか、実行に失敗した場合は、[ステータス] 列の [タイムアウト] または [失敗] をクリックして、対応する状態のサブタスクを表示します。

        [タスク] ページの上部にある [再実行] をクリックして、現在のタスクの [タイムアウト] および [失敗] 状態にあるサブタスクを再実行します。

    • タスクの [アクション] 列の [削除] をクリックします。 表示されるメッセージで、[OK] をクリックします。
      警告 タスクを削除すると、タスクに関連するすべてのデータが削除されます。 ビジネスアプリケーションがタスクに基づいて実行されている場合、アプリケーションが使用できなくなり、ビジネスに影響を与える可能性があります。 慎重に行ってください。