AWS IoT Greengrass V2 使用 的範例 AWS CLI - AWS Command Line Interface

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

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詳細資訊,請參閱 命令參考 CancelDeployment中的 。 AWS CLI

下列程式碼範例示範如何使用 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詳細資訊,請參閱 命令參考 CreateDeployment中的 。 AWS CLI

下列程式碼範例示範如何使用 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詳細資訊,請參閱 命令參考 DeleteComponent中的 。 AWS CLI

下列程式碼範例示範如何使用 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詳細資訊,請參閱 命令參考 DeleteCoreDevice中的 。 AWS CLI

下列程式碼範例示範如何使用 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 開發人員指南中的管理元件

下列程式碼範例示範如何使用 disassociate-service-role-from-account

AWS CLI

取消 Greengrass 服務角色與 AWS 帳戶的關聯

下列disassociate-service-role-from-account範例會將 Greengrass 服務角色與 AWS 帳戶的 AWS IoT Greengrass 取消關聯。

aws greengrassv2 disassociate-service-role-from-account

輸出:

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

如需詳細資訊,請參閱 AWS IoT V2 Greengrass V2 開發人員指南中的 Greengrass 服務角色

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

AWS CLI

取得 URL以下載元件成品

下列get-component-version-artifact範例會取得 URL來下載本機偵錯主控台元件JAR的檔案。

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

輸出:

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

如需詳細資訊,請參閱 AWS IoT Greengrass V2 開發人員指南中的管理元件

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

AWS CLI

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

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

使用 --output--query 參數來控制命令的輸出。這些參數會從命令的輸出擷取配方 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詳細資訊,請參閱 命令參考 GetComponent中的 。 AWS CLI

下列程式碼範例示範如何使用 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詳細資訊,請參閱 命令參考 GetCoreDevice中的 。 AWS CLI

下列程式碼範例示範如何使用 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詳細資訊,請參閱 命令參考 GetDeployment中的 。 AWS CLI

下列程式碼範例示範如何使用 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詳細資訊,請參閱 命令參考 ListComponents中的 。 AWS CLI

下列程式碼範例示範如何使用 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詳細資訊,請參閱 命令參考 ListCoreDevices中的 。 AWS CLI

下列程式碼範例示範如何使用 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詳細資訊,請參閱 命令參考 ListDeployments中的 。 AWS CLI

下列程式碼範例示範如何使用 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詳細資訊,請參閱 命令參考 TagResource中的 。 AWS CLI

下列程式碼範例示範如何使用 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詳細資訊,請參閱 命令參考 UntagResource中的 。 AWS CLI

下列程式碼範例示範如何使用 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 開發人員指南中的管理核心裝置端點