AEM Assets API를 통해 콘텐츠를 업데이트하는 방법 update-your-content

AEM Headless 개발자 여정의 부분에서는 REST API를 통해 콘텐츠 조각의 콘텐츠에 액세스하고 업데이트하는 방법을 대해 알아봅니다.

지금까지의 스토리 story-so-far

AEM Headless 번역 여정의 이전 문서인 AEM Delivery API를 통해 콘텐츠를 액세스하는 방법에서 AEM GraphQL API를 통해 AEM의 Headless 콘텐츠에 액세스하는 방법에 대해 알아보았습니다. 여기에서 알게 된 내용은 다음과 같습니다.

  • 고차원의 GraphQL을 이해해야 합니다.
  • AEM GraphQL API Target의 작동 방식을 이해할 수 있습니다.
  • 몇 가지 실용적인 샘플 쿼리를 이해할 수 있습니다.

이 문서는 해당 기본 사항을 기본으로 하며, 이를 통해 REST API를 사용하여 AEM의 기존 Headless 콘텐츠를 업데이트하는 방법에 대해 살펴볼 수 있습니다.

목표 objective

  • 대상자: 고급

  • 목표: REST API를 사용하여 콘텐츠 조각의 콘텐츠에 액세스하고 업데이트하는 방법에 대해 알아보기:

    • AEM Assets HTTP API를 소개합니다.
    • API의 콘텐츠 조각 지원을 소개하고 자세히 설명합니다.
    • API의 세부 정보를 간단히 설명합니다.

콘텐츠 조각에 Assets HTTP API가 필요한 이유는 무엇입니까? why-http-api

Headless 여정의 이전 단계에서는 쿼리를 사용하여 콘텐츠를 검색하는 AEM GraphQL API 사용에 대해 알아보았습니다.

그러면 다른 API가 필요한 이유는 무엇입니까?

Assets HTTP API를 사용하여 콘텐츠를 읽을 수 있지만 GraphQL API를 사용할 수 없는 액션인 콘텐츠를 만들고, 업데이트 ​하고, 삭제 ​할 수도 있습니다.

Assets REST API는 기본적으로 제공되는 최신 Adobe Experience Manager as a Cloud Service 버전 설치에서 사용할 수 있습니다.

Assets HTTP API assets-http-api

Assets HTTP API에는 다음이 포함됩니다.

  • Assets REST API
  • 콘텐츠 조각의 지원 포함

Assets HTTP API의 현재 구현은 REST 아키텍처 스타일을 기반으로 하며 CRUD 작업(만들기, 읽기, 업데이트, 삭제)을 통해 콘텐츠(AEM에 저장됨)에 액세스할 수 있습니다.

이 작업에서 API를 사용하면 JavaScript 프론트엔드 애플리케이션에 콘텐츠 서비스를 제공하여 Headless CMS(콘텐츠 관리 시스템)로서 Adobe Experience Manager as a Cloud Service를 작동할 수 있습니다. 아니면 HTTP 요청을 실행하고 JSON 응답을 처리할 수 있는 다른 애플리케이션입니다. 예를 들어 단일 페이지 애플리케이션(SPA), 프레임워크 기반 또는 사용자 정의에는 API를 통해 종종 JSON 형식으로 제공되는 콘텐츠가 필요합니다.

Assets HTTP API 및 콘텐츠 조각 assets-http-api-content-fragments

콘텐츠 조각은 Headless 게재에 사용되고 콘텐츠 조각은 특수 유형의 자산입니다. 텍스트, 숫자, 날짜 등과 같은 구조화된 데이터에 액세스하는 데 사용됩니다.

Assets REST API 사용 using-aem-assets-rest-api

액세스 access

Assets REST API는 /api/assets엔드포인트를 사용하여 액세스하려면 자산 경로가 필요합니다(선행 /content/dam 없이).

  • 즉, 다음 위치에서 자산에 액세스할 수 있습니다.
    • /content/dam/path/to/asset
  • 다음을 요청해야 합니다.
    • /api/assets/path/to/asset

예를 들어 /content/dam/wknd/en/adventures/cycling-tuscany에 액세스하기 위해 /api/assets/wknd/en/adventures/cycling-tuscany.json을 요청합니다.

NOTE
다음을 통한 액세스:
  • /api/assets.model 선택기 사용이 필요하지 않습니다.
  • /content/path/to/page.model 선택기 사용이 필요​ 합니다.

작업 operation

HTTP 메서드는 실행할 작업을 결정합니다.

  • GET - 자산 또는 폴더의 JSON 표현식 검색
  • POST - 새 자산 또는 폴더 만들기
  • PUT - 자산 또는 폴더의 속성 업데이트
  • DELETE - 자산 또는 폴더 삭제
NOTE
요청 본문 및/또는 URL 매개변수를 사용하여 해당 작업 중 일부를 구성할 수 있습니다(예: POST 요청에 의해 폴더 또는 자산이 생성될 수 있도록 정의).

API 참조 설명서에 지원되는 요청의 정확한 형식을 정의합니다.

사용량은 특정 사용 사례와 함께 AEM 작성자 또는 게시 환경 사용 여부에 따라 다를 수 있습니다.

  • 작성자 인스턴스에 생성을 바인딩하는 것이 좋습니다(그리고 현재 이 API를 통해 게시할 조각을 복제할 수 없음).

  • AEM은 JSON 형식으로만 요청된 콘텐츠를 제공하므로 모두에서 게재할 수 있습니다.

    • AEM 작성자 인스턴스 저장 및 게재는 방화벽 뒤 미디어 라이브러리 애플리케이션에 충분할 수 있습니다.

    • 라이브 웹 게재의 경우 AEM 게시 인스턴스가 권장됩니다.

CAUTION
AEM 클라우드 인스턴스의 Dispatcher 구성은 /api에 대한 액세스를 차단할 수 있습니다.
NOTE
API 참조 Adobe Experience Manager Assets API - 콘텐츠 조각을 참조하십시오.

읽기/게재 read-delivery

사용은 다음을 통해서입니다.

GET /{cfParentPath}/{cfName}.json

예:

http://<host>/api/assets/wknd/en/adventures/cycling-tuscany.json

응답은 콘텐츠 조각에서와 같이 구조화된 콘텐츠가 있는 직렬화된 JSON입니다. 참조 URL로 참조를 게재합니다.

다음과 같이 두 가지 유형의 읽기 작업이 가능합니다.

  • 경로를 통해 특정 콘텐츠 조각을 읽으면 콘텐츠 조각의 JSON 표현식이 반환됩니다.
  • 경로를 통해 콘텐츠 조각의 폴더 읽기: 폴더 내 모든 콘텐츠 조각의 JSON 표현식이 반환됩니다.

만들기 create

사용은 다음을 통해서입니다.

POST /{cfParentPath}/{cfName}

본문에는 콘텐츠 조각 요소에 설정해야 하는 초기 콘텐츠를 비롯해 생성할 콘텐츠 조각의 JSON 표현식이 포함되어야 합니다. cq:model 속성 설정이 필수이며 유효한 콘텐츠 조각 모델을 지정해야 합니다. 지정하지 못하면 오류가 발생합니다. 또한 application/json으로 설정된 헤더 Content-Type을 추가해야 합니다.

업데이트 update

사용은 다음을 통해서입니다.

PUT /{cfParentPath}/{cfName}

본문에는 특정 콘텐츠 조각에 업데이트할 항목의 JSON 표현식이 포함되어야 합니다.

이는 간단히 콘텐츠 조각의 제목이나 설명 또는 단일 요소나 모든 요소 값 및/또는 메타데이터일 수 있습니다.

삭제 delete

사용은 다음을 통해서입니다.

DELETE /{cfParentPath}/{cfName}

AEM Assets REST API 사용에 대한 자세한 내용은 다음을 참조하십시오.

  • Adobe Experience Manager Assets HTTP API(추가 리소스)
  • AEM Assets HTTP API의 콘텐츠 조각 지원(추가 리소스)

다음 단계 whats-next

AEM Headless 개발자 여정의 한 부분을 완료했으므로,

  • AEM Assets HTTP API의 기본 사항을 이해할 수 있습니다.
  • 이 API에서 콘텐츠 조각을 지원하는 방법을 이해할 수 있습니다.

다음 문서인 결합 방법 - AEM Headless의 앱과 콘텐츠를 검토하여 AEM Headless 여정을 계속하는 것이 좋습니다(애플리케이션 결합에 사용해야 할 AEM 아키텍처 기본 사항 및 도구에 익숙한 경우).

추가 리소스 additional-resources

recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab