asset compute可扩展性故障诊断

以下是为AEM Assets开发和部署自定义Asset compute工作程序时可能遇到的常见问题和错误以及解决方案的索引。

开发 develop

返回的部分已绘制/损坏 rendition-returned-partially-drawn-or-corrupt

  • 错误:演绎版未完全呈现(图像时)或已损坏,无法打开。

    已返回部分绘制的节目

  • 原因:工作人员的 renditionCallback 函数退出,然后才能将格式副本完全写入 rendition.path.

  • 分辨率:查看自定义工作进程代码,并确保使用同步执行所有异步调用。 await.

开发工具 development-tool

asset compute项目中缺少Console.json文件 missing-console-json

  • 错误: 错误:验证时缺少必需的文件(.../node_modules/@adobe/asset-compute-client/lib/integrationConfiguration.js:XX:YY)在异步setupAssetCompute (.../node_modules/@adobe/asset-compute-devtool/src/assetComputeDevTool.js:XX:YY)

  • 原因:console.json asset compute项目的根目录中缺少文件

  • 分辨率: 下载新的 console.json 形成您的Adobe I/O项目

    1. 在console.adobe.io中,打开将Asset compute项目配置为使用的Adobe I/O项目
    2. 点按 下载 右上角的按钮
    3. 使用文件名将下载的文件保存到Asset compute项目的根目录下 console.json

manifest.yml中的YAML缩进不正确 incorrect-yaml-indentation

  • 错误: YAMLException:第X行、第Y列的映射条目缩进错误:(通过标准输出自 aio app run 命令)
  • 原因: Yaml文件具有白空格敏感性,您的缩进可能不正确。
  • 分辨率: 查看您的 manifest.yml 并确保所有缩进均正确。

memorySize限制设置过低 memorysize-limit-is-set-too-low

  • 错误: 本地开发服务器OpenWiskError:PUThttps://adobeioruntime.net/api/v1/namespaces/xxx-xxx-xxx/actions/xxx-0.0.1/__secured_workeroverwrite=true返回HTTP 400(错误请求) —>“请求内容格式错误:请求失败:内存比允许的阈值134217728 B低64 MB”
  • 原因: A memorySize 以下位置中工作人员的限制: manifest.yml 设置为低于错误消息报告的最小允许阈值(字节)。
  • 分辨率: 查看 memorySize 中的限制 manifest.yml 并确保它们都大于允许的最小阈值。

由于缺少private.key,开发工具无法启动 missing-private-key

  • 错误: 本地Dev ServerError:在validatePrivateKeyFile中缺少必需的文件… (通过标准输出自 aio app run 命令)
  • 原因:ASSET_COMPUTE_PRIVATE_KEY_FILE_PATH 中的值 .env 文件,未指向 private.keyprivate.key 当前用户无法读取。
  • 分辨率: 查看 ASSET_COMPUTE_PRIVATE_KEY_FILE_PATH 中的值 .env 文件,并确保它包含到 private.key 文件系统上的。

源文件下拉列表不正确 source-files-dropdown-incorrect

asset compute开发工具可能会进入提取陈旧数据的状态,这种情况在 源文件 显示错误项目的下拉列表。

  • 错误: 源文件下拉列表显示不正确的项目。
  • 原因: 过时的缓存浏览器状态导致
  • 分辨率: 在浏览器中完全清除浏览器选项卡的“应用程序状态”、浏览器缓存、本地存储和Service Worker。

devToolToken查询参数缺失或无效 missing-or-invalid-devtooltoken-query-parameter

  • 错误: asset compute开发工具中的“未授权”通知
  • 原因: devToolToken 缺失或无效
  • 分辨率: 关闭“Asset compute开发工具”浏览器窗口,终止通过启动的任何正在运行的开发工具进程。 aio app run 命令,然后重新启动开发工具(使用 aio app run)。

无法删除源文件 unable-to-remove-source-files

  • 错误: 无法从开发工具UI中删除已添加的源文件

  • 原因: 此功能尚未实施

  • 分辨率: 使用中定义的凭据登录您的云存储提供商 .env. 找到开发工具使用的容器(也在 .env),导航到 文件夹,并删除所有源图像。 您可能需要执行中概述的步骤 源文件下拉列表不正确 如果删除的源文件继续显示在下拉列表中,因为它们可能缓存在开发工具“应用程序状态”的本地中。

    Microsoft Azure Blob存储

测试 test

测试执行期间未生成演绎版 test-no-rendition-generated

  • 错误: 失败:未生成节目。

  • 原因: 辅助进程由于意外错误(如JavaScript语法错误)未能生成演绎版。

  • 分辨率: 查看测试执行的 test.log/build/test-results/test-worker/test.log. 找到此文件中与测试失败案例对应的部分,并检查错误。

    疑难解答 — 未生成演绎版

测试生成错误的演绎版,导致测试失败 tests-generates-incorrect-rendition

  • 错误: 失败:演绎版“rendition.xxx”未按预期运行。

  • 原因: 辅助进程输出与不相同的演绎版 rendition.<extension> 在测试用例中提供。

    • 如果预期 rendition.<extension> 文件创建方式与测试用例中本地生成的格式副本创建方式不完全相同,测试可能会失败,因为比特之间存在一些差异。 例如,如果Asset compute工作进程使用API更改对比度,并通过调整Adobe Photoshop CC中的对比度创建预期结果,则文件可能显示相同,但位中的细微变化可能不同。
  • 分辨率: 通过导航到,查看测试中的演绎版输出 /build/test-worker/<worker-name>/<test-run-timestamp>/<test-case>/rendition.<extension>,并将其与测试用例中的预期演绎版文件进行比较。 要创建完全预期的资产,请执行以下操作:

    • 使用开发工具生成演绎版,验证其是否正确,并将其用作预期的演绎版文件
    • 或者,验证测试生成的文件位于 /build/test-worker/<worker-name>/<test-run-timestamp>/<test-case>/rendition.<extension>,验证它是否正确,并将其用作预期的演绎版文件

调试

调试器未附加 debugger-does-not-attach

  • 错误:处理启动项时出错:错误:无法连接到位于……的调试目标
  • 原因:Docker Desktop未在本地系统上运行。 通过查看VS代码调试控制台(“查看”>“调试控制台”)来验证此设置,确认报告了此错误。
  • 分辨率:开始 Docker Desktop并确认安装了必需的Docker映像.

断点未暂停 breakpoints-no-pausing

  • 错误:从可调试的开发工具运行Asset compute工作进程时,VS Code不会在断点处暂停。

未附加VS代码调试器 vs-code-debugger-not-attached

  • 原因: VS代码调试器已停止/断开连接。
  • 分辨率: 重新启动VS代码调试器,并通过观看VS代码调试输出控制台(“查看”>“调试控制台”)来验证其是否附加

辅助进程执行开始后附加的VS代码调试器 vs-code-debugger-attached-after-worker-execution-began

  • 原因: VS代码调试器在点击之前未连接 运行 在开发工具中。
  • 分辨率: 通过查看VS Code的Debug Console(“查看”>“调试控制台”),然后从“开发工具”重新运行Asset compute工作程序,确保已附加调试器。

Worker在调试时超时 worker-times-out-while-debugging

  • 错误:调试控制台报告“操作将在 — XXX毫秒内超时”或 asset compute开发工具的 演绎版预览无限期旋转或
  • 原因:中定义的Worker超时 manifest.yml 调试期间超出范围。
  • 分辨率:临时增加工作线程的超时,超时时间: manifest.yml 或加速调试活动。

无法终止调试器进程 cannot-terminate-debugger-process

  • 错误Ctrl-C 在命令行上不会终止调试器进程(npx adobe-asset-compute devtool)。

  • 原因:中的错误 @adobe/aio-cli-plugin-asset-compute 1.3.x,结果 Ctrl-C 未被识别为终止命令。

  • 分辨率:更新 @adobe/aio-cli-plugin-asset-compute 到版本1.4.1+

    code language-none
    $ aio update
    

    故障排除 — aio更新

部署 deploy

AEM中的资源缺少自定义演绎版 custom-rendition-missing-from-asset

  • 错误: 已成功新建和重新处理资源,但缺少自定义演绎版

处理配置文件未应用于上级文件夹

  • 原因: 资产不存在于具有使用自定义工作线程的处理配置文件的文件夹下
  • 分辨率: 将处理配置文件应用到资源的上级文件夹

处理配置文件被较低的处理配置文件取代

  • 原因: 资产存在于应用了自定义工作进程配置文件的文件夹下,但已在该文件夹和资产之间应用了未使用客户工作进程的其他处理配置文件。
  • 分辨率: 合并或以其他方式协调两个处理配置文件,并删除中间处理配置文件

AEM中的资源处理失败 asset-processing-fails

  • 错误: 资产上显示“资产处理失败”标记
  • 原因: 执行自定义工作进程时出错
  • 分辨率: 请按照 调试Adobe I/O Runtime激活 使用 aio app logs.
recommendation-more-help
4859a77c-7971-4ac9-8f5c-4260823c6f69