Adobe Experience Manager as a Cloud Service에서 에셋 관리자 API를 사용할 때 에셋 업로드가 실패합니다

통합에서 com.day.cq.dam.api.AssetManager.createAsset과(와) 같은 in-JVM API를 사용하는 경우 에셋 업로드가 실패합니다. 이러한 API는 더 이상 사용되지 않으며 Adobe Experience Manager as a Cloud Service에서 바이너리 업로드에 대해 지원되지 않습니다. AEM JVM 내에서 바이너리를 업로드하는 것은 클라우드 안티 패턴으로 처리됩니다. 이 문제를 해결하려면 다이렉트 이진 업로드 워크플로우로 마이그레이션하거나 자산 수집에 일괄 가져오기 를 사용합니다.

설명 description

환경

  • Adobe Experience Manager as a Cloud Service
  • Adobe Developer App Builder
  • AEM Dynamic Media

문제/증상

  • BPA 보고서 플래그 unsupported.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.createAsset, createOrReplaceAsset 및 AEM 내에서 바이너리를 작성하는 기타 에셋 생성 메서드를 검색합니다.

  2. BPA 플래그 또는 IDE 경고가 unsupported.asset.api​와(과) 같은 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. 액세스 토큰을 생성하고 Adobe Developer Console이 유효한 전달자 토큰을 반환하는지 확인하십시오.

  9. 토큰 생성에 실패하면 할당된 제품 프로필에 쓰기 권한이 포함되어 있는지 확인합니다.

  10. AEM 작성자에 로그인하고 도구 > 보안 > 사용자(으)로 이동합니다.

  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