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

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

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

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 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 開發人員指南中的建立要部署的自訂元件和上傳元件

範例 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 設定重設為預設值。設定 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" }

如需詳細資訊,請參閱 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範例會取消您 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 開發人員指南中的管理元件

下列程式碼範例示範如何使用 get-component

AWS CLI

範例 1:下載 YAML 格式的元件配方 (Linux、macOS 或 Unix)

下列get-component範例會將 Hello World 元件的配方下載至 YAML 格式的檔案。此命令會執行下列動作:

使用 --output--query 參數來控制命令的輸出。這些參數會從命令的輸出擷取配方 Blob。如需控制輸出的詳細資訊,請參閱 命令列介面使用者指南中的控制命令輸出。使用 base64 公用程式。 AWS 此公用程式會將擷取的 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範例取得 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範例會取得 IoT 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 開發人員指南中的管理核心裝置端點