AWS IoT Greengrass V2 사용 예제 AWS CLI - AWS SDK 코드 예제

AWS Doc SDK ExamplesWord AWS SDK 리포지토리에는 더 많은 GitHub 예제가 있습니다.

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

AWS IoT Greengrass V2 사용 예제 AWS CLI

다음 코드 예제에서는를 AWS Command Line Interface 와 함께 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다 AWS IoT Greengrass V2.

작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.

각 예제에는 컨텍스트에서 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있는 전체 소스 코드에 대한 링크가 포함되어 있습니다.

주제

작업

다음 코드 예시에서는 associate-service-role-to-account을 사용하는 방법을 보여 줍니다.

AWS CLI

Greengrass 서비스 역할을 AWS 계정에 연결하려면

다음 associate-service-role-to-account 예제에서는 서비스 역할을 AWS 계정의 AWS IoT Greengrass와 연결합니다.

aws greengrassv2 associate-service-role-to-account \ --role-arn arn:aws:iam::123456789012:role/service-role/Greengrass_ServiceRole

출력:

{ "associatedAt": "2022-01-19T19:21:53Z" }

자세한 내용은 AWS IoT V2 Greengrass V2 개발자 안내서의 Greengrass 서비스 역할을 참조하세요.

다음 코드 예시에서는 batch-associate-client-device-with-core-device을 사용하는 방법을 보여 줍니다.

AWS CLI

클라이언트 디바이스를 코어 디바이스와 연결하려면

다음 batch-associate-client-device-with-core-device 예제에서는 두 클라이언트 디바이스를 코어 디바이스와 연결합니다.

aws greengrassv2 batch-associate-client-device-with-core-device \ --core-device-thing-name MyGreengrassCore \ --entries thingName=MyClientDevice1 thingName=MyClientDevice2

출력:

{ "errorEntries": [] }

자세한 내용은 IoT Greengrass V2 개발자 안내서의 로컬 IoT 디바이스와의 상호 작용을 참조하세요. AWS IoT V2

다음 코드 예시에서는 batch-disassociate-client-device-from-core-device을 사용하는 방법을 보여 줍니다.

AWS CLI

코어 디바이스에서 클라이언트 디바이스를 연결 해제하려면

다음 batch-disassociate-client-device-from-core-device 예제에서는 코어 디바이스에서 두 클라이언트 디바이스의 연결을 해제합니다.

aws greengrassv2 batch-disassociate-client-device-from-core-device \ --core-device-thing-name MyGreengrassCore \ --entries thingName=MyClientDevice1 thingName=MyClientDevice2

출력:

{ "errorEntries": [] }

자세한 내용은 IoT Greengrass V2 개발자 안내서의 로컬 IoT 디바이스와의 상호 작용을 참조하세요. AWS IoT V2

다음 코드 예시에서는 cancel-deployment을 사용하는 방법을 보여 줍니다.

AWS CLI

배포를 취소하려면

다음 cancel-deployment 예제에서는 사물 그룹에 대한 지속적인 배포를 중지합니다.

aws greengrassv2 cancel-deployment \ --deployment-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

출력:

{ "message": "SUCCESS" }

자세한 내용은 AWS IoT Greengrass V2 개발자 안내서배포 취소를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조CancelDeployment를 참조하세요.

다음 코드 예시에서는 create-component-version을 사용하는 방법을 보여 줍니다.

AWS CLI

예제 1: 레시피에서 구성 요소 버전을 생성하려면

다음 create-component-version 예제에서는 레시피 파일에서 Hello World 구성 요소의 버전을 생성합니다.

aws greengrassv2 create-component-version \ --inline-recipe fileb://com.example.HelloWorld-1.0.0.json

com.example.HelloWorld-1.0.0.json의 콘텐츠:

{ "RecipeFormatVersion": "2020-01-25", "ComponentName": "com.example.HelloWorld", "ComponentVersion": "1.0.0", "ComponentDescription": "My first AWS IoT Greengrass component.", "ComponentPublisher": "Amazon", "ComponentConfiguration": { "DefaultConfiguration": { "Message": "world" } }, "Manifests": [ { "Platform": { "os": "linux" }, "Lifecycle": { "Run": "echo 'Hello {configuration:/Message}'" } } ] }

출력:

{ "arn": "arn:aws:greengrass:us-west-2:123456789012:components:com.example.HelloWorld:versions:1.0.0", "componentName": "com.example.HelloWorld", "componentVersion": "1.0.0", "creationTimestamp": "2021-01-07T16:24:33.650000-08:00", "status": { "componentState": "REQUESTED", "message": "NONE", "errors": {} } }

자세한 내용은 AWS IoT Greengrass V2 개발자 안내서에서 배포할 사용자 지정 구성 요소 생성 및 구성 요소 업로드를 참조하세요. https://docs.aws.amazon.com/greengrass/v2/developerguide/upload-components.html

예제 2: AWS Lambda 함수에서 구성 요소 버전을 생성하려면

다음 create-component-version 예제에서는 AWS Lambda 함수에서 Hello World 구성 요소의 버전을 생성합니다.

aws greengrassv2 create-component-version \ --cli-input-json file://lambda-function-component.json

lambda-function-component.json의 콘텐츠:

{ "lambdaFunction": { "lambdaArn": "arn:aws:lambda:us-west-2:123456789012:function:HelloWorldPythonLambda:1", "componentName": "com.example.HelloWorld", "componentVersion": "1.0.0", "componentLambdaParameters": { "eventSources": [ { "topic": "hello/world/+", "type": "IOT_CORE" } ] } } }

출력:

{ "arn": "arn:aws:greengrass:us-west-2:123456789012:components:com.example.HelloWorld:versions:1.0.0", "componentName": "com.example.HelloWorld", "componentVersion": "1.0.0", "creationTimestamp": "2021-01-07T17:05:27.347000-08:00", "status": { "componentState": "REQUESTED", "message": "NONE", "errors": {} } }

자세한 내용은 AWS IoT Greengrass V2 개발자 안내서AWS Lambda 함수 실행을 참조하세요.

다음 코드 예시에서는 create-deployment을 사용하는 방법을 보여 줍니다.

AWS CLI

예제 1: 배포 생성

다음 create-deployment 예제에서는 AWS IoT Greengrass 명령줄 인터페이스를 코어 디바이스에 배포합니다.

aws greengrassv2 create-deployment \ --cli-input-json file://cli-deployment.json

cli-deployment.json의 콘텐츠:

{ "targetArn": "arn:aws:iot:us-west-2:123456789012:thing/MyGreengrassCore", "deploymentName": "Deployment for MyGreengrassCore", "components": { "aws.greengrass.Cli": { "componentVersion": "2.0.3" } }, "deploymentPolicies": { "failureHandlingPolicy": "DO_NOTHING", "componentUpdatePolicy": { "timeoutInSeconds": 60, "action": "NOTIFY_COMPONENTS" }, "configurationValidationPolicy": { "timeoutInSeconds": 60 } }, "iotJobConfiguration": {} }

출력:

{ "deploymentId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }

자세한 내용은 AWS IoT Greengrass V2 개발자 안내서배포 생성을 참조하세요.

예제 2: 구성 요소 구성을 업데이트하는 배포 생성

다음 create-deployment 예제에서는 AWS IoT Greengrass 핵 구성 요소를 코어 디바이스 그룹에 배포합니다. 이 배포는 핵 구성 요소에 대해 다음과 같은 구성 업데이트를 적용합니다.

대상 디바이스의 프록시 설정을 기본 프록시 없음 설정으로 재설정합니다.대상 디바이스의 MQTT 설정을 기본값으로 재설정합니다.핵의 JVM에 대한 JVM 옵션을 설정합니다.핵에 대한 로깅 수준을 설정합니다.

aws greengrassv2 create-deployment \ --cli-input-json file://nucleus-deployment.json

nucleus-deployment.json의 콘텐츠:

{ "targetArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/MyGreengrassCoreGroup", "deploymentName": "Deployment for MyGreengrassCoreGroup", "components": { "aws.greengrass.Nucleus": { "componentVersion": "2.0.3", "configurationUpdate": { "reset": [ "/networkProxy", "/mqtt" ], "merge": "{\"jvmOptions\":\"-Xmx64m\",\"logging\":{\"level\":\"WARN\"}}" } } }, "deploymentPolicies": { "failureHandlingPolicy": "ROLLBACK", "componentUpdatePolicy": { "timeoutInSeconds": 60, "action": "NOTIFY_COMPONENTS" }, "configurationValidationPolicy": { "timeoutInSeconds": 60 } }, "iotJobConfiguration": {} }

출력:

{ "deploymentId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "iotJobId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "iotJobArn": "arn:aws:iot:us-west-2:123456789012:job/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222" }

자세한 내용은 AWS IoT Greengrass V2 개발자 안내서배포 생성구성 요소 구성 업데이트를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조CreateDeployment를 참조하세요.

다음 코드 예시에서는 delete-component을 사용하는 방법을 보여 줍니다.

AWS CLI

구성 요소 버전을 삭제하려면

다음 delete-component 예제에서는 Hello World 구성 요소를 삭제합니다.

aws greengrassv2 delete-component \ --arn arn:aws:greengrass:us-west-2:123456789012:components:com.example.HelloWorld:versions:1.0.0

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 AWS IoT Greengrass V2 개발자 안내서구성 요소 관리를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조DeleteComponent를 참조하세요.

다음 코드 예시에서는 delete-core-device을 사용하는 방법을 보여 줍니다.

AWS CLI

코어 디바이스를 삭제하려면

다음 delete-core-device 예제에서는 AWS IoT Greengrass 코어 디바이스를 삭제합니다.

aws greengrassv2 delete-core-device \ --core-device-thing-name MyGreengrassCore

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 AWS IoT Greengrass V2 개발자 안내서의 IoT Greengrass Core 소프트웨어 제거를 참조하세요. AWS IoT V2

  • API 세부 정보는 AWS CLI 명령 참조DeleteCoreDevice를 참조하세요.

다음 코드 예시에서는 describe-component을 사용하는 방법을 보여 줍니다.

AWS CLI

구성 요소 버전을 설명하려면

다음 describe-component 예제에서는 Hello World 구성 요소를 설명합니다.

aws greengrassv2 describe-component \ --arn arn:aws:greengrass:us-west-2:123456789012:components:com.example.HelloWorld:versions:1.0.0

출력:

{ "arn": "arn:aws:greengrass:us-west-2:123456789012:components:com.example.HelloWorld:versions:1.0.0", "componentName": "com.example.HelloWorld", "componentVersion": "1.0.0", "creationTimestamp": "2021-01-07T17:12:11.133000-08:00", "publisher": "Amazon", "description": "My first AWS IoT Greengrass component.", "status": { "componentState": "DEPLOYABLE", "message": "NONE", "errors": {} }, "platforms": [ { "attributes": { "os": "linux" } } ] }

자세한 내용은 AWS IoT Greengrass V2 개발자 안내서구성 요소 관리를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조DescribeComponent를 참조하세요.

다음 코드 예시에서는 disassociate-service-role-from-account을 사용하는 방법을 보여 줍니다.

AWS CLI

Greengrass 서비스 역할을 AWS 계정에서 연결 해제하려면

다음 disassociate-service-role-from-account 예제에서는 Greengrass 서비스 역할을 AWS 계정의 AWS IoT Greengrass에서 연결 해제합니다.

aws greengrassv2 disassociate-service-role-from-account

출력:

{ "disassociatedAt": "2022-01-19T19:26:09Z" }

자세한 내용은 AWS IoT V2 Greengrass V2 개발자 안내서의 Greengrass 서비스 역할을 참조하세요.

다음 코드 예시에서는 get-component-version-artifact을 사용하는 방법을 보여 줍니다.

AWS CLI

구성 요소 아티팩트를 다운로드할 URL를 가져오려면

다음 get-component-version-artifact 예제에서는 로컬 디버그 콘솔 구성 요소의 URL 파일을 다운로드할 JAR를 가져옵니다.

aws greengrassv2 get-component-version-artifact \ --arn arn:aws:greengrass:us-west-2:aws:components:aws.greengrass.LocalDebugConsole:versions:2.0.3 \ --artifact-name "Uvt6ZEzQ9TKiAuLbfXBX_APdY0TWks3uc46tHFHTzBM=/aws.greengrass.LocalDebugConsole.jar"

출력:

{ "preSignedUrl": "https://evergreencomponentmanageme-artifactbucket7410c9ef-g18n1iya8kwr.s3.us-west-2.amazonaws.com/public/aws.greengrass.LocalDebugConsole/2.0.3/s3/ggv2-component-releases-prod-pdx/EvergreenHttpDebugView/2ffc496ba41b39568968b22c582b4714a937193ee7687a45527238e696672521/aws.greengrass.LocalDebugConsole/aws.greengrass.LocalDebugConsole.jar?X-Amz-Security-Token=KwfLKSdEXAMPLE..." }

자세한 내용은 AWS IoT Greengrass V2 개발자 안내서구성 요소 관리를 참조하세요.

다음 코드 예시에서는 get-component을 사용하는 방법을 보여 줍니다.

AWS CLI

예제 1: YAML 형식(Linux, macOS 또는 Unix)으로 구성 요소의 레시피 다운로드

다음 get-component 예제에서는 Hello World 구성 요소의 레시피를 YAML 형식의 파일로 다운로드합니다. 이 명령은 다음 작업을 수행합니다.

--output--query 파라미터를 사용하여 명령의 출력을 제어합니다. 이러한 파라미터는 명령의 출력에서 레시피 블롭을 추출합니다. 출력 제어에 대한 자세한 내용은 명령줄 인터페이스 사용 설명서의 명령 출력 제어를 참조하세요. base64 유틸리티를 사용합니다. AWS 이 유틸리티는 추출된 블롭을 원본 텍스트로 디코딩합니다. 성공적인 get-component 명령으로 반환되는 Blob은 base64로 인코딩된 텍스트입니다. 원본 텍스트를 가져오려면이 블롭을 디코딩해야 합니다.디코딩된 텍스트를 파일에 저장합니다. 명령의 마지막 섹션(> com.example.HelloWorld-1.0.0.json)은 디코딩된 텍스트를 파일에 저장합니다.

aws greengrassv2 get-component \ --arn arn:aws:greengrass:us-west-2:123456789012:components:com.example.HelloWorld:versions:1.0.0 \ --recipe-output-format YAML \ --query recipe \ --output text | base64 --decode > com.example.HelloWorld-1.0.0.json

자세한 내용은 AWS IoT Greengrass V2 개발자 안내서구성 요소 관리를 참조하세요.

예제 2: 구성 요소의 레시피를 YAML 형식으로 다운로드하려면(Windows CMD)

다음 get-component 예제에서는 Hello World 구성 요소의 레시피를 YAML 형식의 파일로 다운로드합니다. 이 명령은 certutil 유틸리티를 사용합니다.

aws greengrassv2 get-component ^ --arn arn:aws:greengrass:us-west-2:675946970638:components:com.example.HelloWorld:versions:1.0.0 ^ --recipe-output-format YAML ^ --query recipe ^ --output text > com.example.HelloWorld-1.0.0.yaml.b64 certutil -decode com.example.HelloWorld-1.0.0.yaml.b64 com.example.HelloWorld-1.0.0.yaml

자세한 내용은 AWS IoT Greengrass V2 개발자 안내서구성 요소 관리를 참조하세요.

예제 3: 구성 요소의 레시피를 YAML 형식으로 다운로드하려면(Windows PowerShell)

다음 get-component 예제에서는 Hello World 구성 요소의 레시피를 YAML 형식의 파일로 다운로드합니다. 이 명령은 certutil 유틸리티를 사용합니다.

aws greengrassv2 get-component ` --arn arn:aws:greengrass:us-west-2:675946970638:components:com.example.HelloWorld:versions:1.0.0 ` --recipe-output-format YAML ` --query recipe ` --output text > com.example.HelloWorld-1.0.0.yaml.b64 certutil -decode com.example.HelloWorld-1.0.0.yaml.b64 com.example.HelloWorld-1.0.0.yaml

자세한 내용은 AWS IoT Greengrass V2 개발자 안내서구성 요소 관리를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조GetComponent를 참조하세요.

다음 코드 예시에서는 get-connectivity-info을 사용하는 방법을 보여 줍니다.

AWS CLI

Greengrass 코어 디바이스에 대한 연결 정보를 가져오려면

다음 get-connectivity-info 예제에서는 Greengrass 코어 디바이스의 연결 정보를 가져옵니다. 클라이언트 디바이스는이 정보를 사용하여이 코어 디바이스에서 실행되는 MQTT 브로커에 연결합니다.

aws greengrassv2 get-connectivity-info \ --thing-name MyGreengrassCore

출력:

{ "connectivityInfo": [ { "id": "localIP_192.0.2.0", "hostAddress": "192.0.2.0", "portNumber": 8883 } ] }

자세한 내용은 AWS IoT Greengrass V2 개발자 안내서코어 디바이스 엔드포인트 관리를 참조하세요.

다음 코드 예시에서는 get-core-device을 사용하는 방법을 보여 줍니다.

AWS CLI

코어 디바이스를 가져오려면

다음 get-core-device 예제에서는 AWS IoT Greengrass 코어 디바이스에 대한 정보를 가져옵니다.

aws greengrassv2 get-core-device \ --core-device-thing-name MyGreengrassCore

출력:

{ "coreDeviceThingName": "MyGreengrassCore", "coreVersion": "2.0.3", "platform": "linux", "architecture": "amd64", "status": "HEALTHY", "lastStatusUpdateTimestamp": "2021-01-08T04:57:58.838000-08:00", "tags": {} }

자세한 내용은 AWS IoT Greengrass V2 개발자 안내서코어 디바이스 상태 확인을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조GetCoreDevice를 참조하세요.

다음 코드 예시에서는 get-deployment을 사용하는 방법을 보여 줍니다.

AWS CLI

배포를 가져오려면

다음 get-deployment 예제에서는 AWS IoT Greengrass 핵 구성 요소를 코어 디바이스 그룹에 배포하는 방법에 대한 정보를 가져옵니다.

aws greengrassv2 get-deployment \ --deployment-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

출력:

{ "targetArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/MyGreengrassCoreGroup", "revisionId": "14", "deploymentId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "deploymentName": "Deployment for MyGreengrassCoreGroup", "deploymentStatus": "ACTIVE", "iotJobId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "iotJobArn": "arn:aws:iot:us-west-2:123456789012:job/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "components": { "aws.greengrass.Nucleus": { "componentVersion": "2.0.3", "configurationUpdate": { "merge": "{\"jvmOptions\":\"-Xmx64m\",\"logging\":{\"level\":\"WARN\"}}", "reset": [ "/networkProxy", "/mqtt" ] } } }, "deploymentPolicies": { "failureHandlingPolicy": "ROLLBACK", "componentUpdatePolicy": { "timeoutInSeconds": 60, "action": "NOTIFY_COMPONENTS" }, "configurationValidationPolicy": { "timeoutInSeconds": 60 } }, "iotJobConfiguration": {}, "creationTimestamp": "2021-01-07T17:21:20.691000-08:00", "isLatestForTarget": false, "tags": {} }

자세한 내용은 AWS IoT Greengrass V2 개발자 안내서디바이스에 구성 요소 배포를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조GetDeployment를 참조하세요.

다음 코드 예시에서는 get-service-role-for-account을 사용하는 방법을 보여 줍니다.

AWS CLI

AWS 계정의 Greengrass 서비스 역할을 가져오려면

다음 get-service-role-for-account 예제에서는 AWS 계정의 AWS IoT Greengrass와 연결된 서비스 역할을 가져옵니다.

aws greengrassv2 get-service-role-for-account

출력:

{ "associatedAt": "2022-01-19T19:21:53Z", "roleArn": "arn:aws:iam::123456789012:role/service-role/Greengrass_ServiceRole" }

자세한 내용은 AWS IoT V2 Greengrass V2 개발자 안내서의 Greengrass 서비스 역할을 참조하세요.

다음 코드 예시에서는 list-client-devices-associated-with-core-device을 사용하는 방법을 보여 줍니다.

AWS CLI

코어 디바이스와 연결된 클라이언트 디바이스를 나열하려면

다음 list-client-devices-associated-with-core-device 예제에서는 코어 디바이스와 연결된 모든 클라이언트 디바이스를 나열합니다.

aws greengrassv2 list-client-devices-associated-with-core-device \ --core-device-thing-name MyTestGreengrassCore

출력:

{ "associatedClientDevices": [ { "thingName": "MyClientDevice2", "associationTimestamp": "2021-07-12T16:33:55.843000-07:00" }, { "thingName": "MyClientDevice1", "associationTimestamp": "2021-07-12T16:33:55.843000-07:00" } ] }

자세한 내용은 IoT Greengrass V2 개발자 안내서의 로컬 IoT 디바이스와의 상호 작용을 참조하세요. AWS IoT V2

다음 코드 예시에서는 list-component-versions을 사용하는 방법을 보여 줍니다.

AWS CLI

구성 요소의 버전을 나열하려면

다음 list-component-versions 예제에서는 Hello World 구성 요소의 모든 버전을 나열합니다.

aws greengrassv2 list-component-versions \ --arn arn:aws:greengrass:us-west-2:123456789012:components:com.example.HelloWorld

출력:

{ "componentVersions": [ { "componentName": "com.example.HelloWorld", "componentVersion": "1.0.1", "arn": "arn:aws:greengrass:us-west-2:123456789012:components:com.example.HelloWorld:versions:1.0.1" }, { "componentName": "com.example.HelloWorld", "componentVersion": "1.0.0", "arn": "arn:aws:greengrass:us-west-2:123456789012:components:com.example.HelloWorld:versions:1.0.0" } ] }

자세한 내용은 AWS IoT Greengrass V2 개발자 안내서구성 요소 관리를 참조하세요.

다음 코드 예시에서는 list-components을 사용하는 방법을 보여 줍니다.

AWS CLI

구성 요소를 나열하려면

다음 list-components 예제에서는 현재 리전의 AWS 계정에 정의된 각 구성 요소와 최신 버전을 나열합니다.

aws greengrassv2 list-components

출력:

{ "components": [ { "arn": "arn:aws:greengrass:us-west-2:123456789012:components:com.example.HelloWorld", "componentName": "com.example.HelloWorld", "latestVersion": { "arn": "arn:aws:greengrass:us-west-2:123456789012:components:com.example.HelloWorld:versions:1.0.1", "componentVersion": "1.0.1", "creationTimestamp": "2021-01-08T16:51:07.352000-08:00", "description": "My first AWS IoT Greengrass component.", "publisher": "Amazon", "platforms": [ { "attributes": { "os": "linux" } } ] } } ] }

자세한 내용은 AWS IoT Greengrass V2 개발자 안내서구성 요소 관리를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조ListComponents를 참조하세요.

다음 코드 예시에서는 list-core-devices을 사용하는 방법을 보여 줍니다.

AWS CLI

코어 디바이스를 나열하려면

다음 list-core-devices 예제에서는 현재 리전의 AWS 계정에 있는 AWS IoT Greengrass 코어 디바이스를 나열합니다.

aws greengrassv2 list-core-devices

출력:

{ "coreDevices": [ { "coreDeviceThingName": "MyGreengrassCore", "status": "HEALTHY", "lastStatusUpdateTimestamp": "2021-01-08T04:57:58.838000-08:00" } ] }

자세한 내용은 AWS IoT Greengrass V2 개발자 안내서코어 디바이스 상태 확인을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조ListCoreDevices를 참조하세요.

다음 코드 예시에서는 list-deployments을 사용하는 방법을 보여 줍니다.

AWS CLI

배포를 나열하려면

다음 list-deployments 예제에서는 현재 리전의 AWS 계정에 정의된 각 배포의 최신 개정을 나열합니다.

aws greengrassv2 list-deployments

출력:

{ "deployments": [ { "targetArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/MyGreengrassCoreGroup", "revisionId": "14", "deploymentId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "deploymentName": "Deployment for MyGreengrassCoreGroup", "creationTimestamp": "2021-01-07T17:21:20.691000-08:00", "deploymentStatus": "ACTIVE", "isLatestForTarget": false }, { "targetArn": "arn:aws:iot:us-west-2:123456789012:thing/MyGreengrassCore", "revisionId": "1", "deploymentId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "deploymentName": "Deployment for MyGreengrassCore", "creationTimestamp": "2021-01-06T16:10:42.407000-08:00", "deploymentStatus": "COMPLETED", "isLatestForTarget": false } ] }

자세한 내용은 AWS IoT Greengrass V2 개발자 안내서디바이스에 구성 요소 배포를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조ListDeployments를 참조하세요.

다음 코드 예시에서는 list-effective-deployments을 사용하는 방법을 보여 줍니다.

AWS CLI

배포 작업을 나열하려면

다음 list-effective-deployments 예제에서는 AWS IoT Greengrass 코어 디바이스에 적용되는 배포를 나열합니다.

aws greengrassv2 list-effective-deployments \ --core-device-thing-name MyGreengrassCore

출력:

{ "effectiveDeployments": [ { "deploymentId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "deploymentName": "Deployment for MyGreengrassCore", "iotJobId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333", "targetArn": "arn:aws:iot:us-west-2:123456789012:thing/MyGreengrassCore", "coreDeviceExecutionStatus": "COMPLETED", "reason": "SUCCESSFUL", "creationTimestamp": "2021-01-06T16:10:42.442000-08:00", "modifiedTimestamp": "2021-01-08T17:21:27.830000-08:00" }, { "deploymentId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "deploymentName": "Deployment for MyGreengrassCoreGroup", "iotJobId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE44444", "iotJobArn": "arn:aws:iot:us-west-2:123456789012:job/a1b2c3d4-5678-90ab-cdef-EXAMPLE44444", "targetArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/MyGreengrassCoreGroup", "coreDeviceExecutionStatus": "SUCCEEDED", "reason": "SUCCESSFUL", "creationTimestamp": "2021-01-07T17:19:20.394000-08:00", "modifiedTimestamp": "2021-01-07T17:21:20.721000-08:00" } ] }

자세한 내용은 AWS IoT Greengrass V2 개발자 안내서코어 디바이스 상태 확인을 참조하세요.

다음 코드 예시에서는 list-installed-components을 사용하는 방법을 보여 줍니다.

AWS CLI

코어 디바이스에 설치된 구성 요소를 나열하려면

다음 list-installed-components 예제에서는 AWS IoT Greengrass 코어 디바이스에 설치된 구성 요소를 나열합니다.

aws greengrassv2 list-installed-components \ --core-device-thing-name MyGreengrassCore

출력:

{ "installedComponents": [ { "componentName": "aws.greengrass.Cli", "componentVersion": "2.0.3", "lifecycleState": "RUNNING", "isRoot": true }, { "componentName": "aws.greengrass.Nucleus", "componentVersion": "2.0.3", "lifecycleState": "FINISHED", "isRoot": true } ] }

자세한 내용은 AWS IoT Greengrass V2 개발자 안내서코어 디바이스 상태 확인을 참조하세요.

다음 코드 예시에서는 list-tags-for-resource을 사용하는 방법을 보여 줍니다.

AWS CLI

리소스의 태그를 나열하려면

다음 list-tags-for-resource 예제에서는 AWS IoT Greengrass 코어 디바이스의 모든 태그를 나열합니다.

aws greengrassv2 list-tags-for-resource \ --resource-arn arn:aws:greengrass:us-west-2:123456789012:coreDevices:MyGreengrassCore

출력:

{ "tags": { "Owner": "richard-roe" } }

자세한 내용은 AWS IoT Greengrass V2 개발자 안내서리소스 태그 지정을 참조하세요.

다음 코드 예시에서는 tag-resource을 사용하는 방법을 보여 줍니다.

AWS CLI

리소스에 태그를 추가하려면

다음 tag-resource 예제에서는 소유자 태그를 AWS IoT Greengrass 코어 디바이스에 추가합니다. 이 태그를 사용하여 코어 디바이스를 소유한 사람에 따라 코어 디바이스에 대한 액세스를 제어할 수 있습니다.

aws greengrassv2 tag-resource \ --resource-arn arn:aws:greengrass:us-west-2:123456789012:coreDevices:MyGreengrassCore \ --tags Owner=richard-roe

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 AWS IoT Greengrass V2 개발자 안내서리소스 태그 지정을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조TagResource를 참조하세요.

다음 코드 예시에서는 untag-resource을 사용하는 방법을 보여 줍니다.

AWS CLI

리소스에서 태그를 제거하려면

다음 untag-resource 예제에서는 AWS IoT Greengrass 코어 디바이스에서 소유자 태그를 제거합니다.

aws iotsitewise untag-resource \ --resource-arn arn:aws:greengrass:us-west-2:123456789012:coreDevices:MyGreengrassCore \ --tag-keys Owner

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 AWS IoT Greengrass V2 개발자 안내서리소스 태그 지정을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조UntagResource를 참조하세요.

다음 코드 예시에서는 update-connectivity-info을 사용하는 방법을 보여 줍니다.

AWS CLI

Greengrass 코어 디바이스의 연결 정보를 업데이트하려면

다음 update-connectivity-info 예제에서는 Greengrass 코어 디바이스의 연결 정보를 가져옵니다. 클라이언트 디바이스는이 정보를 사용하여이 코어 디바이스에서 실행되는 MQTT 브로커에 연결합니다.

aws greengrassv2 update-connectivity-info \ --thing-name MyGreengrassCore \ --cli-input-json file://core-device-connectivity-info.json

core-device-connectivity-info.json의 콘텐츠:

{ "connectivityInfo": [ { "hostAddress": "192.0.2.0", "portNumber": 8883, "id": "localIP_192.0.2.0" } ] }

출력:

{ "version": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }

자세한 내용은 AWS IoT Greengrass V2 개발자 안내서코어 디바이스 엔드포인트 관리를 참조하세요.