AEM Asset API: оптимизация управления ресурсами в Adobe Experience Manager

“AEM Asset API: раскрывая возможности управления ресурсами”

Adobe Experience Manager (AEM) – это популярная система управления контентом, предлагающая надежные возможности управления ресурсами. Одной из ключевых особенностей AEM является Asset API, который предоставляет разработчикам мощный набор методов для программного взаимодействия с активами. В этой статье блога мы рассмотрим различные методы, предлагаемые AEM Asset API, а также примеры кода, демонстрируя, как вы можете использовать их для улучшения рабочих процессов управления активами.

  1. Загрузка актива.
    Одной из основных задач управления активами является загрузка активов в AEM. Asset API предоставляет простой способ сделать это. Вот пример того, как загрузить ресурс с помощью интерфейса AssetManager:
import com.day.cq.dam.api.Asset;
import com.day.cq.dam.api.AssetManager;
import com.day.cq.dam.commons.util.DamUtil;
import org.apache.sling.api.resource.ResourceResolver;
public void uploadAsset(ResourceResolver resolver, String filePath) {
    AssetManager assetManager = resolver.adaptTo(AssetManager.class);
    Asset asset = assetManager.createAsset(filePath, resolver.getResource("/content/dam"));
    // Asset upload logic...
}
  1. Получение метаданных объекта.
    API активов позволяет получать метаданные, связанные с активами. Это может быть полезно для отображения информации об активе или выполнения определенных действий на основе значений метаданных. Вот пример того, как получить метаданные с помощью интерфейса Asset:
import com.day.cq.dam.api.Asset;
import com.day.cq.dam.api.Rendition;
public void retrieveMetadata(Asset asset) {
    String title = asset.getMetadataValue("dc:title");
    String mimeType = asset.getMimeType();
    long size = asset.getOriginal().getSize();
    // Metadata retrieval logic...
}
  1. Поиск активов.
    API активов также предоставляет методы для поиска активов на основе определенных критериев, таких как тип файла, значения метаданных или свойства актива. Вот пример поиска ресурсов с помощью API QueryBuilder:
import com.day.cq.search.Query;
import com.day.cq.search.QueryBuilder;
import com.day.cq.search.result.SearchResult;
public void searchAssets(QueryBuilder queryBuilder, String searchQuery) {
    Query query = queryBuilder.createQuery(PredicateGroup.create(PropertyPredicate.eq("jcr:content/metadata/dc:title", searchQuery)), resolver.adaptTo(Session.class));
    SearchResult result = query.getResult();
    // Asset search logic...
}
  1. Манипулирование активами.
    API активов позволяет выполнять различные операции с активами, такие как изменение размера, обрезка или создание представлений. Вот пример изменения размера ресурса с помощью интерфейса RenditionHandler:
import com.day.cq.dam.api.Rendition;
import com.day.cq.dam.api.RenditionHandler;
public void resizeAsset(RenditionHandler renditionHandler, Rendition rendition, int width, int height) {
    Rendition resizedRendition = renditionHandler.getRendition(rendition.getPath(), width, height);
    // Asset resizing logic...
}

API ресурсов AEM предоставляет комплексный набор методов, которые позволяют разработчикам программно взаимодействовать с ресурсами, расширяя возможности управления ресурсами Adobe Experience Manager. В этой статье мы рассмотрели различные методы, включая загрузку ресурсов, получение метаданных, поиск активов и манипулирование активами. Используя эти методы, вы можете оптимизировать рабочие процессы управления активами и раскрыть весь потенциал функций управления активами AEM.