배포 - AWS IoT Greengrass

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

배포

deployment명령을 사용하여 코어 디바이스의 로컬 구성 요소와 상호 작용할 수 있습니다.

로컬 배포 진행 상황을 모니터링하려면 status 하위 명령을 사용합니다. 콘솔을 사용하여 로컬 배포 진행 상황을 모니터링할 수 없습니다.

하위 명령

create

지정된 구성 요소 레시피, 아티팩트 및 런타임 인수를 사용하여 로컬 배포를 만들거나 업데이트합니다.

시놉시스
greengrass-cli deployment create --recipeDir path/to/component/recipe [--artifactDir path/to/artifact/folder ] [--update-config {component-configuration}] [--groupId <thing-group>] [--merge "<component-name>=<component-version>"]... [--runWith "<component-name>:posixUser=<user-name>[:<group-name>]"]... [--systemLimits "{component-system-resource-limits}]"]... [--remove <component-name>,...] [--failure-handling-policy <policy name[ROLLBACK, DO_NOTHING]>]
인수
  • --recipeDir,-r. 구성 요소 레시피 파일이 들어 있는 폴더의 전체 경로입니다.

  • --artifactDir,-a. 배포에 포함하려는 아티팩트 파일이 들어 있는 폴더의 전체 경로입니다. 아티팩트 폴더에는 다음과 같은 디렉터리 구조가 포함되어야 합니다.

    /path/to/artifact/folder/<component-name>/<component-version>/<artifacts>
  • --update-config,-c. 배포를 위한 구성 인수로, JSON 문자열 또는 JSON 파일로 제공됩니다. JSON 문자열은 다음 형식이어야 합니다.

    { \ "componentName": { \ "MERGE": {"config-key": "config-value"}, \ "RESET": ["path/to/reset/"] \ } \ }

    MERGE및 대소문자를 RESET 구분하며 대문자여야 합니다.

  • --groupId,. -g 배포를 위한 대상 사물 그룹입니다.

  • --merge,-m. 추가 또는 업데이트하려는 대상 구성 요소의 이름 및 버전 구성 요소 정보를 형식으로 제공해야 <component>=<version> 합니다. 지정할 각 추가 구성 요소에 대해 별도의 인수를 사용하십시오. 필요한 경우 --runWith 인수를 사용하여 구성 요소 실행에 필요한 posixUserposixGroup, 및 windowsUser 정보를 제공하십시오.

  • --runWith. 제네릭 또는 Lambda 구성 요소를 실행하기 위한 posixUserposixGroup, 및 windowsUser 정보입니다. 이 정보는 다음 형식으로 제공해야 합니다. <component>:{posixUser|windowsUser}=<user>[:<=posixGroup>] 예를 들어, HelloWorld:posixUser=ggc_user:ggc_group 또는 를 지정할 수 HelloWorld:windowsUser=ggc_user 있습니다. 지정할 각 추가 옵션에 대해 별도의 인수를 사용하십시오.

    자세한 설명은 구성 요소를 실행하는 사용자를 구성하십시오. 섹션을 참조하세요.

  • --systemLimits. 코어 디바이스의 일반 및 비컨테이너식 Lambda 구성 요소 프로세스에 적용할 시스템 리소스 제한 각 구성 요소의 프로세스가 사용할 수 있는 최대 CPU 및 RAM 사용량을 구성할 수 있습니다. 직렬화된 JSON 객체 또는 JSON 파일의 파일 경로를 지정합니다. JSON 객체의 형식은 다음과 같아야 합니다.

    { \ "componentName": { \ "cpus": cpuTimeLimit, \ "memory": memoryLimitInKb \ } \ }

    각 구성 요소에 대해 다음과 같은 시스템 리소스 제한을 구성할 수 있습니다.

    • cpus이 구성 요소의 프로세스가 코어 장치에서 사용할 수 있는 최대 CPU 시간입니다. 코어 디바이스의 총 CPU 시간은 디바이스의 CPU 코어 수와 같습니다. 예를 들어 CPU 코어가 4개인 코어 장치의 경우 이 값을 2 설정하여 이 구성 요소의 프로세스를 각 CPU 코어의 50% 사용량으로 제한할 수 있습니다. CPU 코어가 1개인 기기에서는 이 값을 0.25 설정하여 이 구성 요소의 프로세스 CPU 사용량을 25% 로 제한할 수 있습니다. 이 값을 CPU AWS IoT Greengrass 코어 수보다 큰 수로 설정하는 경우 Core 소프트웨어는 구성 요소의 CPU 사용량을 제한하지 않습니다.

    • memory이 구성 요소의 프로세스가 코어 장치에서 사용할 수 있는 최대 RAM 크기 (KB).

    자세한 설명은 구성 요소에 대한 시스템 리소스 제한을 구성합니다. 섹션을 참조하세요.

    이 기능은 리눅스 코어 디바이스의 그린그래스 코어 구성 요소 및 그린그래스 CLI의 v2.4.0 이상에서 사용할 수 있습니다. AWS IoT Greengrass 현재 Windows 코어 디바이스에서는 이 기능을 지원하지 않습니다.

  • --remove. 로컬 배포에서 제거하려는 대상 구성 요소의 이름. 클라우드 배포에서 병합된 구성 요소를 제거하려면 대상 사물 그룹의 그룹 ID를 다음 형식으로 제공해야 합니다.

    Greengrass nucleus v2.4.0 and later
    --remove <component-name> --groupId <group-name>
    Earlier than v2.4.0
    --remove <component-name> --groupId thinggroup/<group-name>
  • --failure-handling-policy. 배포 실패 시 취할 조치를 정의합니다. 지정할 수 있는 작업은 두 가지입니다.

    • ROLLBACK

    • DO_NOTHING

    이 기능은 v2.11.0 이상에서 사용할 수 있습니다. 그린그래스 핵

출력

다음 예제는 이 명령을 실행할 때 생성되는 출력을 보여줍니다.

$ sudo greengrass-cli deployment create \ --merge MyApp1=1.0.0 \ --merge MyApp2=1.0.0 --runWith MyApp2:posixUser=ggc_user \ --remove MyApp3 \ --recipeDir recipes/ \ --artifactDir artifacts/ Local deployment has been submitted! Deployment Id: 44d89f46-1a29-4044-ad89-5151213dfcbc

취소

지정된 배포를 취소합니다.

시놉시스
greengrass-cli deployment cancel -i <deployment-id>
인수

-i. 취소할 배포의 고유 식별자입니다. 배포 ID는 create 명령의 출력에 반환됩니다.

출력
  • None

list

최근 10개 로컬 배포의 상태를 검색합니다.

시놉시스
greengrass-cli deployment list
인수

None

출력

다음 예제는 이 명령을 실행할 때 생성되는 출력을 보여줍니다. 배포 상태에 따라 출력에는 다음 상태 값 IN_PROGRESSSUCCEEDED, 또는 중 하나가 표시됩니다FAILED.

$ sudo greengrass-cli deployment list 44d89f46-1a29-4044-ad89-5151213dfcbc: SUCCEEDED Created on: 6/27/23 11:05 AM

status

특정 배포의 상태를 검색합니다.

시놉시스
greengrass-cli deployment status -i <deployment-id>
인수

-i. 디플로이먼트의 ID.

출력

다음 예제는 이 명령을 실행할 때 생성되는 출력을 보여줍니다. 배포 상태에 따라 출력에는 다음 상태 값 IN_PROGRESSSUCCEEDED, 또는 중 하나가 표시됩니다FAILED.

$ sudo greengrass-cli deployment status -i 44d89f46-1a29-4044-ad89-5151213dfcbc 44d89f46-1a29-4044-ad89-5151213dfcbc: FAILED Created on: 6/27/23 11:05 AM Detailed Status: <Detailed deployment status> Deployment Error Stack: List of error codes Deployment Error Types: List of error types Failure Cause: Cause