部署 - Amazon IoT Greengrass
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

部署

使用deployment命令与核心设备上的本地组件进行交互。

要监控本地部署的进度,请使用status子命令。您无法使用控制台监控本地部署的进度。

子命令

创建

使用指定的组件配方、构件和运行时参数创建或更新本地部署。

摘要
greengrass-cli deployment create --recipeDir path/to/component/recipe [--artifactDir path/to/artifact/folder ] [--update-config {component-configuration}] [--groupId <thing-group>] [--merge "<component-name>=<component-version>"]... [--runWith "<component-name>:posixUser=<user-name>[:<group-name>]"]... [--systemLimits "{component-system-resource-limits}]"]... [--remove <component-name>,...]
Arguments (参数)
  • --recipeDir,-r. 包含组件配方文件的文件夹的完整路径。

  • --artifactDir,-a. 包含要在部署中包含的构件文件的文件夹的完整路径。构件文件夹必须包含以下目录结构:

    /path/to/artifact/folder/<component-name>/<component-version>/<artifacts>
  • --update-config,-c. 部署的配置参数,以 JSON 字符串或 JSON 文件形式提供。JSON 字符串应采用以下格式:

    { \ "componentName": { \ "MERGE": {"config-key": "config-value"}, \ "RESET": ["path/to/reset/"] \ } \ }

    MERGERESET区分大小写,且必须为大写。

  • --groupId,-g. 部署的目标事物组。

  • --merge,-m. 要添加或更新的目标组件的名称和版本。您必须以以下格式提供组件信息<component>=<version>. 为每个要指定的附加组件使用单独的参数。如果需要,使用--runWith提供以下参数的参数posixUser,posixGroup,以及windowsUser运行组件的信息。

  • --runWith. 这些区域有:posixUser,posixGroup,以及windowsUser有关运行通用组件或 Lambda 组件的信息。您必须按以下格式提供此信息<component>:{posixUser|windowsUser}=<user>[:<=posixGroup>]. 例如,您可能会指定HelloWorld:posixUser=ggc_user:ggc_group要么HelloWorld:windowsUser=ggc_user. 为每个要指定的附加选项使用单独的参数。

    有关更多信息,请参阅 配置运行组件的用户

  • --systemLimits. 系统资源限制适用于核心设备上的通用和非容器化 Lambda 组件进程。您可以配置每个组件的进程可以使用的最大 CPU 和 RAM 使用量。指定序列化的 JSON 对象或 JSON 文件的文件路径。JSON 对象必须具有以下格式。

    { \ "componentName": { \ "cpus": cpuTimeLimit, \ "memory": memoryLimitInKb \ } \ }

    您可以为每个组件配置以下系统资源限制:

    • cpus此组件的进程可以在核心设备上使用的最大 CPU 时间。核心设备的总 CPU 时间等于该设备的 CPU 内核数。例如,在具有 4 个 CPU 内核的核心设备上,您可以将此值设置为2将此组件的进程限制为每个 CPU 内核的使用率为 50%。在具有 1 个 CPU 内核的设备上,可以将此值设置为0.25将此组件的进程限制在 25% 的 CPU 使用率以内。如果您将此值设置为大于 CPU 内核数的数字,Amazon IoT Greengrass核心软件不限制组件的 CPU 使用率。

    • memory此组件的进程可以在核心设备上使用的最大内存量(以千字节为单位)。

    有关更多信息,请参阅 为组件配置系统资源限制

    此功能适用于 v2.4.0 及更高版本的Greengrass 核组分以及 Linux 核心设备上的 Greengrass CLIAmazon IoT Greengrass目前在 Windows 核心设备上不支持此功能。

  • --remove. 要从本地部署中移除的目标组件的名称。要从云部署中移除合并的组件,必须按以下格式提供目标事物组的组 ID:

    Greengrass nucleus v2.4.0 and later
    --remove <component-name> --groupId <group-name>
    Earlier than v2.4.0
    --remove <component-name> --groupId thinggroup/<group-name>
输出

下面的示例显示了运行此命令时生成的输出。

$ sudo greengrass-cli deployment create \ --merge MyApp1=1.0.0 \ --merge MyApp2=1.0.0 --runWith MyApp2:posixUser=ggc_user \ --remove MyApp3 \ --recipeDir recipes/ \ --artifactDir artifacts/ Local deployment has been submitted! Deployment Id: 44d89f46-1a29-4044-ad89-5151213dfcbc

列表

检索最近 10 次本地部署的状态。

摘要
greengrass-cli deployment list
Arguments (参数)

None(无)

输出

下面的示例显示了运行此命令时生成的输出。根据部署的状态,输出将显示以下状态值之一:IN_PROGRESS,SUCCEEDED,或FAILED.

$ sudo greengrass-cli deployment list 44d89f46-1a29-4044-ad89-5151213dfcbc: SUCCEEDED

状态

检索特定部署的状态。

摘要
greengrass-cli deployment status -i <deployment-id>
Arguments (参数)

-i. 部署的 ID。

输出

下面的示例显示了运行此命令时生成的输出。根据部署的状态,输出将显示以下状态值之一:IN_PROGRESS,SUCCEEDED,或FAILED.

$ sudo greengrass-cli deployment status -i 44d89f46-1a29-4044-ad89-5151213dfcbc 44d89f46-1a29-4044-ad89-5151213dfcbc: FAILED