本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
deployment
使用deployment
命令与核心设备上的本地组件进行交互。
create
使用指定的组件配方、工件和运行时参数创建或更新本地部署。
- 摘要
-
$
sudo greengrass-cli deployment create --recipeDirpath/to/component/recipe
[--artifactDirpath/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
/<artifact-name>
/<version>
/<artifacts>
-
--update-config
、-c
. 部署的配置参数,以 JSON 字符串或 JSON 文件的形式提供。JSON 字符串应采用以下格式:{ \ "
componentName
": { \ "MERGE": {"config-key
": "config-value
"}, \ "RESET": ["path/to/reset/
"] \ } \ }MERGE
和RESET
区分大小写,且必须介于大写之间。 -
--groupId
、-g
. 部署的目标事物组。 -
--merge
、-m
. 要添加或更新的目标组件的名称和版本。必须以格式提供元件信息:
. 为要指定的每个附加组件使用单独的参数。如果需要,请使用<component>
=<version>
--runWith
参数来提供posixUser
和posixGroup
用于运行组件的信息。 -
--runWith
. 这些区域有:posixUser
和posixGroup
运行组件的信息。您必须以格式提供此信息。
. 例如:<component>
:posixUser=<user>
[:<group>
]HelloWorld:posixUser=ggc_user:ggc_group
。为要指定的每个附加选项使用单独的参数。有关更多信息,请参阅配置运行组件的用户和组。
-
--systemLimits
. 应用于核心设备上组件进程的系统资源限制。您可以配置每个组件的进程在核心设备上可以使用的最大 CPU 和 RAM 使用量。指定序列化 JSON 对象或 JSON 文件的文件路径。JSON 对象必须具有以下格式。{ \ "
componentName
": { \ "cpus":cpuTimeLimit
, \ "memory":memoryLimitInKb
\ } \ }您可以为每个组件配置以下系统资源限制:
-
cpus
–此组件的进程在核心设备上可以使用的最大 CPU 时间。核心设备的总 CPU 时间等同于设备的 CPU 内核数。例如,在具有 4 个 CPU 内核的核心设备上,您可以将此值设置为2
将此组件的进程限制在每个 CPU 内核的 50% 使用率。在具有 1 个 CPU 内核的设备上,您可以将此值设置为0.25
将此组件的进程限制为 CPU 使用率的 25%。如果将此值设置为一个大于 CPU 核心数的数,Amazon IoT Greengrass核心软件不限制组件的 CPU 使用率。 -
memory
–此组件的进程可在核心设备上使用的最大 RAM 量(以千字节为单位)。
有关更多信息,请参阅配置组件的系统资源限制。
此功能适用于 v2.4.0 及更高版本的Greengrass 核分量和 Greengrass CLI。
-
-
--remove
. 要从本地部署删除的目标组件的名称。若要从云部署中删除合并的组件,您必须以以下格式提供目标事物组的组 ID:--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
list
检索最后 10 个本地部署的状态。
- 摘要
-
$
sudo greengrass-cli deployment list - Arguments
-
无
- 输出
-
以下示例显示在运行此命令时生成的输出。根据部署的状态,输出将显示以下状态值之一:
IN_PROGRESS
、SUCCEEDED
,或者FAILED
.$ sudo greengrass-cli deployment list 44d89f46-1a29-4044-ad89-5151213dfcbc: SUCCEEDED
status
检索特定部署的状态。
- 摘要
-
$
sudo 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