将您的组件部署到设备 - Amazon Lookout for Vision

终止支持通知:2025年10月31日, AWS 将停止对亚马逊 Lookout for Vision 的支持。2025 年 10 月 31 日之后,你将无法再访问 Lookout for Vision 主机或 Lookout for Vision 资源。如需更多信息,请访问此博客文章

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

将您的组件部署到设备

要将模型组件和客户端应用程序组件部署到 AWS IoT Greengrass Version 2 核心设备,您应使用 AWS IoT Greengrass V2 控制台或使用 CreateDeployment API。有关更多信息,请参阅 AWS IoT Greengrass Version 2 开发者指南 中的创建部署。有关对部署到核心设备的组件进行更新的信息,请参阅修订部署

部署组件所需的 IAM 权限

要使用 AWS IoT Greengrass V2 来部署组件,您需要以下权限:

  • greengrass:ListComponents

  • greengrass:ListComponentVersions

  • greengrass:ListCoreDevices

  • greengrass:CreateDeployment

  • greengrass:GetDeployment

  • greengrass:ListDeployments

CreateDeploymentGetDeployment 具有依赖操作。有关更多信息,请参阅 Amazon IoT Greengrass V2 定义的操作

有关更改 IAM 权限的更多信息,请参阅更改用户的权限

部署您的组件(控制台)

使用以下过程可将客户端应用程序组件部署到核心设备。客户端应用程序依赖于模型组件(后者又依赖于 Lookout for Vision Edge Agent)。部署客户端应用程序组件时,还会启动模型组件和 Lookout for Vision Edge Agent 的部署。

注意

您可以将组件添加到现有部署中。您也可以将组件部署到事物组。

要运行此过程,必须事先配置 AWS IoT Greengrass V2 核心设备。有关更多信息,请参阅 设置您的 AWS IoT Greengrass Version 2 核心设备

将您的组件部署到设备
  1. 打开 AWS IoT Greengrass 控制台,网址为 https://console.aws.amazon.com/iot/

  2. 在左侧导航窗格中,于 Greengrass 下选择部署

  3. 部署下,选择创建

  4. 指定目标页面上,执行以下操作:

    1. 部署信息下,输入或修改部署的友好名称。

    2. 部署目标下,选择核心设备并输入目标名称。

    3. 选择 Next(下一步)。

  5. 选择用户页面上,执行以下操作:

    1. 我的组件下,选择您的客户端应用程序组件的名称 (com.lookoutvison.EdgeAgentPythonExample)。

    2. 选择 Next(下一步)。

  6. 配置组件页面上,保留当前配置并选择下一步

  7. 配置高级设置页面上,保留当前的设置,然后选择下一步

  8. 查看页面上,选择部署以开始部署您的组件。

检查部署状态(控制台)

您可以通过 AWS IoT Greengrass V2 控制台查看部署的状态。如果您的客户端应用程序组件使用创建客户端应用程序组件中的示例配方和代码,请在部署完成后查看客户端应用程序组件日志。如果部署成功,则日志中将包含部署到组件的 Lookout for Vision 模型的列表。

有关使用 AWS SDK 检查部署状态的信息,请参阅检查部署状态

检查部署状态
  1. 打开 AWS IoT Greengrass 控制台,网址为 https://console.aws.amazon.com/iot/

  2. 在左侧导航窗格中,选择核心设备

  3. Greengrass 核心设备下,选择您的核心设备。

  4. 选择部署选项卡以查看当前的部署状态。

  5. 部署成功后(状态为已完成),在核心设备上打开一个终端窗口,通过以下位置查看客户端应用程序组件日志:/greengrass/v2/logs/com.lookoutvison.EdgeAgentPythonExample.log。如果您的部署使用示例配方和代码,则日志中将包含 lookoutvision_edge_agent_example.py 的输出。例如:

    Model Details model_component:"ModelComponent"

部署组件 (SDK)

使用下面的过程,可以将客户端应用程序组件、模型组件和 Amazon Lookout for Vision Edge Agent 组件部署到您的核心设备。

  1. 创建一个 deployment.json 文件来为定义组件的部署配置。此文件应类似于以下示例。

    { "targetArn":"targetArn", "components": { "com.lookoutvison.EdgeAgentPythonExample": { "componentVersion": "1.0.0", "configurationUpdate": { } } } }
    • targetArn 字段中,按以下格式将 targetArn 替换为部署目标的事物或事物组的 Amazon 资源名称 (ARN):

      • 事物:arn:aws:iot:region:account-id:thing/thingName

      • 事物组:arn:aws:iot:region:account-id:thinggroup/thingGroupName

  2. 检查部署目标是否有要修改的现有部署。执行以下操作:

    1. 运行以下命令,列出部署目标的部署。targetArn 应替换为目标 AWS IoT 事物或事物组的 Amazon 资源名称 (ARN)。要获取当前亚马逊云科技区域中的事物 ARN,请使用命令 aws iot list-things

      aws greengrassv2 list-deployments --target-arn targetArn

      响应中包含目标最新部署的列表。如果响应为空,则表示目标没有现有部署,您可以跳到步骤 3。否则,请复制响应中的 deploymentId,以便在下一步中使用。

    2. 运行以下命令,获取部署的详细信息。这些详细信息包括元数据、组件和作业配置。deploymentId 应替换为上一步中的 ID。

      aws greengrassv2 get-deployment --deployment-id deploymentId
    3. 从上一个命令的响应中,将以下任何键值对复制到 deployment.json 中。您可以为新部署更改这些值。

      • deploymentName:部署的名称。

      • components:部署的组件。要卸载组件,请将其从该对象中移除。

      • deploymentPolicies:部署的策略。

      • tags:部署的标签。

  3. 运行以下命令以在设备上部署组件。记下响应中 deploymentId 的值。

    aws greengrassv2 create-deployment \ --cli-input-json file://path/to/deployment.json
  4. 运行以下命令以获取部署的状态。deployment-id 应更改为您在上一步中记录的值。如果 deploymentStatus 的值为 COMPLETED,表示已成功完成部署。

    aws greengrassv2 get-deployment --deployment-id deployment-id
  5. 部署成功后,在核心设备上打开一个终端窗口,通过以下位置查看客户端应用程序组件日志:/greengrass/v2/logs/com.lookoutvison.EdgeAgentPythonExample.log。如果您的部署使用示例配方和代码,则日志中将包含 lookoutvision_edge_agent_example.py 的输出。例如:

    Model Details model_component:"ModelComponent"