

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="dtc-use-cases"></a>

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

次のユースケースでは、 `DTC_QUERY`関数が[デモスクリプト](https://github.com/aws/aws-iot-fleetwise-edge/blob/main/docs/dev-guide/edge-agent-uds-dtc-dev-guide.md)で定義されていることを前提としています。

## 定期的なフェッチ
<a name="dtc-periodic-fetch"></a>

設定された間隔で DTC コレクションを取得します。

次の例は、すべての ECU のステータスマスクを持つすべての DTCs`Vehicle.DTC_INFO`に対して を定期的にシグナルフェッチするキャンペーンです。 ECUs 用に収集されたデータには条件があります`Vehicle.DTC_INFO`。

```
{
  "compression": "SNAPPY",
  "spoolingMode": "TO_DISK",
  "signalsToFetch": [
    {
      "fullyQualifiedName": "Vehicle.ECU1.DTC_INFO",
      "signalFetchConfig": {
        "timeBased": {
        // The FleetWise Edge Agent will query the UDS module for all DTCs every five seconds.
          "executionFrequencyMs": 5000
        }
      },
      "actions": [
      // Every five seconds, this action is called and its output is stored in the
      // signal history buffer of Vehicle.DTC_INFO
        "custom_function(\"DTC_QUERY\", -1, 2, -1)"
      ]
    }
  ],
  "signalsToCollect": [
    {
      "name": "Vehicle.ECU1.DTC_INFO"
    }
  ],
  "collectionScheme": {
    "conditionBasedCollectionScheme": {
      "conditionLanguageVersion": 1,
      // Whenever a new DTC is filled into the signal, the data is ingested.
      "expression": "!isNull($variable.`Vehicle.ECU1.DTC_INFO`)",
      "minimumTriggerIntervalMs": 1000,
      // Make sure that data is ingested only when there are new DTCs.
      "triggerMode": "RISING_EDGE"
    }
  },
  "dataDestinationConfigs": [
    {
      "s3Config": 
        {
          "bucketArn": "bucket-arn",
          "dataFormat": "PARQUET",
          "prefix": "campaign-name",
          "storageCompressionFormat": "GZIP"
        }
    }
  ]
}
```

## 条件駆動型フェッチ
<a name="dtc-condition-fetch"></a>

条件が満たされたときに DTC コレクションを取得します。例えば、CAN シグナルが の場合`Vehicle.Ignition == 1`、DTC データを取得してアップロードします。

次のキャンペーン例では、条件駆動型のシグナルフェッチを に設定`Vehicle.ECU1.DTC_INFO`して、DTC (AAA123」) が ECU-1 の recordNumber 1 で保留中かどうかを確認します。このキャンペーンには、時間ベースのデータ収集とアップロードがあります。

```
{
  "compression": "SNAPPY",
  "spoolingMode": "TO_DISK",
  "signalsToFetch": [
    {
      "fullyQualifiedName": "Vehicle.ECU1.DTC_INFO",
      "signalFetchConfig": {
        "conditionBased": {
        // The action will only run when the ignition is on.
          "conditionExpression": "$variable.`Vehicle.Ignition` == 1",
          "triggerMode": "ALWAYS"
        }
      },
      // The UDS module is only requested for the specific ECU address and the specific DTC Number/Status.
      "actions": ["custom_function(\"DTC_QUERY\", 1, 2, 8, \"0xAAA123\")"]
    }
  ],
  "signalsToCollect": [
    {
      "name": "Vehicle.ECU1.DTC_INFO"
    },
    {
      "name": "Vehicle.Ignition"
    }
  ],
  "collectionScheme": {
    "timeBasedCollectionScheme": {
      "periodMs": 10000
    }
  },
  "dataDestinationConfigs": [
    {
      "s3Config": 
        {
          "bucketArn": "bucket-arn",
          "dataFormat": "PARQUET",
          "prefix": "campaign-name",
          "storageCompressionFormat": "GZIP"
        }
    }
  ]
}
```

## オンデマンドフェッチ
<a name="fetch-dtc-for-fleet"></a>

フリートの特定の DTC を取得します。

オンデマンドのユースケースでは、定期的なフェッチで定義されているのと同じキャンペーンを使用できます。オンデマンド効果は、 AWS IoT FleetWise コンソールを使用してキャンペーンがデプロイされた直後にキャンペーンを停止するか、次の CLI コマンドを実行することで実現されます。
+ *command-name* をコマンド名に置き換えます。

```
aws iotfleetwise update-campaign \
    --name campaign-name \
    --action APPROVE
```

次に、DTC データが到着したらキャンペーンを停止します。

```
aws iotfleetwise update-campaign \
    --name campaign-name \
    --action SUSPEND
```

キャンペーンを再開して、DTC データフェッチを行うことができます。

```
aws iotfleetwise update-campaign \
    --name campaign-name \
    --action RESUME
```