疑難排解Asset compute的擴充性

以下是開發和部署AEM Assets的自訂Asset compute背景工作時可能遇到的常見問題和錯誤索引,以及解決方案。

開發

傳回的轉譯部分繪製/損毀

  • 錯誤:轉譯會完全呈現(當影像時)或損毀且無法開啟。

    返回部分繪製的格式副本

  • 原因:工作程式的 renditionCallback 函式在完全寫入格式副本之前退出 rendition.path

  • 解決方法:檢閱自訂背景工作程式碼,並確保所有非同步呼叫皆使用同步進行 await

開發工具

asset compute專案中缺少Console.json檔案

  • 錯誤: 錯誤:驗證時缺少必需檔案(…/node_modules/@adobe/asset-compute-client/lib/integrationConfiguration.:XX:jsYY)(非同步設定AssetCompute(…/node_modules/@adobe/asset-compute-devtool/src/assetComputeDevTool.:XX:jsYY)
  • 原因: console.json 根目錄中缺少檔案
  • 解決方法: 下載新 console.json 的Adobe I/O專案
    1. 在console.adobe.io中,開啟Asset compute專案設定要使用的Adobe I/O專案
    2. 點選右上角的​下載​按鈕
    3. 使用檔案名console.json將下載的檔案儲存至Asset compute專案的根目錄

manifest.yml中的YAML縮排不正確

  • 錯誤: YAMLException:在行X、列Y處的映射項縮排錯誤:(通過從命令中取 aio app run 消)
  • 原因: Yaml檔案是白間隔的,可能是縮排不正確。
  • 解決方法: 檢閱您的 manifest.yml ,並確保所有縮排正確無誤。

memorySize限制設定得太低

  • 錯誤: 本地開發伺服器OpenWhisk錯誤:PUThttps://adobeioruntime.net/api/v1/namespaces/xxx-xxx-xxx/actions/xxx-0.0.1/__secured_workeroverwrite=true返回HTTP 400(Bad Request)—> "請求內容格式不正確:requirement失敗:記憶體低於允許的閾值64 MB 134217728 B」
  • 原因:memorySize 的工作器限制設定在允 manifest.yml 許的最小閾值以下,如錯誤消息所報告的,以位元組為單位。
  • 解決方 法:檢 memorySize 閱中的 manifest.yml 限制,並確定這些限制都大於允許的最低臨界值。

由於缺少private.key,開發工具無法啟動

  • 錯誤: 本地開發伺服器錯誤:驗證PrivateKeyFile時缺少必需檔案…….(通過aio app run命令的標準輸出)
  • 原因:ASSET_COMPUTE_PRIVATE_KEY_FILE_PATH.env 中的值未指向 private.keyprivate.key 當前用戶無法讀取。
  • 解決方 法:檢 ASSET_COMPUTE_PRIVATE_KEY_FILE_PATH 閱檔 .env 案中的值,並確認包含檔案系統上 private.key 的完整絕對路徑。

源檔案下拉清單不正確

asset compute開發工具可能會進入其提取過時資料的狀態,在​來源檔案​下拉式清單中最能注意到顯示錯誤項目。

  • 錯誤: 來源檔案下拉式清單顯示錯誤的項目。
  • 原因: 過時的快取瀏覽器狀態導致
  • 解決方法: 在您的瀏覽器中,完全清除瀏覽器標籤的「應用程式狀態」、瀏覽器快取、本機儲存和服務背景工作。

遺失或無效的devToolToken查詢參數

  • 錯誤: Asset compute開發工具中的「未授權」通知
  • 原因: devToolToken 遺失或無效
  • 解決方法: 關閉「Asset compute開發工具」瀏覽器窗口,終止通過命令啟動的任何正在運行的「開發工具」 aio app run 進程,然後重新啟動「開發工具」(使 aio app run用)。

無法刪除源檔案

  • 錯誤: 無法從開發工具UI中移除新增的來源檔案

  • 原因: 此功能尚未實作

  • 解決方法: 使用中定義的憑證登入您的雲端儲存空間提供 .env者。找出開發工具使用的容器(也在.env中指定),導覽至​source​資料夾,並刪除任何來源影像。 如果刪除的源檔案繼續顯示在下拉清單中,因為它們可能在開發工具的「應用程式狀態」中快取到本地,則您可能需要執行源檔案下拉清單中列出的步驟,該步驟不正確

    Microsoft Azure Blob儲存

測試

測試執行期間未產生任何轉譯

  • 錯誤: 失敗:未產生任何轉譯。

  • 原因: 工作程式由於意外錯誤(如JavaScript語法錯誤)而無法產生轉譯。

  • 解決方法: 檢閱測試執行的 test.log/build/test-results/test-worker/test.log置。在此檔案中找到與失敗測試案例對應的區段,並檢閱錯誤。

    疑難排解 — 未產生轉譯

測試會產生錯誤的轉譯,導致測試失敗

  • 錯誤: 失敗:格式副本'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>驗證測試產生的檔案,驗證其正確性,並將其用作預期的轉譯檔案

偵錯

除錯程式未附加

  • 錯誤:處理啟動時出錯:錯誤:無法在……連接到調試目標
  • 原因:本地系統上未運行Docker Desktop。檢閱VS程式碼偵錯主控台(檢視>除錯主控台),確認回報此錯誤,以確認此情況。
  • 解決方法:啟 動Docker Desktop並確認安裝了必要的Docker映像

斷點未暫停

  • 錯誤:從可除錯的開發工具執行Asset compute背景工作時,VS程式碼不會在中斷點暫停。

VS程式碼除錯程式未附加

  • 原因: VS程式碼偵錯工具已停止/中斷連線。
  • 解決方法: 重新啟動VS Code Debugger,並透過觀看VS Code Debug Output主控台(檢視>除錯主控台)來確認其已附加

工作程式開始執行後附加的VS程式碼偵錯器

  • 原因: 點選「執行中開發工具」前未附加VS程 ____ 式碼偵錯工具。
  • 解決方法: 檢閱VS Code的Debug Console(檢視>除錯主控台),然後從開發工具重新執行Asset compute背景工作,以確認除錯工具已附加。

調試時工作器超時

  • 錯誤:Debug Console報表「動作將在 — XXX毫秒內逾時」,或 Asset compute開發工具的 轉譯預覽無限期旋轉或
  • 原因:調試期間超過manifest. ymlis中 定義的工作超時。
  • 解決方法:在manifest.ymlor中暫時增加工作器的逾 時, 會加速除錯活動。

無法終止調試程式進程

  • 錯誤: Ctrl-C 在命令列上不會終止除錯程式(npx adobe-asset-compute devtool)。

  • 原因:1.3. @adobe/aio-cli-plugin-asset-compute x中發生錯誤,導致無 Ctrl-C 法辨識為終止命令。

  • 解決方法:更 @adobe/aio-cli-plugin-asset-compute 新至1.4.1+版

    $ aio update
    

    疑難排解 — aio更新

部署

AEM中遺失資產的自訂轉譯

  • 錯誤: 新資產和重新處理的資產處理成功,但缺少自訂轉譯

處理配置檔案未應用於上階資料夾

  • 原因: 資產在具有使用自訂背景工作之處理設定檔的資料夾下不存在
  • 解決方法: 將處理設定檔套用至資產的上階資料夾

處理配置檔案被較低的處理配置檔案取代

  • 原因: 資產存在於套用自訂背景工作處理設定檔的資料夾下方,但該資料夾與資產之間已套用了不使用客戶背景工作的不同處理設定檔。
  • 解決方法: 合併或調解兩個處理設定檔,並移除中間處理設定檔

AEM中的資產處理失敗

  • 錯誤:資 產處理失敗徽章顯示在資產上
  • 原因: 自訂背景工作執行中發生錯誤
  • 解決方法: 依照使用除錯Adobe I/O Runtime 動作 的指示 aio app logs操作。

本頁內容