本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
詳細的部署錯誤代碼
使用這些章節中的錯誤代碼和解決方案,以協助解決使用 Greengrass 核心 2.8.0 版或更新版本時的元件部署問題。
Greengrass 核心會將部署錯誤報告為最不特定於可用程式碼的階層。您可以使用此階層來協助找出部署錯誤的原因。例如,以下是一個可能的錯誤層次結構:
-
部署失敗 (_R)
-
人工件下載錯誤
-
IO_ 錯誤
-
磁碟空間關鍵
-
-
-
錯誤代碼被組織為類型。每種類型都代表可能發生的錯誤類別。AWS IoT Greengrass在主控台、API 和中報告這些錯誤類型AWS CLI。根據錯誤階層中報告的錯誤,可能會有多個錯誤類型。對於上述範例,傳回的錯誤類型為DEVICE_ERROR
。
類型有:
-
權限錯誤 (_V)— 拒絕存取需要權限的作業。
-
請求錯誤— 由於部署文件中的問題而發生錯誤。
-
元件接收錯誤— 由於元件配方中的問題而發生錯誤。
-
AW_ 元件錯誤— 啟動或移除時發生錯誤AWS提供的組件。
-
使用者元件錯誤— 啟動或移除使用者元件時發生錯誤。
-
元件錯誤— 啟動或移除元件時發生錯誤,但 Greengrass 核無法判斷元件是否為AWS提供的組件或用戶組件。
-
設備錯誤— 本機 I/O 發生錯誤或發生其他裝置錯誤。
-
依賴錯誤— 部署無法從 Amazon S3 下載成品或從 ECR 登錄提取映像。
-
錯誤— HTTP 要求發生錯誤。
-
網路錯誤— 裝置網路發生錯誤。
-
核錯誤— Greengrass 核無法找到組件或找不到活性細胞核版本.
-
伺服器錯誤— 伺服器回應要求時傳回 500 錯誤。
-
雲服務錯誤— 發生錯誤AWS IoT Greengrass雲端服務。
-
未知錯誤— 元件擲回未核取的例外狀況。
本節中的許多錯誤報告了AWS IoT Greengrass核心記錄檔。這些記錄會儲存在核心裝置的本機檔案系統上。有日誌AWS IoT Greengrass核心核心軟件和每個單獨的組件。如需存取記錄檔的資訊,請參閱存取檔案系統記錄。
許可錯誤
- 存取 (_拒絕)
-
你可能會得到這個錯誤AWS服務作業會傳回 403 錯誤,因為權限設定不正確。檢查更具體的錯誤代碼以獲取詳細信息。
- 獲取部署 _ 配置 _ 訪問 _ 拒絕
-
你可能會得到這個錯誤AWS IoT原則不允許呼叫
GetDeploymentConfiguration
操作。添加greengrass::GetDeploymentConfiguration
核心裝置原則的權限。 - 獲取組件版本文件訪問被拒絕
-
核心設備時,您可能會收到此錯誤AWS IoT政策不允許
greengrass:GetComponentVersionArtifact
權限。將權限新增至核心裝置的原則。 - 解析組件候選人訪問被拒絕
-
核心設備時,您可能會收到此錯誤AWS IoT政策不允許
greengrass:ResolveComponentCandidates
權限。將權限新增至核心裝置的原則。 - 獲取 _ 電腦認證錯誤
-
當部署無法使用 ECR 中的私人登錄進行驗證時,您可能會收到此錯誤。檢查記錄檔是否有特定錯誤,然後再次嘗試部署。
- 用戶不授權用戶泊塢窗
-
當 Greengrass 使用者未獲授權使用 Docker 時,您可能會收到此錯誤。請確定您以 root 身分執行 Greengrass,或是將使用者新增至
docker
群組。然後再次嘗試部署。 - 拒絕訪問
-
當 Amazon S3 作業傳回 403 錯誤時,您可能會收到此錯誤。檢查任何其他錯誤代碼或日誌以獲取詳細信息。
- S3_HEAD_對象存取_拒絕
-
當設備的令牌交換角色不允許AWS IoT Greengrass核心軟體,可從您在元件方案中指定的 S3 物件 URL 下載元件成品,或無法使用元件成品。檢查令牌交換角色是否允許
s3:GetObject
適用於成品可用且存在成品的 S3 物件 URL。 - S3_GET_BUCKET_ 位置 _ 訪問被拒絕
-
當設備的令牌交換角色不允許
s3:GetBucketLocation
可取得成品之 Amazon S3 儲存貯體的許可。檢查設備是否允許該權限,然後再次嘗試部署。 - S3_GET_ 對象 _ 訪問被拒絕
-
當設備的令牌交換角色不允許AWS IoT Greengrass核心軟體,可從您在元件方案中指定的 S3 物件 URL 下載元件成品,或無法使用元件成品。檢查令牌交換角色是否允許
s3:GetObject
適用於成品可用且存在成品的 S3 物件 URL。
請求錯誤
- 核缺少 _ 所需的能力
-
當部署中的核心版本無法執行要求的作業 (例如下載大型設定或設定 Linux 資源限制) 時,您可能會收到此錯誤。使用支援此作業的核心版本重試部署。
- 多重核 _ 解析錯誤 _
-
當部署嘗試部署多個核心元件時,您可能會收到此錯誤。檢查記錄檔以瞭解造成錯誤的原因,然後檢查核心軟體更新頁面,以查看問題是否已在較新版本的核心中修正,或是聯絡AWS Support。
- 元件循環相依性錯誤
-
當部署中的兩個元件彼此相依時,您可能會收到此錯誤。修訂元件設定,讓部署中的元件彼此不相依。
- 未授權的核心最小版本更新
-
當部署中的元件需要核心次要版本更新,但部署中未指定該版本時,您可能會收到此錯誤。這有助於減少依賴於不同版本的元件的意外次要版本更新。在部署中包含新的次要核心版本。
- 遺失碼頭 _ 應用程式管理員
-
當您部署 Docker 元件而不部署 Docker 應用程式管理員時,可能會收到此錯誤。請確定您的部署包含 Docker 應用程式管理員。
- 缺少令牌 _ 交換 _ 服務
-
當部署想要從私有 ECR 登錄下載 Docker 映像成品而不部署 Token 交換服務時,您可能會收到此錯誤。確保您的部署包括令牌交換服務。
- 元件版本需求不符合
-
當發生版本條件約束衝突或元件版本不存在時,您可能會收到此錯誤。如需詳細資訊,請參閱Error: com.aws.greengrass.componentmanager.exceptions.NoAvailableComponentVersionException: Failed to negotiate component <name> version with cloud and no local applicable version satisfying requirement <requirements>。
- 節流錯誤
-
你可能會得到這個錯誤AWS服務操作超過費率配額。重新嘗試部署。
- 衝突 (_R) 請求
-
你可能會得到這個錯誤AWS服務作業會傳回 409 錯誤,因為您的部署嘗試一次執行多項作業。重新嘗試部署。
- 未找到資源
-
你可能會得到這個錯誤AWS服務作業會傳回 404 錯誤,因為找不到資源。檢查記錄檔中是否有遺失的資源。
- 配置沒有有效
-
你可能會得到這個錯誤
posixUser
,posixGroup
,或windowsUser
指定執行元件的資訊無效。檢查使用者是否有效,然後重試部署。 - 不支援的區域 (_I)
-
當針對部署指定的區域不受支援時,您可能會收到此錯誤AWS IoT Greengrass。檢查「區域」,然後再次嘗試部署。
- 物聯網信用 _ 端點 _ 不有效
-
你可能會得到這個錯誤AWS IoT設定中指定的認證端點無效。請檢查端點,然後再試一次您的要求。
- 物聯網資料終點不有效
-
你可能會得到這個錯誤AWS IoT組態中指定的資料端點無效。請檢查端點,然後再試一次您的要求。
- S3_头对象 _ 资源 _ 找不到
-
當元件成品在元件方案中指定的 S3 物件 URL 中無法使用時,您可能會收到此錯誤。檢查您已將成品上傳到 S3 儲存貯體,以及成品 URI 是否與儲存貯體中成品的 S3 物件 URL 相符。
- S3_GET 儲存區位置 _ 資源 _ 找不到
-
找不到 Amazon S3 儲存貯體時,您可能會收到此錯誤。檢查值區是否存在,然後再次嘗試部署。
- 沒有找到 S3_ 獲取對象資源
-
當元件成品在元件方案中指定的 S3 物件 URL 中無法使用時,您可能會收到此錯誤。檢查您已將成品上傳到 S3 儲存貯體,以及成品 URI 是否與儲存貯體中成品的 S3 物件 URL 相符。
- IO 映射錯誤
-
剖析部署文件或方案時發生 I/O 錯誤時,您可能會收到這個錯誤。檢查任何其他錯誤代碼或日誌以獲取詳細信息。
元件配方錯誤
- 接收剖析錯誤
-
無法剖析部署方案時,您可能會收到這個錯誤,因為方案的結構有錯誤。檢查方案格式是否正確,然後再次嘗試部署。
- 偏好元數據 _ 剖析錯誤
-
無法剖析從雲端下載的部署配方中繼資料時,您可能會收到此錯誤。請聯絡 AWS Support。
- 人工件無效 _ 無效
-
當配方中的成品 URI 格式不正確時,您可能會收到此錯誤。檢查記錄檔中是否有無效的 URI,更新方案中的 URI,然後再次嘗試部署。
- S3_ 人工件 _ 不是有效的
-
當配方中的成品的 Amazon S3 URI 無效時,您可能會收到此錯誤。檢查記錄檔中是否有無效的 URI,更新方案中的 URI,然後再次嘗試部署。
- 碼頭工件沒有有效
-
當配方中的工件的 Docker URI 無效時,您可能會收到此錯誤。檢查記錄檔中是否有無效的 URI,更新方案中的 URI,然後再次嘗試部署。
- 空白人工件
-
當方案中未指定成品的 URI 時,您可能會收到此錯誤。檢查日誌中缺少 URI 的成品,更新方案中的 URI,然後再次嘗試部署。
- 空人工件方案
-
當未針對成品定義 URI 配置時,您可能會收到此錯誤。檢查記錄檔中是否有無效的 URI,更新方案中的 URI,然後再次嘗試部署。
- 不支援的人工件方案
-
當正在執行的核心版本不支援 URI 配置時,您可能會收到此錯誤。URI 無效,或者您需要更新核子核版本。如果 URI 無效,請檢查記錄檔中無效的 URI,更新方案中的 URI,然後再次嘗試部署。
- 接收遺失資訊清單
-
當清單部分未包含在配方中時,您可能會收到此錯誤。將資訊清單新增至方案,然後再次嘗試部署。
- 接收遺失 _ 人工雜湊演算法
-
如果在沒有雜湊演算法的配方內指定不是本機的成品,您可能會收到這個錯誤。將演算法新增至成品,然後再次嘗試要求。
- 人工因素 _ 檢查和不相符
-
當下載的成品摘要與方案中指定的摘要不同時,您可能會收到此錯誤。請確定方案包含正確的摘要,然後再次嘗試部署。如需詳細資訊,請參閱 Error: com.aws.greengrass.componentmanager.exceptions.ArtifactChecksumMismatchException: Integrity check for downloaded artifact failed. Probably due to file corruption.。
- 組件依賴關係無效
-
當部署方案中指定的相依性類型無效時,您可能會收到這個錯誤。請檢查食譜,然後再試一次。
- 配置插值錯誤
-
插值 recipe 變數時,您可能會看到這個錯誤。檢查日誌以獲取詳細信息。
- IO 映射錯誤
-
剖析部署文件或方案時發生 I/O 錯誤時,您可能會收到這個錯誤。檢查任何其他錯誤代碼或日誌以獲取詳細信息。
AWS元件錯誤、使用者元件錯誤、元件錯誤
當元件發生問題時,會傳回下列錯誤碼。報告的實際錯誤類型取決於引發錯誤的特定組件。如果 Greengrass 核標識該組件作為一個提供AWS IoT Greengrass,它返回AWS_COMPONENT_ERROR
。如果該組件被標識為一個用戶組件,Greengrass 核返回USER_COMPONENT_ERROR
。如果格林格拉斯核無法分辨,它返回COMPONENT_ERROR
。
- 組件更新錯誤
-
當元件在部署期間未更新時,您可能會收到此錯誤。檢查任何其他錯誤代碼或檢查日誌以查看導致錯誤的原因。
- 元件已損壞
-
當元件在部署期間中斷時,您可能會收到此錯誤。檢查元件記錄檔以取得錯誤詳細資料,然後再次嘗試部署。
- 移除元件錯誤
-
當核心無法在部署期間移除元件時,您可能會收到此錯誤。請檢查記錄檔中的錯誤詳細資料,然後再次嘗試部署。
- 組件引導程序超時
-
當元件的啟動程序工作花費的時間超過設定的逾時時間時,您可能會收到此錯誤。增加逾時或減少啟動程序工作的執行時間,然後再次嘗試部署。
- 組件引導程序錯誤
-
當元件的啟動程序工作發生錯誤時,您可能會收到此錯誤。檢查記錄檔以取得錯誤詳細資料,然後再次嘗試部署。
- 零組件組態無效
-
當核心無法驗證元件的已部署組態時,您可能會收到此錯誤。檢查記錄檔以取得錯誤詳細資料,然後再次嘗試部署。
裝置錯誤
- IO_ 寫入錯誤
-
寫入檔案時可能會出現此錯誤。檢查日誌以獲取詳細信息。
- 讀取錯誤
-
從檔案讀取時,您可能會收到此錯誤。檢查日誌以獲取詳細信息。
- 磁碟空間關鍵
-
當沒有足夠的磁碟空間無法完成部署要求時,您可能會收到這個錯誤。您必須至少有 20 Mb 的可用空間,或足以容納較大的成品。請釋放一些磁碟空間,然後重試部署。
- IO_ 文件屬性錯誤
-
當無法從檔案系統擷取現有檔案大小時,您可能會收到此錯誤。檢查日誌以獲取詳細信息。
- 設置權限錯誤
-
當無法在下載的成品或成品目錄上設定權限時,您可能會收到此錯誤。檢查日誌以獲取詳細信息。
- 解壓縮錯誤
-
無法解壓縮成品時,您可能會收到此錯誤。檢查日誌以獲取詳細信息。
- 本地接收 _ 找不到
-
當找不到 recipe 檔案的本機副本時,您可能會收到此錯誤。請再次嘗試部署。
- 本地 (_R) 已損毀
-
當食譜的本地副本自下載以來發生變化時,您可能會收到此錯誤。刪除方案的現有副本,然後再次嘗試部署。
- 找不到本地信息中繼資料
-
找不到 recipe 中繼資料檔案的本機副本時,您可能會收到此錯誤訊息。請再次嘗試部署。
- 啟動目錄已損壞
-
當用於啟動 Greengrass 核的目錄時,您可能會遇到此錯誤(
/greengrass/v2/alts/current
) 自上次啟動原子核以來已被修改。重新啟動核心,然後重試部署。 - 哈希演算法不可用
-
當設備的 Java 發行版不支持所需的哈希算法或組件配方中指定的哈希算法無效時,您可能會遇到此錯誤。
- 設備配置沒有可用的文件下載
-
當裝置組態中出現錯誤,導致部署無法從 Amazon S3 或 Greengrass 雲端下載成品時,您可能會收到此錯誤。檢查記錄檔是否有特定組態錯誤,然後重試部署。
相依性錯誤
- 碼頭錯誤
-
在提取 Docker 圖像時,您可能會遇到此錯誤。檢查任何其他錯誤代碼或日誌以獲取詳細信息。
- 碼頭服務 _ 不可用
-
當 Greengrass 無法登錄到 Docker 註冊表時,您可能會收到此錯誤。檢查記錄檔是否有特定錯誤,然後再次嘗試部署。
- 碼頭登錄錯誤
-
登入 Docker 時發生未預期的錯誤時,您可能會收到此錯誤。檢查記錄檔是否有特定錯誤,然後再次嘗試部署。
- 碼頭拉錯誤
-
當從註冊表中提取 Docker 映像時發生意外錯誤時,您可能會收到此錯誤。檢查記錄檔是否有特定錯誤,然後再次嘗試部署。
- 碼頭圖像無效
-
當請求的 Docker 映像不存在時,您可能會收到此錯誤。檢查記錄檔是否有特定錯誤,然後再次嘗試部署。
- 碼頭圖像查詢錯誤
-
當查詢 Docker 尋找可用映像檔時,發生未預期的失敗時,您可能會收到此錯誤。檢查記錄檔中是否有特定錯誤,然後再次嘗試部署。
- 錯誤
-
下載 Amazon S3 成品時,您可能會收到此錯誤訊息。檢查任何其他錯誤代碼或日誌以獲取詳細信息。
- 沒有找到 S3 資源
-
當 Amazon S3 作業傳回 404 錯誤時,您可能會收到此錯誤。檢查任何其他錯誤代碼或日誌以獲取詳細信息。
- 請求
-
當 Amazon S3 作業傳回 400 錯誤時,您可能會收到這個錯誤。檢查記錄檔是否有特定錯誤,然後再試一次要求。
錯誤
- 請求錯誤
-
發出 HTTP 請求時發生錯誤時,您可能會收到此錯誤。檢查日誌中的特定錯誤。
- 下載 _ 部署 _ 文件 _ 錯誤
-
下載部署文件時發生 HTTP 錯誤時,您可能會收到這個錯誤。檢查日誌中是否有特定的 HTTP 錯誤。
- 獲取 _ 格蘭文件 _ 大小 _ 錯誤
-
當取得公用元件加工品的大小時,發生 HTTP 錯誤時,您可能會收到這個錯誤。檢查日誌中是否有特定的 HTTP 錯誤。
- 下載 _ 格蘭文件 _ 錯誤
-
下載公用元件加工品時,發生 HTTP 錯誤時,您可能會收到這個錯誤。檢查日誌中是否有特定的 HTTP 錯誤。
網路錯誤
- 網路錯誤
-
部署期間發生連線問題時,您可能會收到此錯誤。檢查裝置與網際網路的連線,然後再次嘗試部署。
核誤差
- 壞請求
-
你可能會得到這個錯誤AWS雲操作返回一個 400 錯誤。檢查日誌以查看哪個 API 導致錯誤,然後檢查核心軟件更新頁面,以查看問題是否已在較新版本的核心中更正,或聯繫AWS Support。
- 核心版本 _ 未找到
-
當核心設備找不到活動核心的版本時,您可能會收到此錯誤。檢查記錄檔以瞭解造成錯誤的原因,然後檢查核心軟體更新頁面,以查看問題是否已在較新版本的核心中修正,或是聯絡AWS Support。
- 核重新啟動失敗
-
在任何需要核心重新啟動的部署期間,如果核心未重新啟動,則可能會收到此錯誤。檢查載入程式記錄檔以瞭解造成錯誤的原因,然後檢查核心軟體更新頁面,看看問題是否已在較新版本的核心中得到修正,或是聯絡AWS Support。
- 未找到已安裝元件
-
當核心找不到已安裝的元件時,您可能會收到此錯誤。檢查記錄檔以瞭解造成錯誤的原因,然後檢查核心軟體更新頁面,以查看問題是否已在較新版本的核心中修正,或是聯絡AWS Support。
- 部署 _ 文件 _ 無效
-
當設備收到無效的部署文檔時,您可能會收到此錯誤。檢查任何其他錯誤代碼或檢查日誌以查看導致錯誤的原因。
- 空白部署請求
-
當設備收到空的部署請求時,您可能會收到此錯誤。檢查記錄檔以瞭解造成錯誤的原因,然後檢查核心軟體更新頁面,以查看問題是否已在較新版本的核心中修正,或是聯絡AWS Support。
- 部署 _ 文件 _ 剖析錯誤
-
當部署要求格式不符合預期的格式時,您可能會收到這個錯誤。檢查記錄檔以瞭解造成錯誤的原因,然後檢查核心軟體更新頁面,以查看問題是否已在較新版本的核心中修正,或是聯絡AWS Support。
- 部署元件中繼資料不是有效的
-
當部署要求包含無效的元件中繼資料時,您可能會收到這個錯誤。檢查記錄檔以瞭解造成錯誤的原因,然後檢查核心軟體更新頁面,以查看問題是否已在較新版本的核心中修正,或是聯絡AWS Support。
- 啟動目錄已損壞
-
當您將 Greengrass 裝置從一個物件群組移至另一個物件群組,然後回到具有需要 Greengrass 重新啟動部署的原始群組時,可能會收到此錯誤。若要解決此錯誤,請在裝置上重新建立 Greengrass 的啟動目錄。
伺服器錯誤
- 伺服器錯誤
-
你可能會得到這個錯誤AWS服務作業會傳回 500 錯誤,因為服務目前無法處理要求。稍後重試部署。
- S3_ 伺服器錯誤
-
當 Amazon S3 作業傳回 500 錯誤時,您可能會收到這個錯誤。檢查任何其他錯誤代碼或日誌以獲取詳細信息。
雲端服務錯誤
- 解析組件候選人問題
-
當 Greengrass 雲端服務傳送不相容的回應給
ResolveComponentCandidates
操作。檢查記錄檔以瞭解造成錯誤的原因,然後檢查核心軟體更新頁面,以查看問題是否已在較新版本的核心中修正,或是聯絡AWS Support。 - 超過部署 _ 文件大小 _
-
當要求的部署文件超過大小配額上限時,您可能會收到這個錯誤。減少部署文件的大小,然後再次嘗試部署。
- 找不到大小 _ 文件 _ 大小 _
-
當 Greengrass 無法獲取公共組件成品的大小時,您可能會收到此錯誤。檢查記錄檔以瞭解造成錯誤的原因,然後檢查核心軟體更新頁面,以查看問題是否已在較新版本的核心中修正,或是聯絡AWS Support。
- 部署 _ 文件 _ 無效
-
當設備收到無效的部署文檔時,您可能會收到此錯誤。檢查任何其他錯誤代碼或檢查日誌以查看導致錯誤的原因。
- 空白部署請求
-
當設備收到空的部署請求時,您可能會收到此錯誤。檢查記錄檔以瞭解造成錯誤的原因,然後檢查核心軟體更新頁面,以查看問題是否已在較新版本的核心中修正,或是聯絡AWS Support。
- 部署 _ 文件 _ 剖析錯誤
-
當部署要求格式不符合預期的格式時,您可能會收到這個錯誤。檢查記錄檔以瞭解造成錯誤的原因,然後檢查核心軟體更新頁面,以查看問題是否已在較新版本的核心中修正,或是聯絡AWS Support。
- 部署元件中繼資料不是有效的
-
當部署要求包含無效的元件中繼資料時,您可能會收到這個錯誤。檢查記錄檔以瞭解造成錯誤的原因,然後檢查核心軟體更新頁面,以查看問題是否已在較新版本的核心中修正,或是聯絡AWS Support。
一般錯誤
這些一般錯誤沒有關聯的錯誤類型。
- 部署中斷 (_C)
-
因為核心關閉或其他外部事件而無法完成部署時,您可能會收到這個錯誤。檢查任何其他錯誤代碼或日誌以獲取詳細信息。
- 人工件下載錯誤
-
下載成品時發生問題時,您可能會收到此錯誤。檢查任何其他錯誤代碼或日誌以獲取詳細信息。
- 沒有可用的元件版本 (_R)
-
當元件版本不存在於雲端或本機時,或者發生相依性解決衝突時,您可能會收到這個錯誤。檢查任何其他錯誤代碼或日誌以獲取詳細信息。
- 元件封裝載入錯誤
-
當處理下載的成品時發生錯誤,您可能會收到此錯誤。檢查任何其他錯誤代碼或日誌以獲取詳細信息。
- 雲錯誤
-
當發生錯誤調用時,您可能會收到此錯誤AWS服務 API。檢查任何其他錯誤代碼或日誌以獲取詳細信息。
- IO_ 錯誤
-
部署期間發生 I/O 錯誤時,您可能會收到此錯誤。檢查任何其他錯誤代碼或日誌以獲取詳細信息。
- 組件更新錯誤
-
當元件在部署期間未更新時,您可能會收到此錯誤。檢查任何其他錯誤代碼或檢查日誌以查看導致錯誤的原因。
未知的錯誤
- 部署失敗 (_R)
-
當部署失敗時,您可能會收到這個錯誤,因為未經核取的例外狀況擲回。檢查記錄檔以瞭解造成錯誤的原因,然後檢查核心軟體更新頁面,以查看問題是否已在較新版本的核心中修正,或是聯絡AWS Support。
- 部署 _ 類型 _ 無效
-
當部署類型無效時,您可能會收到此錯誤。檢查記錄檔以瞭解造成錯誤的原因,然後檢查核心軟體更新頁面,以查看問題是否已在較新版本的核心中修正,或是聯絡AWS Support。