步骤 6:部署您的组件 - AWS IoT Greengrass

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

步骤 6:部署您的组件

使用AWS IoT Greengrass,您可以将组件部署到单个设备或设备组。部署组件时,AWS IoT Greengrass会在每台目标设备上安装并运行该组件的软件。您可以为每个组件指定要部署的组件以及要部署的配置更新。您还可以控制部署部署如何部署到部署目标设备。有关更多信息,请参阅 将AWS IoT Greengrass组件部署到设备

在本节中,您将你的 Hello World 组件部署回你的 Greengrass 核心设备。

  1. AWS IoT Greengrass控制台导航菜单中,选择组件

  2. 在 “组件” 页面的 “我的组件” 选项卡上,选择com.example.HelloWorld

  3. com.example.HelloWorld 页面上,选择部署

  4. 从 “添加到部署” 中,选择 “创建新部署”,然后选择 “下一步”。

  5. 指定目标页面中,执行以下操作:

    1. 名称框中,输入 Deployment for MyGreengrassCore

    2. 对于部署目标,选择核心设备和AWS IoT核心设备的名称。本教程中的默认值为MyGreengrassCore

    3. 请选择 Next(下一步)

  6. “选择组件” 页面的 “我的组件” 下,确认已选择该com.example.HelloWorld组件,然后选择 “下一步”。

  7. 配置组件页面上 com.example.HelloWorld,选择并执行以下操作:

    1. 选择配置组件

    2. 配置更新下的要合并的配置中,输入以下配置。

      { "Message": "universe" }

      此配置更新将此部署中设备的 Hello World Message 参数设置为。universe

    3. 选择确认

    4. 请选择 Next(下一步)

  8. 配置高级设置页面上,保留默认配置设置,然后选择下一步

  9. Review(检查)页上,选择 Deploy(部署)。

  10. 验证部署是否成功完成。完成部署可能需要数分钟。查看 Hello World 日志以验证更改。在你的 Greengrass 核心设备上运行以下命令。

    Linux or Unix
    sudo tail -f /greengrass/v2/logs/com.example.HelloWorld.log
    Windows Command Prompt (CMD)
    type C:\greengrass\v2\\logs\\com.example.HelloWorld.log
    PowerShell
    gc C:\greengrass\v2\\logs\\com.example.HelloWorld.log -Tail 10 -Wait

    您应该会看到类似于以下示例的消息。

    Hello, universe! Greetings from your first Greengrass component.
    注意

    如果日志消息未更改,则表示部署失败或未到达核心设备。如果您的核心设备未连接到互联网或无权从 S3 存储桶中检索项目,则可能会发生这种情况。在核心设备上运行以下命令以查看AWS IoT Greengrass核心软件日志文件。此文件包含来自 Greengrass 核心设备部署服务的日志。

    Linux or Unix
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows Command Prompt (CMD)
    type C:\greengrass\v2\\logs\\greengrass.log

    type命令将文件内容写入终端。多次运行此命令以观察文件中的更改。

    PowerShell
    gc C:\greengrass\v2\\logs\\greengrass.log -Tail 10 -Wait

    有关更多信息,请参阅 故障排除 AWS IoT Greengrass V2

部署你的 Hello World 组件
  1. 在您的开发计算机上,创建一个名为的文件,hello-world-deployment.json并将以下 JSON 复制到该文件中。此文件定义了要部署的组件和配置。

    { "components": { "com.example.HelloWorld": { "componentVersion": "1.0.0", "configurationUpdate": { "merge": "{\"Message\":\"universe\"}" } } } }

    此配置文件指定部署您在之前1.0.0的过程中开发和发布的 Hello World 组件的版本。configurationUpdate指定将组件配置合并为 JSON 编码的字符串。此配置更新将此部署中设备的 Hello World Message 参数设置为。universe

  2. 运行以下命令将该组件部署到您的 Greengrass 核心设备上。您可以部署到事物(即单个设备)或事物组(即设备组)。MyGreengrassCore替换为AWS IoT核心设备的名称。

    Linux or Unix
    aws greengrassv2 create-deployment \ --target-arn "arn:aws:iot:region:account-id:thing/MyGreengrassCore" \ --cli-input-json file://hello-world-deployment.json
    Windows Command Prompt (CMD)
    aws greengrassv2 create-deployment ^ --target-arn "arn:aws:iot:region:account-id:thing/MyGreengrassCore" ^ --cli-input-json file://hello-world-deployment.json
    PowerShell
    aws greengrassv2 create-deployment ` --target-arn "arn:aws:iot:region:account-id:thing/MyGreengrassCore" ` --cli-input-json file://hello-world-deployment.json

    该命令输出类似于以下示例的响应。

    { "deploymentId": "deb69c37-314a-4369-a6a1-3dff9fce73a9", "iotJobId": "b5d92151-6348-4941-8603-bdbfb3e02b75", "iotJobArn": "arn:aws:iot:region:account-id:job/b5d92151-6348-4941-8603-bdbfb3e02b75" }
  3. 验证部署是否成功完成。完成部署可能需要数分钟。查看 Hello World 日志以验证更改。在你的 Greengrass 核心设备上运行以下命令。

    Linux or Unix
    sudo tail -f /greengrass/v2/logs/com.example.HelloWorld.log
    Windows Command Prompt (CMD)
    type C:\greengrass\v2\\logs\\com.example.HelloWorld.log
    PowerShell
    gc C:\greengrass\v2\\logs\\com.example.HelloWorld.log -Tail 10 -Wait

    您应该会看到类似于以下示例的消息。

    Hello, universe! Greetings from your first Greengrass component.
    注意

    如果日志消息未更改,则表示部署失败或未到达核心设备。如果您的核心设备未连接到互联网或无权从 S3 存储桶中检索项目,则可能会发生这种情况。在核心设备上运行以下命令以查看AWS IoT Greengrass核心软件日志文件。此文件包含来自 Greengrass 核心设备部署服务的日志。

    Linux or Unix
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows Command Prompt (CMD)
    type C:\greengrass\v2\\logs\\greengrass.log

    type命令将文件内容写入终端。多次运行此命令以观察文件中的更改。

    PowerShell
    gc C:\greengrass\v2\\logs\\greengrass.log -Tail 10 -Wait

    有关更多信息,请参阅 故障排除 AWS IoT Greengrass V2