コマンドの作成と管理 - AWS IoT FleetWise

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

コマンドの作成と管理

重要

現在、特定の AWS IoT FleetWise 機能へのアクセスはゲートされています。詳細については、「AWSAWS IoT FleetWise でのリージョンと機能の可用性」を参照してください。

再利用可能なリモートアクションを設定するか、デバイスに 1 回限りの即時の指示を送信できます。この機能を使用すると、デバイスがほぼリアルタイムで実行できる手順を指定できます。コマンドを使用すると、ターゲット車両の再利用可能なリモートアクションを設定できます。コマンドを作成したら、特定の車両をターゲットとするコマンド実行を開始できます。

このトピックでは、 AWS IoT Core API または を使用してコマンドリソースを作成および管理する方法を示します AWS CLI。コマンドリソースで次のアクションを実行する方法を示します。

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

CreateCommand AWS IoT Core コントロールプレーン API オペレーションまたは AWS IoT FleetWise コンソールを使用して、コマンドを作成できます。

AWS IoT FleetWise コンソールを使用してコマンドを作成できます。

コマンドを作成するには
  1. AWS IoT FleetWise コンソールを開きます。

  2. ナビゲーションペインで、 コマンドを選択します。

  3. コマンドの作成を選択します。

  4. 車両で実行するコマンドを識別するのに役立つ一意のコマンド ID を指定します。

  5. (オプション) オプションの表示名と説明を指定します。

  6. (オプション) アクチュエータとデフォルトのパラメータ値を選択します。パラメータは、ターゲット車両がコマンドを受信したときに実行できるアクションを指定します。パラメータを追加しない場合は、 コマンドの実行時にパラメータを指定する必要があります。

  7. コマンドのペイロードを生成するアクセス許可を付与する IAM ロールを選択します。「アクセスの制御」を参照してください。

  8. コマンドの作成を選択します。

次の例は、 パラメータを使用してコマンドを作成する方法を示しています。

コマンドを作成する際の考慮事項

でコマンドを作成する場合 AWS IoT FleetWise:

  • 車両でコマンドを作成および実行するアクセス許可を付与roleArnする を指定する必要があります。KMS キーが有効な場合など、ポリシーの例の詳細については、「」を参照してくださいを使用してコマンドのペイロードを生成する AWS IoT Device Management アクセス許可を付与する AWS IoT FleetWise

  • 名前空間AWS-IoT-FleetWiseとして を指定する必要があります。

  • 代わりに、 mandatory-parametersフィールドをスキップして実行時に指定できます。または、パラメータを使用してコマンドを作成し、オプションでデフォルト値を指定することもできます。デフォルト値を指定した場合、実行時にこれらの値を使用するか、独自の値を指定して上書きできます。これらのその他の例については、「」を参照してくださいコマンドの使用シナリオ

  • mandatory-parameters フィールドに最大 3 つの名前と値のペアを指定できます。ただし、車両で コマンドを実行する場合、1 つの名前と値のペアのみが受け入れられ、 nameフィールドは$actuatorPath.プレフィックスで完全修飾名を使用する必要があります。

  • command-id をコマンドの一意の識別子に置き換えます。UUID、英数字、「-」、「_」を使用できます。

  • role-arn を、 などのコマンドを作成および実行するアクセス許可を付与する IAM ロールに置き換えます"arn:aws:iam:accountId:role/FwCommandExecutionRole"

  • (オプション) display-name をコマンドのわかりやすい名前に置き換え、 description をコマンドのわかりやすい説明に置き換えます。

  • mandatory-parameters オブジェクトの名前値を、作成するコマンドの必要な情報に置き換えます。name フィールドは、 をプレフィックス$actuatorPath.とするシグナルカタログで定義されている完全修飾名です。たとえば、 name$actuatorPath.Vehicle.Chassis.SteeringWheel.HandsOff.HandsOffSteeringMode にすることができ、{"B": false} のようなステアリングモードのステータスを示すブール値valueにすることができます。

aws iot create-command --command-id command-id \ --role-arn role-arn \ --description description \ --display-name display-name \ --namespace "AWS-IoT-FleetWise" \ --mandatory-parameters '[ { "name": name, "value": value } ]'

CreateCommand API オペレーションは、 コマンドの ID と ARN (Amazon リソースネーム) を含むレスポンスを返します。

{ "commandId": "HandsOffSteeringMode", "commandArn": "arn:aws:iot:ap-south-1:123456789012:command/HandsOffSteeringMode" }

コマンドに関する情報を取得する

GetCommand AWS IoT Core コントロールプレーン API オペレーションを使用して、コマンドリソースに関する情報を取得できます。

コマンドリソースに関する情報を取得するには、次のコマンドを実行します。command-id を、コマンドの作成時に使用された識別子に置き換えます。

aws iot get-command --command-id command-id

GetCommand API オペレーションは、次の情報を含むレスポンスを返します。

  • コマンドの ID と ARN (Amazon リソースネーム)。

  • コマンドが作成され、最後に更新された日時。

  • 車両で実行できるかどうかを示すコマンド状態。

  • コマンドの作成時に指定したパラメータ。

{ "commandId": "HandsOffSteeringMode", "commandArn": "arn:aws:iot:ap-south-1:123456789012:command/HandsOffSteeringMode"", "namespace": "AWS-IoT-FleetWise", "mandatoryParameters":[ { "name": "$actuatorPath.Vehicle.Chassis.SteeringWheel.HandsOff.HandsOffSteeringMode", "value": {"B": false } } ], "createdAt": "2024-03-23T11:24:14.919000-07:00", "lastUpdatedAt": "2024-03-23T11:24:14.919000-07:00", "deprecated": false, "pendingDeletion": false }

アカウントのコマンドを一覧表示する

ListCommands AWS IoT Core コントロールプレーン API オペレーションを使用して、作成したアカウント内のすべてのコマンドを一覧表示できます。

アカウントのコマンドを一覧表示するには、次のコマンドを実行します。デフォルトでは、API は両方の名前空間用に作成されたコマンドを返します。リストをフィルタリングして、作成されたコマンドのみを表示するには AWS IoT FleetWise、次のコマンドを実行します。

注記

リストを昇順または降順にソートしたり、特定のコマンドパラメータ名を持つコマンドのみを表示するようにリストをフィルタリングしたりすることもできます。

aws iot list-commands --namespace "AWS-IoT-FleetWise"

ListCommands API オペレーションは、次の情報を含むレスポンスを返します。

  • コマンドの ID と ARN (Amazon リソースネーム)。

  • コマンドが作成され、最後に更新された日時。

  • コマンドを車両で実行できるかどうかを示すコマンド状態。

コマンドリソースを更新または廃止する

UpdateCommand AWS IoT Core コントロールプレーン API オペレーションまたは AWS IoT FleetWise コンソールを使用して、コマンドリソースを更新できます。コマンドの表示名と説明を更新できます。コマンドが現在使用されていない場合は、そのコマンドを非推奨にすることもできます。

注記

コマンドの実行時に使用する名前空間情報またはパラメータを変更することはできません。

コマンドを更新する

コンソールからコマンドを更新するには、 AWS IoT FleetWise コンソールのコマンドページに移動し、次の手順を実行します。

  1. 更新するコマンドを選択し、編集を選択します。

  2. コマンドの詳細を編集し、変更の保存を選択します。

コマンドを非推奨にする

コンソールからコマンドを非推奨にするには、 AWS IoT FleetWise コンソールのコマンドページに移動し、次の手順を実行します。

  1. 非推奨にするコマンドを選択し、非推奨を選択します。

  2. 非推奨を確認し、非推奨を選択します。

コマンドを更新する

コマンドリソースを更新するには、次のコマンドを実行します。command-id を更新したいコマンドの識別子に置き換え、更新された display-name説明を指定します。

aws iot update-command \ --command-id command-id \ --display-name display-name \ --description description

UpdateCommand API オペレーションは次のレスポンスを返します。

{ "commandId": "HandsOffSteeringMode", "deprecated": false, "lastUpdatedAt": "2024-05-09T23:16:51.370000-07:00" }
コマンドを非推奨にする

コマンドを廃止するのは、デバイスへの使用を停止する場合や、古い場合です。次の例は、コマンドを非推奨にする方法を示しています。

aws iot update-command \ --command-id command-id \ --deprecated

UpdateCommand API オペレーションは、 コマンドの ID と ARN (Amazon リソースネーム) を含むレスポンスを返します。

{ "commandId": "HandsOffSteeringMode", "deprecated": true, "lastUpdatedAt": "2024-05-09T23:16:51.370000-07:00" }

コマンドが廃止されると、既存のコマンド実行は、終了するまで車両で実行され続けます。新しいコマンド実行を実行するには、 UpdateCommand API を使用してコマンドを復元し、使用可能にする必要があります。コマンドの廃止と復元に関する追加情報と考慮事項については、「 AWS IoT Core デベロッパーガイド」の「コマンドリソースの廃止」を参照してください。

コマンドリソースを削除する

DeleteCommand AWS IoT Core コントロールプレーン API オペレーションまたは AWS IoT FleetWise コンソールを使用して、コマンドリソースを削除できます。

注記

削除の操作は永続的で、元には戻せません。コマンドはアカウントから完全に削除されます。

コンソールからコマンドを削除するには、 AWS IoT FleetWise コンソールのコマンドページに移動し、次の手順を実行します。

  1. 削除するコマンドを選択し、削除を選択します。

  2. コマンドを削除することを確認し、削除を選択します。

コマンドリソースを削除するには、次のコマンドを実行します。command-id を削除するコマンドの識別子に置き換えます。次の例は、コマンドリソースを削除する方法を示しています。

aws iot delete-command --command-id command-id

削除リクエストが成功した場合:

  • コマンドが最大タイムアウトの 24 時間より長い期間廃止された場合、コマンドはすぐに削除され、HTTP statusCodeは 204 になります。

  • コマンドが非推奨になっていないか、最大タイムアウトより短い期間非推奨になっている場合、コマンドは pending deletion状態になり、HTTP は 202 statusCode になります。コマンドは、最大タイムアウトの 24 時間後にアカウントから自動的に削除されます。