

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 명령 생성 및 관리
<a name="create-manage-remote-command-cli"></a>

**중요**  
특정 AWS IoT FleetWise 기능에 대한 액세스는 현재 게이트됩니다. 자세한 내용은 [AWS AWS IoT FleetWise의 리전 및 기능 가용성](fleetwise-regions.md) 단원을 참조하십시오.

재사용 가능한 원격 작업을 구성하거나 디바이스에 일회성의 즉각적인 지침을 보낼 수 있습니다. 이 기능을 사용하면 디바이스가 거의 실시간으로 실행할 수 있는 지침을 지정할 수 있습니다. 명령을 사용하면 대상 차량에 대해 재사용 가능한 원격 작업을 구성할 수 있습니다. 명령을 생성한 후 특정 차량을 대상으로 하는 명령 실행을 시작할 수 있습니다.

이 주제에서는 AWS IoT Core API 또는를 사용하여 명령 리소스를 생성하고 관리하는 방법을 보여줍니다 AWS CLI. 명령 리소스에서 다음 작업을 수행하는 방법을 보여줍니다.

**Topics**
+ [명령 리소스 생성](#create-remote-command-cli)
+ [명령에 대한 정보 검색](#get-remote-command-cli)
+ [계정의 명령 나열](#list-remote-command-cli)
+ [명령 리소스 업데이트 또는 사용 중단](#update-remote-command-cli)
+ [명령 리소스 삭제](#delete-remote-command-cli)

## 명령 리소스 생성
<a name="create-remote-command-cli"></a>

[https://docs.aws.amazon.com/iot/latest/apireference/API_CreateCommand.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateCommand.html) AWS IoT Core 컨트롤 플레인 API 작업 또는 AWS IoT FleetWise 콘솔을 사용하여 명령을 생성할 수 있습니다.

### 명령 생성(콘솔)
<a name="create-command-console"></a>

 AWS IoT FleetWise 콘솔을 사용하여 명령을 생성할 수 있습니다.

**명령을 생성하려면**

1. [AWS IoT FleetWise 콘솔](https://console.aws.amazon.com/iotfleetwise)을 엽니다.

1. 탐색 창에서 **명령을** 선택합니다.

1. **명령 생성**을 선택합니다.

1. 차량에서 실행하려는 명령을 식별하는 데 도움이 되는 고유한 명령 ID를 지정합니다.

1. (선택 사항) 선택적 표시 이름 및 설명을 지정합니다.

1. (선택 사항) 액추에이터와 기본 파라미터 값을 선택합니다. 파라미터는 대상 차량이 명령을 수신할 때 수행할 수 있는 작업을 지정합니다. 파라미터를 추가하지 않는 경우 명령을 실행할 때 파라미터를 제공해야 합니다.

1. 명령에 대한 페이로드를 생성할 수 있는 권한을 부여하는 IAM 역할을 선택합니다. [액세스 제어를 참조하세요](https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/controlling-access.html#generate-command-payload).

1. **명령 생성**을 선택합니다.

### 명령 생성(AWS CLI)
<a name="create-remote-command-example"></a>

다음 예제에서는 파라미터로 명령을 생성하는 방법을 보여줍니다.

#### 명령 생성 시 고려 사항
<a name="create-remote-command-considerations"></a>

에서 명령을 생성하는 경우 AWS IoT FleetWise:
+ 차량에서 명령을 생성하고 실행할 수 `roleArn` 있는 권한을 부여하는를 지정해야 합니다. KMS 키가 활성화된 경우를 포함하여 샘플 정책에 대한 자세한 내용은 섹션을 참조하세요[를 사용하여 명령에 대한 페이로드를 생성할 수 있는 AWS IoT Device Management 권한 부여 AWS IoT FleetWise](controlling-access.md#generate-command-payload).
+ 네임스페이스`AWS-IoT-FleetWise`로를 지정해야 합니다.
+ 대신 `mandatory-parameters` 필드를 건너뛰고 런타임에 지정할 수 있습니다. 또는 파라미터를 사용하여 명령을 생성하고 필요에 따라 기본값을 지정할 수 있습니다. 기본값을 지정한 경우 런타임에 이러한 값을 사용하거나 고유한 값을 지정하여 재정의할 수 있습니다. 이러한 추가 예제는 섹션을 참조하세요[명령 사용 시나리오](remote-command-use-cases.md).
+ `mandatory-parameters` 필드에 최대 3개의 이름-값 페어를 지정할 수 있습니다. 그러나 차량에서 명령을 실행할 때는 하나의 이름-값 페어만 허용되며 `name` 필드는 `$actuatorPath.` 접두사와 함께 정규화된 이름을 사용해야 합니다.
+ *command-id*를 명령의 고유 식별자로 바꿉니다. UUID, 영숫자, "-" 및 "\$1"를 사용할 수 있습니다.
+ *role-arn*을와 같은 명령을 생성하고 실행할 수 있는 권한을 부여하는 IAM 역할로 바꿉니다`"arn:aws:iam:accountId:role/FwCommandExecutionRole"`.
+ (선택 사항) *display-name*을 명령의 사용자 친화적인 이름으로 바꾸고 *description*을 명령의 의미 있는 설명으로 바꿉니다.
+ `mandatory-parameters` 객체의 *이름과* *값을* 생성 중인 명령에 필요한 정보로 바꿉니다. `name` 필드는를 접두사`$actuatorPath.`로 사용하여 신호 카탈로그에 정의된 정규화된 이름입니다. 예를 들어 `name`는 *\$1actuatorPath.Vehicle.Chassis.SteeringWheel.HandsOff.HandsOffSteeringMode*일 수 있으며 *\$1"B": false\$1*와 같은 조향 모드 상태를 나타내는 부울일 `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"
}
```

## 명령에 대한 정보 검색
<a name="get-remote-command-cli"></a>

[https://docs.aws.amazon.com/iot/latest/apireference/API_GetCommand.html](https://docs.aws.amazon.com/iot/latest/apireference/API_GetCommand.html) 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
}
```

## 계정의 명령 나열
<a name="list-remote-command-cli"></a>

[https://docs.aws.amazon.com/iot/latest/apireference/API_ListCommands.html](https://docs.aws.amazon.com/iot/latest/apireference/API_ListCommands.html) AWS IoT Core 컨트롤 플레인 API 작업을 사용하여 생성한 계정의 모든 명령을 나열할 수 있습니다.

계정의 명령을 나열하려면 다음 명령을 실행합니다. 기본적으로 API는 두 네임스페이스 모두에 대해 생성된 명령을 반환합니다. 생성된 명령만 표시하도록 목록을 필터링하려면 다음 명령을 AWS IoT FleetWise실행합니다.

**참고**  
목록을 오름차순 또는 내림차순으로 정렬하거나 목록을 필터링하여 특정 명령 파라미터 이름이 있는 명령만 표시할 수도 있습니다.

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

`ListCommands` API 작업은 다음 정보가 포함된 응답을 반환합니다.
+ 명령의 ID 및 ARN(Amazon 리소스 이름)입니다.
+ 명령이 생성되고 마지막으로 업데이트된 날짜와 시간입니다.
+ 차량에서 명령을 실행할 수 있는지 여부를 나타내는 명령 상태입니다.

## 명령 리소스 업데이트 또는 사용 중단
<a name="update-remote-command-cli"></a>

[https://docs.aws.amazon.com/iot/latest/apireference/API_UpdateCommand.html](https://docs.aws.amazon.com/iot/latest/apireference/API_UpdateCommand.html) AWS IoT Core 컨트롤 플레인 API 작업 또는 AWS IoT FleetWise 콘솔을 사용하여 명령 리소스를 업데이트할 수 있습니다. 명령의 표시 이름과 설명을 업데이트할 수 있습니다. 명령이 현재 사용되지 않는 경우에도 사용 중지할 수 있습니다.

**참고**  
명령을 실행할 때 사용할 네임스페이스 정보 또는 파라미터를 수정할 수 없습니다.

### 명령 업데이트(콘솔)
<a name="update-command-console"></a>

**명령 업데이트**  
콘솔에서 명령을 업데이트하려면 AWS IoT FleetWise 콘솔의 [명령](https://console.aws.amazon.com/iotfleetwise/home#/commands) 페이지로 이동하여 다음 단계를 수행합니다.

1. 업데이트할 명령을 선택한 다음 **편집**을 선택합니다.

1. 명령 세부 정보를 편집한 다음 **변경 사항 저장**을 선택합니다.

**명령 사용 중단**  
콘솔에서 명령을 사용 중지하려면 AWS IoT FleetWise 콘솔의 [명령](https://console.aws.amazon.com/iotfleetwise/home#/commands) 페이지로 이동하여 다음 단계를 수행합니다.

1. 사용 중단하려는 명령을 선택한 다음 **사용 중단을** 선택합니다.

1. 사용 중지를 확인한 다음 **사용 중지**를 선택합니다.

### 명령 업데이트(AWS CLI)
<a name="update-command-cli"></a>

**명령 업데이트**  
명령 리소스를 업데이트하려면 다음 명령을 실행합니다. *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 개발자 안내서*의 [명령 리소스 사용 중지](https://docs.aws.amazon.com/iot/latest/developerguide/iot-remote-command-deprecate)를 참조하세요.

## 명령 리소스 삭제
<a name="delete-remote-command-cli"></a>

[https://docs.aws.amazon.com/iot/latest/apireference/API_DeleteCommand.html](https://docs.aws.amazon.com/iot/latest/apireference/API_DeleteCommand.html) AWS IoT Core 컨트롤 플레인 API 작업 또는 AWS IoT FleetWise 콘솔을 사용하여 명령 리소스를 삭제할 수 있습니다.

**참고**  
삭제 작업은 영구적이며 취소할 수 없습니다. 명령은 계정에서 영구적으로 제거됩니다.

### 명령 삭제(콘솔)
<a name="delete-command-console"></a>

콘솔에서 명령을 삭제하려면 AWS IoT FleetWise 콘솔의 [명령](https://console.aws.amazon.com/iotfleetwise/home#/commands) 페이지로 이동하여 다음 단계를 수행합니다.

1. 삭제할 명령을 선택한 다음 **삭제**를 선택합니다.

1. 명령을 삭제할지 확인한 다음 **삭제**를 선택합니다.

### 명령 삭제(AWS CLI)
<a name="delete-command-cli"></a>

명령 리소스를 삭제하려면 다음 명령을 실행합니다. *command-id*를 삭제하려는 명령의 식별자로 바꿉니다. 다음 예제에서는 명령 리소스를 삭제하는 방법을 보여줍니다.

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

삭제 요청이 성공한 경우:
+ 명령이 최대 제한 시간인 24시간보다 긴 기간 동안 더 이상 사용되지 않는 경우 명령이 즉시 삭제되고 HTTP`statusCode`가 204로 표시됩니다.
+ 명령이 더 이상 사용되지 않거나 최대 제한 시간보다 짧은 기간 동안 더 이상 사용되지 않는 경우 명령은 `pending deletion` 상태가 되고 HTTP가 `statusCode` 202로 표시됩니다. 명령은 최대 제한 시간인 24시간이 지나면 계정에서 자동으로 제거됩니다.