本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 deployment
命令與核心裝置上的本機元件互動。
若要監控本機部署的進度,請使用 status
子命令。您無法使用 主控台監控本機部署的進度。
建立
使用指定的元件配方、成品和執行期引數建立或更新本機部署。
- 概要
-
greengrass-cli deployment create --recipeDir
path/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>
,...] [--failure-handling-policy<policy name
[ROLLBACK, DO_NOTHING]>] - 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/
"] \ } \ }MERGE
和 區分RESET
大小寫,且必須是大寫。 -
--groupId
、-g
。 部署的目標物件群組。 -
--merge
、-m
。 您要新增或更新的目標元件名稱和版本。您必須以 格式提供元件資訊
。為每個要指定的額外元件使用單獨的引數。如有需要,請使用<component>
=<version>
--runWith
引數提供執行元件的posixGroup
、posixUser
和windowsUser
資訊。 -
--runWith
。 執行一般或 Lambda 元件的posixUser
posixGroup
、 和windowsUser
資訊。您必須以 格式提供此資訊
。例如,您可以指定<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
,以將此元件的程序限制為 CPU 的 25% 用量。如果您將此值設定為大於 CPU 核心數量的數字,則 AWS IoT Greengrass Core 軟體不會限制元件的 CPU 用量。 -
memory
– 此元件的程序可在核心裝置上使用的 RAM 數量上限 (以 KB 為單位)。
如需詳細資訊,請參閱設定元件的系統資源限制。
此功能適用於 Linux 核心裝置上的 Greengrass 核元件和 Greengrass CLI 的 v2.4.0 和更新版本。目前 AWS IoT Greengrass 不支援 Windows 核心裝置上的此功能。
-
-
--remove
。 您要從本機部署中移除的目標元件名稱。若要移除從雲端部署合併的元件,您必須以下列格式提供目標物件群組的群組 ID:--remove
<component-name>
--groupId<group-name>
-
--failure-handling-policy
。 定義部署失敗時所採取的動作。您可以指定兩個動作:-
ROLLBACK
– -
DO_NOTHING
–
此功能適用於 的 v2.11.0 和更新版本。 Greengrass 核
-
-
- 輸出
-
下列範例顯示執行此命令時產生的輸出。
$ 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
取消
取消指定的部署。
- 概要
-
greengrass-cli deployment cancel -i
<deployment-id>
- 引數
-
-i
。 要取消之部署的唯一識別符。部署 ID 會在create
命令的輸出中傳回。 - 輸出
-
無
列出
擷取最近 10 個本機部署的狀態。
- 概要
-
greengrass-cli deployment list
- Arguments (引數)
-
無
- 輸出
-
下列範例顯示執行此命令時產生的輸出。根據您的部署狀態,輸出會顯示下列其中一個狀態值:
SUCCEEDED
、IN_PROGRESS
或FAILED
。$ sudo greengrass-cli deployment list 44d89f46-1a29-4044-ad89-5151213dfcbc: SUCCEEDED Created on: 6/27/23 11:05 AM
status
擷取特定部署的狀態。
- 概要
-
greengrass-cli deployment status -i
<deployment-id>
- Arguments (引數)
-
-i
。 部署的 ID。 - 輸出
-
下列範例顯示執行此命令時產生的輸出。根據您的部署狀態,輸出會顯示下列其中一個狀態值:
SUCCEEDED
、IN_PROGRESS
或FAILED
。$ sudo greengrass-cli deployment status -i 44d89f46-1a29-4044-ad89-5151213dfcbc 44d89f46-1a29-4044-ad89-5151213dfcbc: FAILED Created on: 6/27/23 11:05 AM Detailed Status:
<Detailed deployment status>
Deployment Error Stack:List of error codes
Deployment Error Types:List of error types
Failure Cause:Cause