使用 AWS CLI 的 AWS IoT Greengrass V2 示例
以下代码示例演示了如何通过将 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 Greengrass V2 开发人员指南》中的 Greengrass 服务角色。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 AssociateServiceRoleToAccount
。
-
以下代码示例演示了如何使用 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
\ --entriesthingName=MyClientDevice1
thingName=MyClientDevice2
输出:
{ "errorEntries": [] }
有关更多信息,请参阅《AWS IoT Greengrass V2 开发人员指南》中的与本地 IoT 设备交互。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 BatchAssociateClientDeviceWithCoreDevice
。
-
以下代码示例演示了如何使用 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
\ --entriesthingName=MyClientDevice1
thingName=MyClientDevice2
输出:
{ "errorEntries": [] }
有关更多信息,请参阅《AWS IoT Greengrass V2 开发人员指南》中的与本地 IoT 设备交互。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 BatchDisassociateClientDeviceFromCoreDevice
。
-
以下代码示例演示了如何使用 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 函数。
-
有关 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" }
有关更多信息,请参阅《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
示例删除 AWS IoT Greengrass 核心设备。aws greengrassv2 delete-core-device \ --core-device-thing-name
MyGreengrassCore
此命令不生成任何输出。
有关更多信息,请参阅《AWS IoT Greengrass V2 开发人员指南》中的卸载 AWS IoT Greengrass 核心软件。
-
有关 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 服务角色。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DisassociateServiceRoleFromAccount
。
-
以下代码示例演示了如何使用 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 开发人员指南》中的管理组件。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetComponentVersionArtifact
。
-
以下代码示例演示了如何使用 get-component
。
- AWS CLI
-
示例 1:以 YAML 格式(Linux、macOS 或 Unix)下载组件的配方
以下
get-component
示例将 Hello World 组件的配方下载到 YAML 格式的文件中。此命令执行以下操作:使用
--output
和--query
参数控制该命令的输出。这些参数从命令的输出中提取配方 blob。有关控制输出的更多信息,请参阅《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-formatYAML
\ --queryrecipe
\ --outputtext
|
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
^
--arnarn:aws:greengrass:us-west-2:675946970638:components:com.example.HelloWorld:versions:1.0.0
^
--recipe-output-formatYAML
^
--queryrecipe
^
--outputtext
>
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
`
--arnarn:aws:greengrass:us-west-2:675946970638:components:com.example.HelloWorld:versions:1.0.0
`
--recipe-output-formatYAML
`
--queryrecipe
`
--outputtext
>
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 核心组件部署到一组核心设备的信息。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 服务角色。
-
有关 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" } ] }
有关更多信息,请参阅《AWS IoT Greengrass V2 开发人员指南》中的与本地 IoT 设备交互。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListClientDevicesAssociatedWithCoreDevice
。
-
以下代码示例演示了如何使用 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 } ] }
有关更多信息,请参阅《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 开发人员指南》中的检查核心设备状态。
-
有关 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
\ --tagsOwner=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-keysOwner
此命令不生成任何输出。
有关更多信息,请参阅《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-jsonfile://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
。
-