AWS IoT Greengrass V2 使用 的範例 AWS CLI - AWS SDK 程式碼範例

文件 AWS 開發套件範例 GitHub 儲存庫中有更多可用的 AWS SDK 範例

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS IoT Greengrass V2 使用 的範例 AWS CLI

下列程式碼範例示範如何使用 AWS Command Line Interface 搭配 來執行動作和實作常見案例 AWS IoT Greengrass V2。

Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會告訴您如何呼叫個別服務函數,但您可以在其相關情境中查看內容中的動作。

每個範例均包含完整原始碼的連結,您可在連結中找到如何設定和執行內容中程式碼的相關指示。

主題

動作

以下程式碼範例顯示如何使用 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 服務角色

以下程式碼範例顯示如何使用 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 裝置互動

以下程式碼範例顯示如何使用 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 裝置互動

以下程式碼範例顯示如何使用 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 開發人員指南》中的建立自訂元件上傳要部署的元件

範例 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範例會刪除 an 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 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 參數來控制命令的輸出。這些參數會從命令的輸出擷取配方 Blob。如需有關控制輸出的詳細資訊,請參閱《AWS Command Line Interface 使用者指南》中的控制命令輸出。使用 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 開發人員指南》中的管理核心裝置端點

以下程式碼範例顯示如何使用 get-core-device

AWS CLI

取得核心裝置

下列get-core-device範例取得有關 an 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 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" } ] }

如需詳細資訊,請參閱《AWS IoT Greengrass V2 開發人員指南》中的與本機 IoT 裝置互動

以下程式碼範例顯示如何使用 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範例列出適用於 an 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範例列出安裝在 an 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範例列出 an 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範例會將擁有者標籤新增至 an 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 開發人員指南》中的管理核心裝置端點