

AWS IoT FleetWise は、2026 年 4 月 30 日をもって新規顧客に公開されなくなります。既存の AWS IoT FleetWise のお客様は、このサービスを引き続き使用できます。[の「接続モビリティのガイダンス AWS](https://aws.amazon.com/solutions/guidance/connected-mobility-on-aws/)」では、 AWS IoT FleetWise と同等の機能を実現するために使用できる接続モビリティソリューションのモジュラーサービスを開発およびデプロイする方法に関するガイダンスを提供します。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 状態テンプレートを使用して状態データ収集をアクティブ化または非アクティブ化する
<a name="start-stop-data-ingestion"></a>

**重要**  
現在、特定の AWS IoT FleetWise 機能へのアクセスはゲートされています。詳細については、「[AWS AWS IoT FleetWise でのリージョンと機能の可用性](fleetwise-regions.md)」を参照してください。

以下のセクションでは、 を使用して状態テンプレートによるデータ取り込みをアクティブ化および非アクティブ化する方法について説明します AWS CLI。

**重要**  
開始する前に、[状態テンプレート](state-templates.md)を既に作成し、そのテンプレートとその更新戦略を車両に関連付けていることを確認してください。

エッジエージェントがクラウドにシグナル更新を送信できるように、状態テンプレートをアクティブ化する必要があります。

状態テンプレートを使用してこれらのオペレーションを実行するには、まずコマンドリソースを作成し、次に車両でコマンド実行を開始します。次のセクションでは、この API を使用する方法と、データインジェストを有効または無効にする方法について説明します。

**Topics**
+ [`CreateCommand` API を使用する場合](#start-stop-ingestion-create-command)
+ [例: 状態テンプレートをアクティブ化する](#start-stop-ingestion-activate-template)
+ [例: 状態テンプレートを非アクティブ化する](#start-stop-ingestion-deactivate-template)

## `CreateCommand` API を使用する場合
<a name="start-stop-ingestion-create-command"></a>

`AWS-IoTFleetwise`「」名前空間にコマンドリソースを作成し、状態テンプレートのコマンドリソースを作成または送信するときに、次のパラメータを使用します。
+ `$stateTemplate.name` – オペレーションを実行するステートテンプレートの名前。オペレーションを実行する前に、状態テンプレートを車両に適用する必要があります。詳細については、「[AWS IoT FleetWise 状態テンプレートを車両に関連付ける](state-templates.md#apply-state-templates)」を参照してください。
+ `$stateTemplate.operation` – 状態テンプレートで実行されるオペレーション。このパラメータには、次のいずれかの値を使用します。
  + `activate` – エッジエージェントは、状態テンプレートを車両に適用したときに、`stateTemplateUpdateStrategy`指定した (変更時または定期的な) に基づいて、クラウドへのシグナル更新の送信を開始します。詳細については、「[AWS IoT FleetWise 状態テンプレートを車両に関連付ける](state-templates.md#apply-state-templates)」を参照してください。

    また、自動状態テンプレートの非アクティブ化時間を定義して、指定した期間後に更新を停止することもできます。自動非アクティブ化時間が指定されていない場合、状態テンプレートは非アクティブ化呼び出しが発行されるまで更新を送信し続けます。

    `activate` コマンドを受信するとすぐに、デバイスは更新戦略に従って状態テンプレートで指定されたシグナルを送信する必要があります。 AWS IoT FleetWise では、デバイスがアクティブ化コマンドを受信すると、送信する最初のメッセージに状態テンプレート内のすべてのシグナルのスナップショットを含めることをお勧めします。以降のメッセージは、更新戦略に従って送信する必要があります。
  + `deactivate` – エッジエージェントは、クラウドへのシグナル更新の送信を停止します。
  + `fetchSnapshot` – エッジエージェントは、状態テンプレートを車両に適用したときに`stateTemplateUpdateStrategy`指定した に関係なく、状態テンプレートで定義されたシグナルの 1 回限りのスナップショットを送信します。
+ (オプション) `$stateTemplate.deactivateAfterSeconds` – 状態テンプレートは、指定された時間後に自動的に非アクティブ化されます。このパラメータは、 パラメータの値が`$stateTemplate.operation`「アクティブ」の場合にのみ使用できます。このパラメータが指定されていない場合、またはこのパラメータの値が 0 の場合、エッジエージェントは状態テンプレートの「非アクティブ化」オペレーションを受信するまで、シグナル更新をクラウドに送信し続けます。状態テンプレートが自動的に非アクティブ化されることはありません。

  最小値: 0、最大値: 4294967295。

**注記**  
API は、既にアクティブな状態にあるテンプレートのアクティベーションリクエストに応答して成功を返します。
API は、すでに非アクティブ化状態にあるテンプレートの非アクティブ化リクエストに応答して成功を返します。
状態テンプレートに対して行った最新のリクエストは、有効になるリクエストです。たとえば、状態テンプレートを 1 時間以内に非アクティブ化するようにリクエストし、同じテンプレートを 4 時間以内に非アクティブ化するように 2 回目のリクエストを行うと、4 時間の非アクティブ化は最新のリクエストであるために有効になります。

**重要**  
検証例外は、次のいずれかのシナリオで発生する可能性があります。  
車両`ASSOCIATED`に付属していない状態テンプレートが提供されます。
状態テンプレートをアクティブ化するリクエストは行われますが、車両`DEPLOYED`にはありません。
状態テンプレートへのリクエストは行われますが、車両`DELETED`上にあります。

## 例: 状態テンプレートをアクティブ化する
<a name="start-stop-ingestion-activate-template"></a>

状態テンプレートをアクティブ化するには、まずコマンドリソースを作成します。その後、状態テンプレートをアクティブ化する車両に次のコマンドを送信できます。この例では、コマンドの作成時にパラメータのデフォルト値を指定する方法を示します。これらのパラメータとその値は、コマンド実行を開始して状態テンプレートをアクティブ化するときに使用されます。

1. 

**コマンドリソースを作成する**

   車両にコマンドを送信する前に、コマンドリソースを作成する必要があります。コマンドを車両に送信するときに、必須パラメータの代替値を指定できます。詳細については、「[コマンドリソースを作成する](create-manage-remote-command-cli.md#create-remote-command-cli)」を参照してください。
**重要**  
`$stateTemplate.name` および `$stateTemplate.operation`パラメータは、文字列データ型として指定する必要があります。他のデータ型が指定されている場合、またはこれら 2 つのパラメータのいずれかが欠落している場合、コマンドの実行は検証例外で失敗します。`$stateTemplate.deactivateAfterSeconds` パラメータは`Long`データ型として指定する必要があります。

   ```
   aws iot create-command \
       --description "This command activates a state template on a vehicle"
       --command-id ActivateStateTemplate \
       --display-name "Activate State Template" \
       --namespace AWS-IoTFleetWise \
       --mandatory-parameters '[
       {
           "name": "$stateTemplate.name",
           "defaultValue": {"S": "ST123"}
       },
       {
           "name": "$stateTemplate.operation",
           "defaultValue": {"S": "activate"}
       },
       {
           "name": "$stateTemplate.deactivateAfterSeconds",
           "defaultValue": {"L": "120"}
       } 
   ]'
   ```

1. 

**車両でコマンド実行を開始する**

   コマンドを作成したら、コマンドを車両に送信します。コマンドリソースの作成時に必須パラメータの値を指定しなかった場合は、今すぐ指定する必要があります。詳細については、「[コマンドを送信する (AWS CLI)](send-monitor-remote-command-cli.md#send-remote-command-cli)」を参照してください。
**重要**  
API オペレーションには、アカウント固有の AWS IoT ジョブデータプレーン API エンドポイントを使用していることを確認してください。

   ```
   aws iot-jobs-data start-command-execution \
       --endpoint-url <endpoint-url> \
       --command-arn arn:aws:iot:{{region}}:{{111122223333}}:command/ActivateStateTemplate \
       --target-arn arn:aws:iot:{{region}}:{{111122223333}}:thing/{{<VEHICLE_NAME>}}
   ```

1. 

**状態テンプレートオペレーションのステータスを取得する**

   コマンドの実行を開始したら、 `GetCommandExecution` API を使用して状態テンプレートを取得できます。

   ```
   aws iot get-command-execution --execution-id {{<EXECUTION_ID>}} 
   ```

## 例: 状態テンプレートを非アクティブ化する
<a name="start-stop-ingestion-deactivate-template"></a>

状態テンプレートを非アクティブ化するには、まずコマンドリソースを作成します。その後、状態テンプレートを非アクティブ化する車両に次のコマンドを送信できます。この例では、コマンドの作成時にパラメータのデフォルト値を指定する方法を示します。これらのパラメータとその値は、コマンド実行を開始して状態テンプレートを非アクティブ化するときに使用されます。

1. 

**コマンドリソースを作成する**

   車両にコマンドを送信する前に、コマンドリソースを作成する必要があります。コマンドを車両に送信するときに、必須パラメータの代替値を指定できます。詳細については、「[コマンドリソースを作成する](create-manage-remote-command-cli.md#create-remote-command-cli)」を参照してください。

   ```
   aws iot create-command \
       --description "This command deactivates a state template on a vehicle"
       --command-id DeactivateStateTemplate \
       --display-name "Deactivate State Template" \
       --namespace AWS-IoTFleetWise \
       --mandatory-parameters '[
       {
           "name": "$stateTemplate.name",
           "defaultValue": {"S": "ST123"}
       },
       {
           "name": "$stateTemplate.operation",
           "defaultValue": {"S": "deactivate"}
       }    
   ]'
   ```

1. 

**車両でコマンド実行を開始する**

   コマンドを作成したら、コマンドを車両に送信します。コマンドリソースの作成時に必須パラメータの値を指定しなかった場合は、今すぐ指定する必要があります。詳細については、「[コマンドを送信する (AWS CLI)](send-monitor-remote-command-cli.md#send-remote-command-cli)」を参照してください。

   ```
   aws iot-jobs-data start-command-execution \
       --endpoint-url <endpoint-url> \
       --command-arn arn:aws:iot:{{region}}:{{111122223333}}:command/DeactivateStateTemplate \
       --target-arn arn:aws:iot:{{region}}:{{111122223333}}:thing/{{<VEHICLE_NAME>}}
   ```

1. 

**状態テンプレートオペレーションのステータスを取得する**

   コマンドの実行を開始したら、 `GetCommandExecution` API を使用して状態テンプレートを取得できます。

   ```
   aws iot get-command-execution  --execution-id {{<EXECUTION_ID>}} 
   ```