기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
코어 디바이스에 배포할 구성 요소를 게시하세요.
구성 요소 버전을 빌드하거나 완성한 후 AWS IoT Greengrass 서비스에 게시할 수 있습니다. 그런 다음 Greengrass 코어 디바이스에 배포할 수 있습니다.
Greengrass 개발 키트 CLI (GDKCLI) 를 사용하여 구성 요소를 개발하고 빌드하는 경우 를 사용하여 구성 요소를 GDK CLI 에 게시할 수 있습니다. AWS 클라우드그렇지 않으면 내장된 셸 명령과 AWS CLI를 사용하여 구성 요소를 게시하십시오.
를 AWS CloudFormation 사용하여 템플릿에서 구성 요소 및 기타 AWS 리소스를 만들 수도 있습니다. 자세한 내용은 What is AWS CloudFormation? 를 참조하십시오. 그리고 AWS::GreengrassV2::ComponentVersionAWS CloudFormation사용자 안내서에서
구성 요소 게시 (GDKCLI)
이 섹션의 지침에 따라 를 사용하여 구성 요소를 게시하십시오 GDKCLI. 는 빌드 아티팩트를 S3 버킷에 GDK CLI 업로드하고, 레시피의 아티팩트를 URIs 업데이트하고, 레시피에서 구성 요소를 생성합니다. 구성 파일에서 사용할 S3 버킷과 지역을 지정합니다. GDK CLI
GDKCLIv1.1.0 이상을 사용하는 경우 --bucket
인수를 지정하여 구성 요소의 아티팩트를 GDK CLI 업로드하는 S3 버킷을 지정할 수 있습니다. 이 인수를 지정하지 않으면 이름이 다음과 같은 S3 버킷에 GDK CLI 업로드됩니다. bucket
-region
-accountId
bucket
그리고 region
는 에서 지정한 gdk-config.json
값이고 accountId
AWS 계정 ID입니다. 버킷이 없는 경우 버킷을 GDK CLI 생성합니다.
중요
코어 디바이스 역할은 기본적으로 S3 버킷에 대한 액세스를 허용하지 않습니다. 이 S3 버킷을 처음 사용하는 경우, 코어 디바이스가 이 S3 버킷에서 구성 요소 아티팩트를 검색할 수 있도록 역할에 권한을 추가해야 합니다. 자세한 내용은 구성 요소 아티팩트의 S3 버킷 액세스 허용 단원을 참조하십시오.
Greengrass 구성 요소를 게시하려면 () GDK CLI
-
명령 프롬프트 또는 터미널에서 구성 요소 폴더를 엽니다.
-
아직 빌드하지 않았다면 Greengrass 컴포넌트를 빌드하세요. 구성 요소 빌드 명령은 구성 요소 폴더의
greengrass-build
폴더에 레시피와 아티팩트를 생성합니다. 다음 명령을 실행합니다.gdk component build
-
구성 요소를 에 AWS 클라우드게시합니다. 구성 요소 게시 명령은 구성 요소의 아티팩트를 Amazon S3에 업로드하고 각 아티팩트의 레시피로 구성 요소의 레시피를 업데이트합니다. URI 그런 다음 서비스에 구성 요소를 생성합니다. AWS IoT Greengrass
참고
AWS IoT Greengrass 구성 요소를 만들 때 각 아티팩트의 다이제스트를 계산합니다. 즉, 구성 요소를 생성한 후에는 S3 버킷의 아티팩트 파일을 수정할 수 없습니다. 이렇게 하면 파일 다이제스트가 일치하지 않아 이 구성 요소를 포함하는 배포가 실패합니다. 아티팩트 파일을 수정하는 경우 구성 요소의 새 버전을 만들어야 합니다.
구성 파일에서 GDK CLI 구성 요소 버전을 지정하는
NEXT_PATCH
경우 는 AWS IoT Greengrass 서비스에 아직 없는 다음 패치 버전을 GDK CLI 사용합니다.다음 명령을 실행합니다.
gdk component publish
출력에는 GDK CLI 생성한 구성 요소의 버전이 표시됩니다.
구성 요소를 게시한 후 구성 요소를 코어 장치에 배포할 수 있습니다. 자세한 내용은 디바이스에 AWS IoT Greengrass 구성 요소 배포 단원을 참조하십시오.
구성 요소 게시 (셸 명령)
셸 명령과 AWS Command Line Interface (AWS CLI) 를 사용하여 구성 요소를 게시하려면 다음 절차를 따르십시오. 구성 요소를 게시할 때 다음 작업을 수행합니다.
-
구성 요소 아티팩트를 S3 버킷에 게시합니다.
-
각 아티팩트의 Amazon URI S3를 구성 요소 레시피에 추가합니다.
-
구성 요소 AWS IoT Greengrass 레시피에서 구성 요소 버전을 생성합니다.
참고
업로드하는 각 구성 요소 버전은 고유해야 합니다. 구성 요소 버전을 업로드한 후에는 편집할 수 없으므로 올바른 구성 요소 버전을 업로드해야 합니다.
다음 단계에 따라 개발 컴퓨터 또는 Greengrass 코어 디바이스에서 구성 요소를 게시할 수 있습니다.
구성 요소를 게시하려면 (셸 명령)
-
구성 요소가 AWS IoT Greengrass 서비스에 있는 버전을 사용하는 경우 구성 요소의 버전을 변경해야 합니다. 텍스트 편집기에서 레시피를 열고 버전을 증가시킨 다음 파일을 저장합니다. 구성 요소의 변경 사항을 반영하는 새 버전을 선택합니다.
참고
AWS IoT Greengrass 구성 요소에 시맨틱 버전을 사용합니다. 시맨틱 버전은 메이저.마이너.패치 번호 시스템을 따릅니다. 예를 들어 버전은 구성
1.0.0
요소의 첫 번째 주요 릴리스를 나타냅니다. 자세한 내용은 시맨틱 버전사양을 참조하십시오. -
구성 요소에 아티팩트가 있는 경우 다음을 수행하십시오.
-
구성 요소의 아티팩트를 의 S3 버킷에 게시하십시오. AWS 계정
작은 정보
S3 버킷의 아티팩트 경로에 구성 요소 이름과 버전을 포함하는 것이 좋습니다. 이 이름 지정 체계를 사용하면 이전 버전의 구성 요소가 사용하는 아티팩트를 유지 관리할 수 있으므로 이전 구성 요소 버전을 계속 지원할 수 있습니다.
다음 명령을 실행하여 S3 버킷에 아티팩트 파일을 게시합니다. amzn-s3-demo-bucket을 버킷 이름으로 바꾸고 바꾸십시오.
artifacts/com.example.HelloWorld/1.0.0/artifact.py
아티팩트 파일의 경로로aws s3 cp
artifacts/com.example.HelloWorld/1.0.0/artifact.py
s3://amzn-s3-demo-bucket/artifacts/com.example.HelloWorld/1.0.0/artifact.py
중요
코어 디바이스 역할은 기본적으로 S3 버킷에 대한 액세스를 허용하지 않습니다. 이 S3 버킷을 처음 사용하는 경우, 코어 디바이스가 이 S3 버킷에서 구성 요소 아티팩트를 검색할 수 있도록 역할에 권한을 추가해야 합니다. 자세한 내용은 구성 요소 아티팩트의 S3 버킷 액세스 허용 단원을 참조하십시오.
-
이름이 지정된
Artifacts
목록이 없는 경우 구성 요소 레시피에 추가하십시오.Artifacts
목록은 각 매니페스트에 나타나며, 지원되는 각 플랫폼의 구성 요소 요구 사항 (또는 모든 플랫폼에 대한 구성 요소의 기본 요구 사항) 을 정의합니다. -
각 아티팩트를 아티팩트 목록에 추가하거나 기존 아티팩트를 업데이트하십시오URI. Amazon URI S3는 버킷 이름과 버킷 내 아티팩트 객체 경로로 구성됩니다. 아티팩트의 Amazon S3는 다음 예제와 URIs 비슷해야 합니다.
s3://amzn-s3-demo-bucket/artifacts/com.example.HelloWorld/1.0.0/artifact.py
이 단계를 완료하면 레시피에 다음과 같은
Artifacts
목록이 표시되어야 합니다.레시피에 대한 자세한 내용은 AWS IoT Greengrass 컴포넌트 레시피 참조 단원을 참조하세요.
-
-
AWS IoT Greengrass 콘솔을 사용하여 레시피 파일에서 컴포넌트를 생성합니다.
다음 명령을 실행하여 레시피 파일에서 컴포넌트를 생성합니다. 이 명령은 구성 요소를 만든 다음 해당 구성 요소를 사용자의 AWS 계정개인 AWS IoT Greengrass 구성 요소로 게시합니다. Replace
path/to/recipeFile
레시피 파일 경로와 함께.aws greengrassv2 create-component-version --inline-recipe fileb://
path/to/recipeFile
arn
응답에서 를 복사하여 다음 단계에서 구성 요소의 상태를 확인합니다.참고
AWS IoT Greengrass 구성 요소를 만들 때 각 아티팩트의 다이제스트를 계산합니다. 즉, 구성 요소를 생성한 후에는 S3 버킷의 아티팩트 파일을 수정할 수 없습니다. 이렇게 하면 파일 다이제스트가 일치하지 않아 이 구성 요소를 포함하는 배포가 실패합니다. 아티팩트 파일을 수정하는 경우 구성 요소의 새 버전을 만들어야 합니다.
-
AWS IoT Greengrass 서비스의 각 구성 요소에는 상태가 있습니다. 다음 명령을 실행하여 이 절차에서 게시한 구성 요소 버전의 상태를 확인합니다. Replace
com.example.HelloWorld
그리고1.0.0
쿼리할 구성 요소 버전과 함께 를arn
이전 단계의 ARN 것으로 바꿉니다.aws greengrassv2 describe-component --arn "arn:aws:greengrass:
region
:account-id
:components:com.example.HelloWorld
:versions:1.0.0
"이 작업은 구성 요소의 메타데이터가 포함된 응답을 반환합니다. 메타데이터에는 구성 요소 상태 및 오류 (해당하는 경우) 가 포함된
status
개체가 포함됩니다.구성 요소 상태가
DEPLOYABLE
이면 구성 요소를 장치에 배포할 수 있습니다. 자세한 내용은 디바이스에 AWS IoT Greengrass 구성 요소 배포 단원을 참조하십시오.