在Adobe Experience Manager as a Cloud Service中使用Asset Manager API時,資產上傳失敗

整合使用JVM內API (例如com.day.cq.dam.api.AssetManager.createAsset)時,資產上傳失敗。 Adobe Experience Manager as a Cloud Service已棄用且不支援這些API的二進位上傳。 在AEM JVM內上傳二進位檔會被視為雲端反模式。 若要修正此問題,請移轉至直接二進位上傳工作流程,或使用大量匯入進行資產擷取。

說明 description

環境

  • Adobe Experience Manager as a Cloud Service
  • Adobe Developer App Builder
  • AEM動態媒體

問題/症狀

  • BPA報告旗標​不支援.asset.api
  • com.day.cq.dam.api.AssetManager.createAsset或類似API的使用情況
  • 在AEM JVM內執行的資產上傳嘗試
  • 指出資產上傳不得在Experience Manager JVM內執行的警告
  • 開發人員警告指出資產上傳不得在Experience Manager JVM內執行

解決方法 resolution

  1. 搜尋您的程式碼基底,以尋找com.day.cq.dam.api.AssetManager.createAssetcreateOrReplaceAsset和其他在AEM中寫入二進位檔的資產建立方法。

  2. 確認BPA旗標或IDE警告參考這些API,例如​unsupported.asset.api

  3. 如果您找不到受影響的程式碼,請收集BPA輸出和檔案路徑,並與Adobe支援共用這些路徑。

  4. 使用下列診斷分支:

    • 如果從外部系統上傳資產,請使用直接二進位上傳API (initiateupload → binary upload → complete-upload)。
    • 如果執行大量擷取,請使用雲端儲存空間(S3、Azure、GCP、Dropbox、OneDrive)中的AEM大量匯入
    • 如果需要定期排程擷取,請使用Adobe App Builder + AEM Assets HTTP API
  5. 確認您的使用案例不需要JVM內資產上傳。

  6. 在Adobe Developer Console中產生OAuth伺服器對伺服器認證。

  7. 將正確的產品設定檔指派給認證。

  8. 產生存取Token,並確認Adobe Developer Console傳回有效的持有人權杖。

  9. 如果權杖產生失敗,請確認指派的產品設定檔包含寫入許可權。

  10. 登入AEM Author並導覽至工具>安全性>使用者

  11. 找出在第一次API叫用之後出現的技術帳戶使用者。

  12. 驗證使用者是否屬於在/content/dam上具有jcr:readrep:write許可權的服務使用者群組。

  13. 檢查 服務 使用者群組的工具>安全性>許可權

  14. 啟動直接二進位上傳工作流程。

  15. 將二進位直接上傳到傳回的雲端儲存位置。

  16. 完成上傳要求以開始AEM資產處理。

  17. 導覽至Assets >檔案>您的目標資料夾,並確認資產出現在目標資料夾中。

  18. 如果上傳失敗,請收集API請求和回應裝載,並與Adobe支援共用它們。

  19. 將資產移至支援的雲端儲存提供者,並在AEM中設定大量匯入

  20. 確認匯入的資產會顯示在AEM中。

相關閱讀

recommendation-more-help
experience-cloud-kcs-help-kbarticles