

Doc AWS SDK 예제 GitHub 리포지토리에서 더 많은 SDK 예제를 사용할 수 있습니다. [AWS](https://github.com/awsdocs/aws-doc-sdk-examples) 

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

# AWS IoT Greengrass V2 를 사용한 예제 AWS CLI
<a name="cli_2_greengrassv2_code_examples"></a>

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

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

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

**Topics**
+ [작업](#actions)

## 작업
<a name="actions"></a>

### `associate-service-role-to-account`
<a name="greengrassv2_AssociateServiceRoleToAccount_cli_2_topic"></a>

다음 코드 예시는 `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 Greengrass V2 개발자 안내서*의 [Greengrass 서비스 역할](https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-service-role.html)을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [AssociateServiceRoleToAccount](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/greengrassv2/associate-service-role-to-account.html) 섹션을 참조하세요.

### `batch-associate-client-device-with-core-device`
<a name="greengrassv2_BatchAssociateClientDeviceWithCoreDevice_cli_2_topic"></a>

다음 코드 예시에서는 `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": []
}
```
자세한 내용은 *AWS IoT Greengrass V2 개발자 안내서*의 [로컬 IoT 디바이스와 상호 작용](https://docs.aws.amazon.com/greengrass/v2/developerguide/interact-with-local-iot-devices.html)을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [BatchAssociateClientDeviceWithCoreDevice](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/greengrassv2/batch-associate-client-device-with-core-device.html) 섹션을 참조하세요.

### `batch-disassociate-client-device-from-core-device`
<a name="greengrassv2_BatchDisassociateClientDeviceFromCoreDevice_cli_2_topic"></a>

다음 코드 예시에서는 `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": []
}
```
자세한 내용은 *AWS IoT Greengrass V2 개발자 안내서*의 [로컬 IoT 디바이스와 상호 작용](https://docs.aws.amazon.com/greengrass/v2/developerguide/interact-with-local-iot-devices.html)을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [BatchDisassociateClientDeviceFromCoreDevice](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/greengrassv2/batch-disassociate-client-device-from-core-device.html) 섹션을 참조하세요.

### `cancel-deployment`
<a name="greengrassv2_CancelDeployment_cli_2_topic"></a>

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

**AWS CLI**  
**배포 취소**  
다음 `cancel-deployment` 예시에서는 사물 그룹에 대한 연속 배포를 중지합니다.  

```
aws greengrassv2 cancel-deployment \
    --deployment-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
```
출력:  

```
{
    "message": "SUCCESS"
}
```
자세한 내용은 *AWS IoT Greengrass V2 개발자 안내서*의 [배포 취소](https://docs.aws.amazon.com/greengrass/v2/developerguide/cancel-deployments.html)를 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [CancelDeployment](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/greengrassv2/cancel-deployment.html) 섹션을 참조하세요.

### `create-component-version`
<a name="greengrassv2_CreateComponentVersion_cli_2_topic"></a>

다음 코드 예시에서는 `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/create-components.html) 및 [배포할 구성 요소 업로드](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 함수 실행](https://docs.aws.amazon.com/greengrass/v2/developerguide/run-lambda-functions.html)을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [CreateComponentVersion](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/greengrassv2/create-component-version.html) 섹션을 참조하세요.

### `create-deployment`
<a name="greengrassv2_CreateDeployment_cli_2_topic"></a>

다음 코드 예시에서는 `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 개발자 안내서*의 [배포 생성](https://docs.aws.amazon.com/greengrass/v2/developerguide/create-deployments.html)을 참조하세요.  
**예시 2: 구성 요소 구성을 업데이트하는 배포 생성**  
다음 `create-deployment` 예시에서는 AWS IoT Greengrass nucleus 구성 요소를 코어 디바이스 그룹에 배포합니다. 이 배포는 핵 구성 요소에 대해 다음 구성 업데이트를 적용합니다.  
대상 디바이스의 프록시 설정을 기본값인 프록시 없음 설정으로 재설정합니다. 대상 디바이스의 MQTT 설정을 기본값으로 재설정합니다. 핵의 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 개발자 안내서*의 [배포 생성](https://docs.aws.amazon.com/greengrass/v2/developerguide/create-deployments.html) 및 [구성 요소 구성 업로드](https://docs.aws.amazon.com/greengrass/v2/developerguide/update-component-configurations.html)를 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [CreateDeployment](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/greengrassv2/create-deployment.html)를 참조하세요.

### `delete-component`
<a name="greengrassv2_DeleteComponent_cli_2_topic"></a>

다음 코드 예시에서는 `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 개발자 안내서*의 [구성 요소 관리](https://docs.aws.amazon.com/greengrass/v2/developerguide/manage-components.html)를 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [DeleteComponent](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/greengrassv2/delete-component.html) 섹션을 참조하세요.

### `delete-core-device`
<a name="greengrassv2_DeleteCoreDevice_cli_2_topic"></a>

다음 코드 예시에서는 `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 소프트웨어 제거](https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-greengrass-core-v2.html#uninstall-greengrass-core-v2)를 참조하세요. *AWS IoT V2 *  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [DeleteCoreDevice](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/greengrassv2/delete-core-device.html) 섹션을 참조하세요.

### `describe-component`
<a name="greengrassv2_DescribeComponent_cli_2_topic"></a>

다음 코드 예시에서는 `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 개발자 안내서*의 [구성 요소 관리](https://docs.aws.amazon.com/greengrass/v2/developerguide/manage-components.html)를 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [DescribeComponent](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/greengrassv2/describe-component.html) 섹션을 참조하세요.

### `disassociate-service-role-from-account`
<a name="greengrassv2_DisassociateServiceRoleFromAccount_cli_2_topic"></a>

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

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

```
aws greengrassv2 disassociate-service-role-from-account
```
출력:  

```
{
    "disassociatedAt": "2022-01-19T19:26:09Z"
}
```
자세한 내용은 *AWS IoT Greengrass V2 개발자 안내서*의 [Greengrass 서비스 역할](https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-service-role.html)을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [DisassociateServiceRoleFromAccount](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/greengrassv2/disassociate-service-role-from-account.html) 섹션을 참조하세요.

### `get-component-version-artifact`
<a name="greengrassv2_GetComponentVersionArtifact_cli_2_topic"></a>

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

**AWS CLI**  
**구성 요소 아티팩트를 다운로드할 URL 가져오기**  
다음 `get-component-version-artifact` 예시에서는 로컬 디버그 콘솔 구성 요소의 JAR 파일을 다운로드할 수 있는 URL을 가져옵니다.  

```
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 개발자 안내서*의 [구성 요소 관리](https://docs.aws.amazon.com/greengrass/v2/developerguide/manage-components.html)를 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [GetComponentVersionArtifact](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/greengrassv2/get-component-version-artifact.html) 섹션을 참조하세요.

### `get-component`
<a name="greengrassv2_GetComponent_cli_2_topic"></a>

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

**AWS CLI**  
**예시 1: YAML 형식(Linux, macOS 또는 Unix)으로 구성 요소의 레시피 다운로드**  
다음 `get-component` 예시는 Hello World 구성 요소의 레시피를 YAML 형식의 파일로 다운로드하는 예시입니다. 이 명령은 다음 작업을 수행합니다.  
`--output` 및 `--query` 파라미터를 사용하여 명령의 출력을 제어합니다. 이러한 파라미터는 명령의 출력에서 레시피 블롭을 추출합니다. 출력 제어에 대한 자세한 내용은 *AWS 명령줄 인터페이스 사용 설명서*의 [명령어 출력 제어](https://docs.aws.amazon.com/cli/latest/userguide/controlling-output.html)를 참조하세요. `base64` 유틸리티를 사용합니다. 이 유틸리티는 추출된 블롭을 원본 텍스트로 디코딩합니다. `get-component` 명령이 성공하면 반환되는 블롭은 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 개발자 안내서*의 [구성 요소 관리](https://docs.aws.amazon.com/greengrass/v2/developerguide/manage-components.html)를 참조하세요.  
**예시 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 개발자 안내서*의 [구성 요소 관리](https://docs.aws.amazon.com/greengrass/v2/developerguide/manage-components.html)를 참조하세요.  
**예시 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 개발자 안내서*의 [구성 요소 관리](https://docs.aws.amazon.com/greengrass/v2/developerguide/manage-components.html)를 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [GetComponent](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/greengrassv2/get-component.html) 섹션을 참조하세요.

### `get-connectivity-info`
<a name="greengrassv2_GetConnectivityInfo_cli_2_topic"></a>

다음 코드 예시에서는 `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 개발자 안내서*의 [코어 디바이스 엔드포인트 관리](https://docs.aws.amazon.com/greengrass/v2/developerguide/manage-core-device-endpoints.html)를 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [GetConnectivityInfo](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/greengrassv2/get-connectivity-info.html) 섹션을 참조하세요.

### `get-core-device`
<a name="greengrassv2_GetCoreDevice_cli_2_topic"></a>

다음 코드 예시에서는 `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 개발자 안내서*의 [코어 디바이스 상태 확인](https://docs.aws.amazon.com/greengrass/v2/developerguide/device-status.html)을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [GetCoreDevice](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/greengrassv2/get-core-device.html) 섹션을 참조하세요.

### `get-deployment`
<a name="greengrassv2_GetDeployment_cli_2_topic"></a>

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

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

```
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 개발자 안내서*의 [디바이스에 구성 요소 배포](https://docs.aws.amazon.com/greengrass/v2/developerguide/manage-deployments.html)를 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [GetDeployment](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/greengrassv2/get-deployment.html) 섹션을 참조하세요.

### `get-service-role-for-account`
<a name="greengrassv2_GetServiceRoleForAccount_cli_2_topic"></a>

다음 코드 예시는 `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 Greengrass V2 개발자 안내서*의 [Greengrass 서비스 역할](https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-service-role.html)을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [GetServiceRoleForAccount](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/greengrassv2/get-service-role-for-account.html) 섹션을 참조하세요.

### `list-client-devices-associated-with-core-device`
<a name="greengrassv2_ListClientDevicesAssociatedWithCoreDevice_cli_2_topic"></a>

다음 코드 예시에서는 `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"
        }
    ]
}
```
자세한 내용은 *AWS IoT Greengrass V2 개발자 안내서*의 [로컬 IoT 디바이스와 상호 작용](https://docs.aws.amazon.com/greengrass/v2/developerguide/interact-with-local-iot-devices.html)을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [ListClientDevicesAssociatedWithCoreDevice](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/greengrassv2/list-client-devices-associated-with-core-device.html) 섹션을 참조하세요.

### `list-component-versions`
<a name="greengrassv2_ListComponentVersions_cli_2_topic"></a>

다음 코드 예시에서는 `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 개발자 안내서*의 [구성 요소 관리](https://docs.aws.amazon.com/greengrass/v2/developerguide/manage-components.html)를 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [ListComponentVersions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/greengrassv2/list-component-versions.html) 섹션을 참조하세요.

### `list-components`
<a name="greengrassv2_ListComponents_cli_2_topic"></a>

다음 코드 예시에서는 `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 개발자 안내서*의 [구성 요소 관리](https://docs.aws.amazon.com/greengrass/v2/developerguide/manage-components.html)를 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [ListComponents](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/greengrassv2/list-components.html) 섹션을 참조하세요.

### `list-core-devices`
<a name="greengrassv2_ListCoreDevices_cli_2_topic"></a>

다음 코드 예시에서는 `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 개발자 안내서*의 [코어 디바이스 상태 확인](https://docs.aws.amazon.com/greengrass/v2/developerguide/device-status.html)을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [ListCoreDevices](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/greengrassv2/list-core-devices.html) 섹션을 참조하세요.

### `list-deployments`
<a name="greengrassv2_ListDeployments_cli_2_topic"></a>

다음 코드 예시에서는 `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 개발자 안내서*의 [디바이스에 구성 요소 배포](https://docs.aws.amazon.com/greengrass/v2/developerguide/manage-deployments.html)를 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [ListDeployments](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/greengrassv2/list-deployments.html) 섹션을 참조하세요.

### `list-effective-deployments`
<a name="greengrassv2_ListEffectiveDeployments_cli_2_topic"></a>

다음 코드 예시에서는 `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 개발자 안내서*의 [코어 디바이스 상태 확인](https://docs.aws.amazon.com/greengrass/v2/developerguide/device-status.html)을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [ListEffectiveDeployments](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/greengrassv2/list-effective-deployments.html) 섹션을 참조하세요.

### `list-installed-components`
<a name="greengrassv2_ListInstalledComponents_cli_2_topic"></a>

다음 코드 예시에서는 `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 개발자 안내서*의 [코어 디바이스 상태 확인](https://docs.aws.amazon.com/greengrass/v2/developerguide/device-status.html)을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [ListInstalledComponents](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/greengrassv2/list-installed-components.html) 섹션을 참조하세요.

### `list-tags-for-resource`
<a name="greengrassv2_ListTagsForResource_cli_2_topic"></a>

다음 코드 예시에서는 `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 개발자 안내서*의 [리소스에 태그 지정](https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html)을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [ListTagsForResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/greengrassv2/list-tags-for-resource.html)를 참조하세요.

### `tag-resource`
<a name="greengrassv2_TagResource_cli_2_topic"></a>

다음 코드 예시에서는 `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 개발자 안내서*의 [리소스에 태그 지정](https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html)을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [TagResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/greengrassv2/tag-resource.html)를 참조하세요.

### `untag-resource`
<a name="greengrassv2_UntagResource_cli_2_topic"></a>

다음 코드 예시에서는 `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 개발자 안내서*의 [리소스에 태그 지정](https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html)을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [UntagResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/greengrassv2/untag-resource.html)를 참조하세요.

### `update-connectivity-info`
<a name="greengrassv2_UpdateConnectivityInfo_cli_2_topic"></a>

다음 코드 예시에서는 `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 개발자 안내서*의 [코어 디바이스 엔드포인트 관리](https://docs.aws.amazon.com/greengrass/v2/developerguide/manage-core-device-endpoints.html)를 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [UpdateConnectivityInfo](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/greengrassv2/update-connectivity-info.html) 섹션을 참조하세요.