AEM Assets Author API로 폴더를 만들고 에셋을 가져올 때 발생하는 시간 문제 처리

이 문서에서는 에셋 가져오기 작업 전에 폴더를 완전히 사용할 수 있도록 다시 시도 논리를 구현하여 Adobe Experience Manager(AEM) Assets 작성자 API를 사용하여 에셋을 새로 만든 폴더로 가져올 때 간헐적인 오류를 해결하는 방법에 대해 설명합니다.

설명 description

환경

AEM as a Cloud Service 및 Assets Author API 및 OpenAPI 기반 엔드포인트를 사용하는 기타 배포 모델이 포함된 Adobe Experience Manager(AEM).

증상

자산 가져오기를 자동화할 때 외부 애플리케이션은 다음과 같은 작업을 수행합니다.

  • HEAD(폴더 존재) API를 사용하여 대상 폴더가 있는지 확인합니다.
  • 폴더 만들기 API를 사용하여 폴더가 없는 경우 폴더를 만듭니다.
  • 성공적인 폴더 만들기 응답을 받고 후속 HEAD(폴더가 있음) API 호출이 HTTP 200​을(를) 반환합니다.
  • 자산을 업로드하려면 Assets 가져오기 API(/import/fromUrl)를 즉시 호출합니다.
  • 폴더를 해결할 수 없음 또는 기타 쓰기 관련 오류와 같은 HTTP 400 또는 HTTP 403 오류로 인해 가져오기 요청이 실패하는 경우가 있습니다.
  • 경우에 따라 폴더 만들기 API가 HTTP 200​을(를) 반환하지만 응답 페이로드는 실패를 나타냅니다(예: 빈 성공 배열 및 오류 메시지).

API 요청 및 응답 예

Create Folder API response (failure despite HTTP 200):{"operation": "adobe.folders.createFolders","status": 200,"description": "Created folders","data": { "values": { "successes": [ ]  } },"errors": [ {"type": "https://api.adobeaemcloud.com/adobe/meta/errors/internal_server_error","title": "Internal Server Error","detail": "Failed to create folder /content/dam/folder1 due to an exception: Unable to commit changes to session."}] ,"warnings": [ ] }

원인

AEM은 폴더 생성 후 최종 일관성을 보여 주기 때문에 폴더를 에셋 작업에 완전히 사용할 수 있도록 잠시 지연됩니다. HEAD(폴더 존재) 응답이 있다고 해서 자산 가져오기에 대한 즉각적인 준비가 항상 보장되는 것은 아닙니다.

해결 방법 resolution

아래 단계에 따라 문제를 해결하십시오.

  1. 폴더를 만든 후에는 항상 폴더 만들기 API 응답 페이로드를 검사합니다.

    • successes 배열에 필요한 폴더 경로가 포함되어 있는지 확인하십시오.

    • HTTP 상태가 200​인 경우에도 응답에 오류가 있는지 확인하십시오.

  2. 폴더를 만든 후 즉시 Assets 가져오기 API를 호출하지 마십시오. 대신 제한 재시도 메커니즘을 구현합니다.

    • 폴더 존재 확인을 다시 시도하기 전에 잠시(예: 1초) 기다리십시오.

    • 제한된 횟수만큼 검사를 다시 시도합니다(예: 1초, 2초, 4초와 같이 지연이 증가하는 경우 2~3번 시도).

    • 폴더 존재 검사가 일관되게 HTTP 200​을(를) 반환하고 폴더를 사용할 수 있는 것으로 확인한 후에만 Assets 가져오기 API를 호출합니다(폴더 만들기 응답 성공).

  3. 가져오기 작업이 폴더 해결 또는 일시적인 쓰기/액세스 오류와 함께 계속 실패하는 경우 제한된 횟수만큼 계속 다시 시도한 후에 최종 실패로 처리합니다.

  4. 지속적인 403 오류가 발생하면 대상 경로에 대한 권한 및 API 액세스 구성을 확인하십시오.

확인: 위의 단계를 수행한 후 폴더 해결 오류 없이 자산 가져오기 작업이 성공했는지 확인합니다.

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