在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
-
搜尋您的程式碼基底,以尋找
com.day.cq.dam.api.AssetManager.createAsset、createOrReplaceAsset和其他在AEM中寫入二進位檔的資產建立方法。 -
確認BPA旗標或IDE警告參考這些API,例如unsupported.asset.api
-
如果您找不到受影響的程式碼,請收集BPA輸出和檔案路徑,並與Adobe支援共用這些路徑。
-
使用下列診斷分支:
- 如果從外部系統上傳資產,請使用直接二進位上傳API (
initiateupload → binary upload → complete-upload)。 - 如果執行大量擷取,請使用雲端儲存空間(S3、Azure、GCP、Dropbox、OneDrive)中的AEM大量匯入。
- 如果需要定期排程擷取,請使用Adobe App Builder + AEM Assets HTTP API。
- 如果從外部系統上傳資產,請使用直接二進位上傳API (
-
確認您的使用案例不需要JVM內資產上傳。
-
在Adobe Developer Console中產生OAuth伺服器對伺服器認證。
-
將正確的產品設定檔指派給認證。
-
產生存取Token,並確認Adobe Developer Console傳回有效的持有人權杖。
-
如果權杖產生失敗,請確認指派的產品設定檔包含寫入許可權。
-
登入AEM Author並導覽至工具
>安全性>使用者。 -
找出在第一次API叫用之後出現的技術帳戶使用者。
-
驗證使用者是否屬於在
/content/dam上具有jcr:read和rep:write許可權的服務使用者群組。 -
檢查 服務 使用者群組的工具
>安全性>許可權。 -
啟動直接二進位上傳工作流程。
-
將二進位直接上傳到傳回的雲端儲存位置。
-
完成上傳要求以開始AEM資產處理。
-
導覽至Assets
>檔案>您的目標資料夾,並確認資產出現在目標資料夾中。 -
如果上傳失敗,請收集API請求和回應裝載,並與Adobe支援共用它們。
-
將資產移至支援的雲端儲存提供者,並在AEM中設定大量匯入
-
確認匯入的資產會顯示在AEM中。