명령 리소스 사용 중지
명령의 사용을 중지하여 해당 명령이 만료되었으며 사용해서는 안된다고 나타낼 수 있습니다. 예를 들어, 더 이상 적극적으로 유지 관리되지 않는 명령을 사용 중지할 수도 있고, 동일한 명령 ID로 최신 명령을 생성하고 싶지만 다른 페이로드 정보를 사용할 수도 있습니다.
주요 고려 사항
다음은 명령 사용 중단과 관련된 몇 가지 중요한 고려 사항입니다.
-
명령을 사용 중지하더라도 해당 명령이 삭제되지 않습니다. 명령을 재사용하려는 경우에도, 명령 ID를 사용하여 명령을 검색하고, 복원할 수 있습니다.
-
명령이 사용 중지된 대상 디바이스에서 새 명령 실행을 시작하려고 하면, 오류가 생성되어 out-of-date 명령을 사용할 수 없습니다.
-
대상 디바이스에서 사용 중지된 명령을 실행하려면, 먼저 해당 명령을 복원해야 합니다. 복원되면 해당 명령을 사용할 수 있게 되고, 일반 명령으로 사용할 수 있으며, 대상 디바이스에서 명령 실행을 수행할 수 있습니다.
-
명령 실행이 진행되는 동안 명령을 사용 중지하면, 실행이 완료될 때까지 대상 디바이스에서 실행이 계속 진행됩니다. 명령 실행의 상태를 검색할 수도 있습니다.
명령 리소스 사용 중지(콘솔)
콘솔에서 명령을 사용하지 않으려면 AWS IoT 콘솔의 Command Hub
-
사용 중단하려는 명령을 선택한 다음 작업에서 사용 중지를 선택합니다.
-
명령을 사용 중지할지 확인한 다음 사용 중지를 선택합니다.
명령 리소스 사용 중지(CLI)
update-command CLI를 사용하여 명령을 사용되지 않음 상태로 표시할 수 있습니다. 명령을 삭제하려면 먼저 명령을 사용 중지해야 합니다. 명령이 사용 중지되면, 대상 디바이스로 명령 실행을 보내는 등 해당 명령을 사용하기 위해서는 명령을 복원해야 합니다.
aws iot update-command \ --command-id<command-id>\ --deprecated
예를 들어, 위 예제에서 업데이트한 명령을 더 이상 사용하지 않는 경우 다음 코드는 명령 실행 시 샘플 출력을 보여줍니다.ACSwitch
{ "commandId": "turnOffAc", "deprecated": true, "lastUpdatedAt": "2024-05-09T23:16:51.370000-07:00" }
사용 중지 시간 및 상태 확인
GetCommand API 작업을 사용하여 명령이 사용 중지되었는지 여부와 마지막으로 사용 중지된 시기를 확인할 수 있습니다.
aws iot get-command --command-id<turnOffAC>
이 명령을 실행하면 명령에 대한 정보가 포함된 응답이 생성됩니다. 마지막으로 업데이트된 정보를 사용하여, 언제 생성되었는지, 언제 사용 중지되었는지에 대한 정보를 얻을 수 있습니다. 이 정보는 명령의 수명과 명령을 삭제할지 재사용할지 여부를 판단하는 데 도움이 될 수 있습니다. 예를 들어, 위 예제에서 다음 코드는 샘플 응답을 보여줍니다.turnOffAc
{ "commandId": "turnOffAC", "commandArn": "arn:aws:iot:ap-south-1:123456789012:command/turnOffAC", "namespace": "AWS-IoT", "payload": { "content": "testPayload.json", "contentType": "application/json" }, "createdAt": "2024-03-23T00:50:10.095000-07:00", "lastUpdatedAt": "2024-05-09T23:16:51.370000-07:00", "deprecated": false }
명령 리소스 복원
ACSwitch 명령을 사용하거나 이 명령을 디바이스로 전송하려면, 명령을 복원해야 합니다.
콘솔에서 명령을 복원하려면 AWS IoT 콘솔의 Command Hub
AWS IoT Core API 또는 AWS CLI를 사용하여 명령을 복원하려면 UpdateCommand API 작업 또는 update-command CLI를 사용합니다. 다음 코드는 샘플 요청 및 응답을 보여줍니다.
aws iot update-command \ --command-id<command-id>--no-deprecated
다음 코드는 샘플 출력을 보여줍니다.
{ "commandId": "ACSwitch", "deprecated": false, "lastUpdatedAt": "2024-05-09T23:17:21.954000-07:00" }