AWS IoT Greengrass V2 を使用した例 AWS CLI - AWS SDKコードの例

Doc AWS SDK ExamplesWord リポジトリには、さらに多くの GitHub の例があります。 AWS SDK

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

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例では、2 つのクライアントデバイスをコアデバイスに関連付けます。

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例では、2 つのクライアントデバイスをコアデバイスから関連付け解除します。

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 IoTV2」を参照してください。

次のコード例は、cancel-deployment を使用する方法を示しています。

AWS CLI

デプロイをキャンセルするには

次のcancel-deployment例では、モノのグループへの継続的なデプロイを停止します。

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

出力:

{ "message": "SUCCESS" }

詳細については、IoT Greengrass V2 デベロッパーガイドの「デプロイをキャンセルする」を参照してください。 AWS IoT 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": {} } }

詳細については、IoT Greengrass V2 デベロッパーガイドのAWS 「Lambda 関数の実行」を参照してください。 AWS IoT V2

  • API の詳細については、AWS CLI 「 コマンドリファレンス」のCreateComponentVersion」を参照してください。

次の例は、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" }

詳細については、IoT Greengrass V2 デベロッパーガイドの「デプロイの作成」を参照してください。 AWS IoT V2

例 2: コンポーネント設定を更新するデプロイを作成するには

次のcreate-deployment例では、 AWS IoT Greengrass nucleus コンポーネントをコアデバイスのグループにデプロイします。このデプロイでは、nucleus コンポーネントに対して以下の設定更新が適用されます。

ターゲットデバイスのプロキシ設定をデフォルトのプロキシなし設定にリセットします。ターゲットデバイスの MQTT 設定をデフォルトにリセットします。nucleus の JVM の JVM オプションを設定します。nucleus のログ記録レベルを設定します。

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" }

詳細については、IoT Greengrass V2 デベロッパーガイドの「デプロイの作成」と「コンポーネント設定の更新」を参照してください。 AWS IoT 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例では、 AWS アカウントの Greengrass サービスロールと 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 デベロッパーガイド「コンポーネントの管理」を参照してください。

  • API の詳細については、AWS CLI 「 コマンドリファレンス」のGetComponentVersionArtifact」を参照してください。

次のコード例は、get-component を使用する方法を示しています。

AWS CLI

例 1: コンポーネントのレシピを YAML 形式 (Linux、macOS、または Unix) でダウンロードするには

次のget-component例では、Hello World コンポーネントのレシピを YAML 形式のファイルにダウンロードします。このコマンドは次のことを行います。

--output および --queryパラメータを使用して、コマンドの出力を制御します。これらのパラメータは、コマンドの出力からレシピブロブを抽出します。出力の制御の詳細については、「 コマンドAWS ラインインターフェイスユーザーガイド」の「コマンド出力の制御」を参照してください。 base64ユーティリティを使用します。このユーティリティは、抽出された BLOB を元のテキストにデコードします。成功したget-componentコマンドによって返される BLOB は base64 でエンコードされたテキストです。元のテキストを取得するには、この BLOB をデコードする必要があります。デコードされたテキストをファイルに保存してください。コマンド (> 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 デベロッパーガイド「コアデバイスエンドポイントの管理」を参照してください。

  • API の詳細については、 AWS CLI コマンドリファレンスGetConnectivityInfo を参照してください。

次の例は、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 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": {} }

詳細については、IoT Greengrass V2 デベロッパーガイドの「デバイスにコンポーネントをデプロイする」を参照してください。 AWS IoT 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 サービスロール」を参照してください。

  • API の詳細については、AWS CLI 「 コマンドリファレンス」のGetServiceRoleForAccount」を参照してください。

次のコード例は、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 IoTV2」を参照してください。

次の例は、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 デベロッパーガイド「コンポーネントの管理」を参照してください。

  • API の詳細については、AWS CLI 「 コマンドリファレンス」のListComponentVersions」を参照してください。

次のコード例は、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 } ] }

詳細については、IoT Greengrass V2 デベロッパーガイドの「デバイスにコンポーネントをデプロイする」を参照してください。 AWS IoT 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 デベロッパーガイド「コアデバイスのステータスを確認する」を参照してください。

  • API の詳細については、 AWS CLI コマンドリファレンスListEffectiveDeployments を参照してください。

次の例は、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 デベロッパーガイド「コアデバイスのステータスを確認する」を参照してください。

  • API の詳細については、AWS CLI 「 コマンドリファレンス」のListInstalledComponents」を参照してください。

次のコード例は、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 デベロッパーガイド「リソースにタグを付ける」を参照してください。

  • API の詳細については、AWS CLI 「 コマンドリファレンス」のListTagsForResource」を参照してください。

次の例は、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

このコマンドでは何も出力されません。

詳細については、IoT Greengrass V2 デベロッパーガイドの「リソースにタグを付ける」を参照してください。 AWS IoT 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

このコマンドでは何も出力されません。

詳細については、IoT Greengrass V2 デベロッパーガイドの「リソースにタグを付ける」を参照してください。 AWS IoT 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 デベロッパーガイド「コアデバイスエンドポイントの管理」を参照してください。

  • API の詳細については、AWS CLI 「 コマンドリファレンス」のUpdateConnectivityInfo」を参照してください。