详细的部署错误代码 - AWS IoT Greengrass

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

详细的部署错误代码

在使用 Greengrass nucleus 2.8.0 或更高版本时,使用这些部分中的错误代码和解决方案来帮助解决组件部署问题。

Greengrass 核心按从最不具体的代码到最具体的可用代码的层次结构报告部署错误。您可以使用此层次结构来帮助查明部署错误的原因。例如,以下是可能的错误层次结构:

  • 部署失败

    • 神器_下载_错误

      • IO_ERROR

        • 磁盘空间_关键

错误代码分为几种类型。每种类型代表一类可能发生的错误。AWS IoT Greengrass在控制台、API 和中报告这些错误类型AWS CLI。可能有多种错误类型,具体取决于错误层次结构中报告的错误。对于前面的示例,返回的错误类型是DEVICE_ERROR

类型有:

  • 权限错误— 访问需要权限的操作被拒绝。

  • 请求_错误— 由于部署文档中的问题,出现错误。

  • 组件_食谱_错误— 由于组件配方中的问题而发生错误。

  • AWS_COMPONENT_错误— 启动或删除时出错AWS提供的组件。

  • 用户_COMPONENT_错误— 启动或删除用户组件时出错。

  • 组件错误— 启动或移除组件时出现错误,但是 Greengrass 核无法确定该组件是否为AWS提供的组件或用户组件。

  • 设备错误— 本地 I/O 出现错误或其他设备错误。

  • 依赖关系_错误— 部署未能从 Amazon S3 下载构件或从 ECR 注册表提取映像。

  • HTTP_错误— HTTP 请求出现错误。

  • 网络错误— 设备网络出现错误。

  • NUCLES_ER— Greengrass 核找不到组件或找不到活跃的核版本。

  • 服务器错误— 服务器在响应请求时返回了 500 错误。

  • 云服务错误— 出现错误AWS IoT Greengrass云服务。

  • 未知错误— 组件引发了未经检查的异常。

本节中的许多错误在中报告了其他信息AWS IoT Greengrass核心日志。这些日志存储在核心设备的本地文件系统上。有的日志AWS IoT Greengrass核心软件和每个单独的组件。有关访问日志的信息,请参见访问文件系统日志

权限错误

访问_被拒绝

在以下情况下你可能会遇到这个错误AWS服务操作返回 403 错误,因为权限设置不正确。有关详细信息,请查看更具体的错误代码。

获取部署_配置_访问_被拒绝

在以下情况下你可能会遇到这个错误AWS IoT策略不允许调用GetDeploymentConfiguration操作。添加greengrass::GetDeploymentConfiguration核心设备策略的权限。

GET_COMPONENT_VERSION_ARTIFACT_ACCESS_

当核心设备出现时,你可能会遇到这个错误AWS IoT政策不允许greengrass:GetComponentVersionArtifact许可。将权限添加到核心设备的策略中。

RESOLVE_COMPONENT_CANDIDATES_ACCESS_

当核心设备出现时,你可能会遇到这个错误AWS IoT政策不允许greengrass:ResolveComponentCandidates许可。将权限添加到核心设备的策略中。

GET_ECR_CREDENTIAL_ERROR

当部署无法使用 ECR 中的私有注册表进行身份验证时,您可能会遇到此错误。检查日志中是否存在特定错误,然后再次尝试部署。

USER_NOT_AUTHORIZED_FOR_DOCKER

当 Greengrass 用户无权使用 Docker 时,你可能会遇到这个错误。确保您以 root 用户身份运行 Greengrass 或者已将该用户添加到docker组。然后再次尝试部署。

S3_ACCESS_DENED

当 Amazon S3 操作返回 403 错误时,您可能会遇到此错误。有关详细信息,请查看任何其他错误代码或日志。

S3_HEAD_OBJECT_ACCESS_DENE

要么当设备的代币交换角色不允许时,你可能会遇到这个错误AWS IoT Greengrass用于从组件配方中指定或组件构件不可用的 S3 对象 URL 下载组件构件的核心软件。检查代币交换角色是否允许s3:GetObject用于表示构件可用且存在构件的 S3 对象 URL。

S3_GET_BUCKET_LOCATION_ACCESS_DENIED

当设备的代币交换角色不允许时,你可能会遇到这个错误s3:GetBucketLocation对象可用的 Amazon S3 存储桶的权限。检查设备是否允许权限,然后再次尝试部署。

S3_GET_OBJECT_ACCESS_DENED

要么当设备的代币交换角色不允许时,你可能会遇到这个错误AWS IoT Greengrass用于从组件配方中指定或组件构件不可用的 S3 对象 URL 下载组件构件的核心软件。检查代币交换角色是否允许s3:GetObject用于表示构件可用且存在构件的 S3 对象 URL。

请求错误

NUCLES_缺失_所需能力

当部署中的 nucleus 版本无法执行所请求的操作(例如下载大型配置或设置 Linux 资源限制)时,您可能会遇到此错误。使用支持该操作的核心版本重试部署。

MULTIPLE_NUCLE_SORVED_

当部署尝试部署多个 nucleus 组件时,你可能会遇到这个错误。查看日志以查看导致错误的原因,然后查看 nucleus 软件更新页面以查看问题在更高版本的 nucleus 中是否已得到纠正,或者联系我们AWS Support。

组件_CIRCULAR_DEPENDENCY_错误

当部署中的两个组件相互依赖时,你可能会遇到这个错误。修改组件设置,使部署中的组件不相互依赖。

未授权_NUCLES_MINOR_VERSION_UPDATE

当部署中的某个组件需要 nucleus 次要版本更新,但在部署中未指定该版本时,您可能会遇到此错误。这有助于减少依赖于不同版本的组件的意外次要版本更新。在部署中包括新的次要核心版本。

缺少_DOCKER_应用程序管理器

当你部署 Docker 组件而不部署 Docker 应用程序管理器时,你可能会遇到这个错误。确保您的部署包含 Docker 应用程序管理器。

缺少代币交换服务

当部署要在不部署令牌交换服务的情况下从私有 ECR 注册表下载 Docker 镜像构件时,你可能会遇到这个错误。确保您的部署包括令牌交换服务。

组件_版本_要求_未满足

当存在版本约束冲突或组件版本不存在时,您可能会遇到此错误。有关更多信息,请参阅Error: com.aws.greengrass.componentmanager.exceptions.NoAvailableComponentVersionException: Failed to negotiate component <name> version with cloud and no local applicable version satisfying requirement <requirements>

TROTTLING_ERROR

在以下情况下你可能会遇到这个错误AWS服务操作超过了速率配额。重试部署。

有冲突的请求

在以下情况下你可能会遇到这个错误AWS服务操作返回 409 错误,因为您的部署正在尝试同时执行多个操作。重试部署。

未找到资源

在以下情况下你可能会遇到这个错误AWS服务操作返回 404 错误,因为找不到资源。检查日志中是否有缺失的资源。

使用_CONFIG_运行_无效

在以下情况下你可能会遇到这个错误posixUserposixGroup,或windowsUser为运行该组件而指定的信息无效。检查用户是否有效,然后重试部署。

不支持的区域

当为部署指定的区域不受支持时,您可能会遇到此错误AWS IoT Greengrass。检查区域,然后重试部署。

IOT_CRED_ENDPOINT_NOT_VALID

在以下情况下你可能会遇到这个错误AWS IoT配置中指定的凭证端点无效。检查终端节点,然后重试您的请求。

IOT_DATA_ENDPOINT_NOAT_VALID

在以下情况下你可能会遇到这个错误AWS IoT配置中指定的数据端点无效。检查终端节点,然后重试您的请求。

S3_HEAD_OBJECT_SOURCE_NOT_FOUN

当组件构件在组件配方中指定的 S3 对象 URL 上不可用时,您可能会遇到此错误。检查您是否将构件上传到 S3 存储桶,以及该对象 URI 是否与存储桶中该对象的 S3 对象 URL 相匹配。

S3_GET_BUCKET_LOCATION_RESOURCE_NOT_FOUND

当找不到 Amazon S3 存储桶时,你可能会遇到这个错误。检查存储桶是否存在,然后重试部署。

S3_GET_OBJECT_SOURCE_NOT_FOUND

当组件构件在组件配方中指定的 S3 对象 URL 上不可用时,您可能会遇到此错误。检查您是否将构件上传到 S3 存储桶,以及该对象 URI 是否与存储桶中该对象的 S3 对象 URL 相匹配。

IO_MAPPING_错误

解析部署文档或配方时出现 I/O 错误时,可能会出现此错误。有关详细信息,请查看任何其他错误代码或日志。

组件配方错误

RECIPE_PARSE_ERROR

当由于配方结构有错误而无法解析部署配方时,你可能会遇到这个错误。检查配方格式是否正确,然后重试部署。

RECIPE_METADATA_PARSE_ERROR

当无法解析从云端下载的部署配方元数据时,你可能会遇到这个错误。联系 AWS Support。

ARTIFACT_URI_NOT_VALID

当配方中的工件 URI 格式不正确时,你可能会遇到这个错误。检查日志中是否有无效的 URI,更新配方中的 URI,然后再次尝试部署。

S3_ARTIFACT_URI_NOT_VALID

当配方中工件的 Amazon S3 URI 无效时,你可能会遇到这个错误。检查日志中是否有无效的 URI,更新配方中的 URI,然后再次尝试部署。

DOCKER_ARTIFACT_URI_NOT_VALID

当配方中工件的 Docker URI 无效时,你可能会遇到这个错误。检查日志中是否有无效的 URI,更新配方中的 URI,然后再次尝试部署。

EMPTY_ARTIFACT_URI

如果未在配方中指定工件的 URI,则可能会出现此错误。检查日志中是否存在缺少 URI 的构件,更新配方中的 URI,然后再次尝试部署。

清空神器方案

当没有为构件定义 URI 架构时,你可能会遇到这个错误。检查日志中是否有无效的 URI,更新配方中的 URI,然后再次尝试部署。

不支持的神器方案

当正在运行的 nucleus 版本不支持 URI 架构时,你可能会遇到这个错误。要么是 URI 无效,要么你需要更新 nucleus 版本。如果 URI 无效,请检查日志中是否存在无效的 URI,更新配方中的 URI,然后再次尝试部署。

食谱_缺失_清单

当清单部分未包含在食谱中时,你可能会遇到这个错误。将清单添加到配方中,然后重试部署。

RECIPE_MISSING_ARTIFACT_HASH

如果在没有哈希算法的配方中指定了非本地构件,则可能会出现此错误。将算法添加到构件中,然后重试请求。

ARTIFACT_CHECKSUM_MIS

当下载的工件的摘要与配方中指定的摘要不同时,你可能会遇到这个错误。确保配方包含正确的摘要,然后再次尝试部署。有关更多信息,请参阅 Error: com.aws.greengrass.componentmanager.exceptions.ArtifactChecksumMismatchException: Integrity check for downloaded artifact failed. Probably due to file corruption.

组件_依赖关系_无效

当部署配方中指定的依赖项类型无效时,你可能会遇到这个错误。检查食谱,然后重试您的请求。

CONFIG_INTERPOLATE_错误

插值配方变量时可能会出现此错误。有关详细信息,请查看日志。

IO_MAPPING_错误

解析部署文档或配方时出现 I/O 错误时,可能会出现此错误。有关详细信息,请查看任何其他错误代码或日志。

AWS组件错误、用户组件错误、组件错误

当组件出现问题时,将返回以下错误代码。报告的实际错误类型取决于引发错误的特定组件。如果 Greengrass 核将该组件识别为由提供的组件AWS IoT Greengrass,它会返回AWS_COMPONENT_ERROR。如果该组件被识别为用户组件,则 Greengrass 核将返回USER_COMPONENT_ERROR。如果格林格拉斯核无法分辨出来,它就会返回COMPONENT_ERROR

组件_更新_错误

当组件在部署期间未更新时,你可能会遇到这个错误。检查任何其他错误代码或查看日志,看看是什么原因导致了错误。

组件_BROKEN

当组件在部署期间损坏时,你可能会遇到这个错误。检查组件日志以了解错误详细信息,然后再次尝试部署。

删除_组件_错误

当 nucleus 无法在部署期间删除组件时,你可能会遇到这个错误。检查日志以了解错误详细信息,然后再次尝试部署。

组件_BOOTSTRAP_TIMEOUT

当组件的引导任务花费的时间超过配置的超时时间时,你可能会遇到这个错误。延长超时时间或减少引导任务的执行时间,然后再次尝试部署。

COMPONENT_BOOTSTRAP_ERROR

当组件的引导任务出现错误时,你可能会遇到这个错误。检查日志以了解错误详细信息,然后再次尝试部署。

组件配置无效

当 nucleus 无法验证组件的已部署配置时,你可能会遇到这个错误。检查日志以了解错误详细信息,然后再次尝试部署。

设备错误

IO_WRITE_ERROR

写入文件时可能会出现此错误。有关详细信息,请查看日志。

IO_READ_ERROR

读取文件时可能会出现此错误。有关详细信息,请查看日志。

磁盘空间_关键

当磁盘空间不足以完成部署请求时,您可能会遇到此错误。你必须有至少 20 Mb 的可用空间,或者足以容纳更大的神器。释放一些磁盘空间,然后重试部署。

IO_FILE_ATTRIBUTE_错误

当无法从文件系统检索现有文件大小时,你可能会遇到这个错误。有关详细信息,请查看日志。

设置权限错误

当无法在已下载的构件或构件目录上设置权限时,可能会出现此错误。有关详细信息,请查看日志。

IO_UNZIP_ERROR

当无法解压缩工件时,你可能会遇到这个错误。有关详细信息,请查看日志。

本地食谱_未找到

当找不到配方文件的本地副本时,你可能会遇到这个错误。再次尝试部署。

本地食谱_已损坏

当食谱的本地副本自下载以来已更改时,您可能会遇到此错误。删除配方的现有副本,然后重试部署。

本地_RECIPE_METADATA_NOT_FOUND

当找不到配方元数据文件的本地副本时,你可能会遇到这个错误。再次尝试部署。

启动_目录_损坏

当目录用于启动 Greengrass nucleus 时,你可能会遇到这个错误 (/greengrass/v2/alts/current) 自上次启动原子核以来已经过修改。重启核心,然后重试部署。

哈希算法_不可用

当设备的 Java 发行版不支持所需的哈希算法或者组件配方中指定的哈希算法无效时,你可能会遇到这个错误。

DEVIC_CONFIG_NOT_VALID_FOR_ARTIFACT_DOWNOA

当设备配置中出现错误导致部署无法从 Amazon S3 或 Greengrass 云下载构件时,您可能会遇到此错误。检查日志中是否存在特定的配置错误,然后重试部署。

依赖性错误

DOCKER_ERROR

提取 Docker 镜像时可能会出现此错误。有关详细信息,请查看任何其他错误代码或日志。

DOCKER_SERVICE_S

当 Greengrass 无法登录 Docker 注册表时,你可能会遇到这个错误。检查日志中是否存在特定错误,然后再次尝试部署。

DOCKER_LOGIN_ERROR

当登录 Docker 时出现意外错误时,你可能会遇到这个错误。检查日志中是否存在特定错误,然后再次尝试部署。

DOCKER_PUL_ERROR

当从注册表中提取 Docker 镜像时出现意外错误时,你可能会遇到这个错误。检查日志中是否存在特定错误,然后再次尝试部署。

DOCKER_IMAGE_NOVALD

当请求的 Docker 镜像不存在时,你可能会遇到这个错误。检查日志中是否存在特定错误,然后重试部署。

DOCKER_IMAGE_QUERY_ERROR

当查询 Docker 以获取可用图像时出现意外故障时,您可能会遇到此错误。检查日志中是否存在特定错误,然后重试部署。

S3_错误

在下载 Amazon S3 构件时,你可能会遇到这个错误。有关详细信息,请查看任何其他错误代码或日志。

S3_RESOURCE_NOT_FOUND

当 Amazon S3 操作返回 404 错误时,您可能会遇到此错误。有关详细信息,请查看任何其他错误代码或日志。

S3_BAD_REQUEST

当 Amazon S3 操作返回 400 错误时,您可能会遇到此错误。检查日志中是否存在特定错误,然后重试请求。

HTTP 错误

HTTP_请求_错误

当发出 HTTP 请求时出现错误时,你可能会遇到这个错误。检查日志中是否存在特定错误。

下载_部署_文档_错误

当下载部署文档时出现 HTTP 错误时,您可能会遇到此错误。检查日志中是否存在特定 HTTP 错误。

GET_GREENGRASS_ARTIFACT_SIZE_错误

当获取公共组件构件的大小时出现 HTTP 错误时,你可能会遇到这个错误。检查日志中是否存在特定 HTTP 错误。

下载_GREENGRASS_ARTIFACT_ERROR

当下载公共组件构件时出现 HTTP 错误时,你可能会遇到这个错误。检查日志中是否存在特定 HTTP 错误。

网络错误

网络错误

部署期间出现连接问题时,您可能会遇到此错误。检查设备与 Internet 的连接,然后重试部署。

核错误

请求不正确

在以下情况下你可能会遇到这个错误AWS云操作返回 400 错误。查看日志,看看是哪个 API 导致了错误,然后查看 nucleus 软件更新页面以查看问题是否已在更高版本的 nucleus 中得到纠正,或者联系我们AWS Support。

NUCLES_VERSION_NOT

当核心设备找不到活跃核的版本时,你可能会遇到这个错误。查看日志以查看导致错误的原因,然后查看 nucleus 软件更新页面以查看问题在更高版本的 nucleus 中是否已得到纠正,或者联系我们AWS Support。

核重启失败

在任何需要重启核心的部署中,如果核没有重启,你可能会遇到这个错误。查看加载器日志以查看导致错误的原因,然后查看 nucleus 软件更新页面以查看问题在更高版本的 nucleus 中是否已得到纠正,或者联系我们AWS Support。

已安装_组件_未找到

当 nucleus 找不到已安装的组件时,你可能会遇到这个错误。查看日志以查看导致错误的原因,然后查看 nucleus 软件更新页面以查看问题在更高版本的 nucleus 中是否已得到纠正,或者联系我们AWS Support。

部署_文档_无效

当设备收到无效的部署文档时,您可能会遇到此错误。检查任何其他错误代码或查看日志,看看是什么原因导致了错误。

清空部署请求

当设备收到空部署请求时,您可能会遇到此错误。查看日志以查看导致错误的原因,然后查看 nucleus 软件更新页面以查看问题在更高版本的 nucleus 中是否已得到纠正,或者联系我们AWS Support。

部署_DOCUMENT_PARSE_错误

当部署请求格式与预期格式不匹配时,您可能会遇到此错误。查看日志以查看导致错误的原因,然后查看 nucleus 软件更新页面以查看问题在更高版本的 nucleus 中是否已得到纠正,或者联系我们AWS Support。

组件_METADATA_NOT_VALID_IN_DEPLOYMENT

当部署请求包含无效的组件元数据时,您可能会遇到此错误。查看日志以查看导致错误的原因,然后查看 nucleus 软件更新页面以查看问题在更高版本的 nucleus 中是否已得到纠正,或者联系我们AWS Support。

启动_目录_损坏

当你将 Greengrass 设备从一个事物组移到另一个事物组,然后移回原始组,部署需要 Greengrass 重新启动时,你可能会遇到这个错误。要解决该错误,请在设备上重新创建 Greengrass 的启动目录。

有关更多信息,请参阅Error: com.aws.greengrass.deployment.exceptions.DeploymentException: Unable to process deployment. Greengrass launch directory is not set up or Greengrass is not set up as a system service

服务器错误

服务器错误

在以下情况下你可能会遇到这个错误AWS服务操作返回 500 错误,因为服务现在无法处理请求。稍后重试部署。

S3_SERVER_错误

当 Amazon S3 操作返回 500 错误时,您可能会遇到此错误。有关详细信息,请查看任何其他错误代码或日志。

云服务错误

RESOLVE_COMPONENT_CANDIDATES_BAD_RES

当 Greengrass 云服务向 Greengrass 云服务发送不兼容的响应时,你可能会遇到这个错误ResolveComponentCandidates操作。查看日志以查看导致错误的原因,然后查看 nucleus 软件更新页面以查看问题在更高版本的 nucleus 中是否已得到纠正,或者联系我们AWS Support。

已超过部署文档大小

当请求的部署文档超过最大大小配额时,您可能会遇到此错误。减小部署文档的大小,然后重试部署。

GREENGRASS_ARTIFACT_SIZE_NOT_

当 Greengrass 无法获得公共组件工件的大小时,你可能会遇到这个错误。查看日志以查看导致错误的原因,然后查看 nucleus 软件更新页面以查看问题在更高版本的 nucleus 中是否已得到纠正,或者联系我们AWS Support。

部署_文档_无效

当设备收到无效的部署文档时,您可能会遇到此错误。检查任何其他错误代码或查看日志,看看是什么原因导致了错误。

清空部署请求

当设备收到空部署请求时,您可能会遇到此错误。查看日志以查看导致错误的原因,然后查看 nucleus 软件更新页面以查看问题在更高版本的 nucleus 中是否已得到纠正,或者联系我们AWS Support。

部署_DOCUMENT_PARSE_错误

当部署请求格式与预期格式不匹配时,您可能会遇到此错误。查看日志以查看导致错误的原因,然后查看 nucleus 软件更新页面以查看问题在更高版本的 nucleus 中是否已得到纠正,或者联系我们AWS Support。

组件_METADATA_NOT_VALID_IN_DEPLOYMENT

当部署请求包含无效的组件元数据时,您可能会遇到此错误。查看日志以查看导致错误的原因,然后查看 nucleus 软件更新页面以查看问题在更高版本的 nucleus 中是否已得到纠正,或者联系我们AWS Support。

通用错误

这些一般错误没有相关的错误类型。

部署_中断

当由于 nucleus 关闭或其他外部事件而无法完成部署时,您可能会遇到此错误。有关详细信息,请查看任何其他错误代码或日志。

神器_下载_错误

当下载构件时出现问题时,你可能会遇到这个错误。有关详细信息,请查看任何其他错误代码或日志。

没有可用的组件版本

当云端或本地不存在组件版本时,或者存在依赖关系解决冲突时,你可能会遇到这个错误。有关详细信息,请查看任何其他错误代码或日志。

组件_PACKAGE_LOADING_错误

处理下载的构件时出错,你可能会遇到这个错误。有关详细信息,请查看任何其他错误代码或日志。

CLOUD_API_错误

当调用时出现错误时,你可能会遇到这个错误AWS服务 API。有关详细信息,请查看任何其他错误代码或日志。

IO_ERROR

部署期间出现 I/O 错误时,可能会出现此错误。有关详细信息,请查看任何其他错误代码或日志。

组件_更新_错误

当组件在部署期间未更新时,你可能会遇到这个错误。检查任何其他错误代码或查看日志,看看是什么原因导致了错误。

未知错误

部署失败

当由于引发未检查的异常而导致部署失败时,您可能会遇到此错误。查看日志以查看导致错误的原因,然后查看 nucleus 软件更新页面以查看问题在更高版本的 nucleus 中是否已得到纠正,或者联系我们AWS Support。

部署类型_无效

当部署类型无效时,你可能会遇到这个错误。查看日志以查看导致错误的原因,然后查看 nucleus 软件更新页面以查看问题在更高版本的 nucleus 中是否已得到纠正,或者联系我们AWS Support。