“AEM Asset API: раскрывая возможности управления ресурсами”
Adobe Experience Manager (AEM) – это популярная система управления контентом, предлагающая надежные возможности управления ресурсами. Одной из ключевых особенностей AEM является Asset API, который предоставляет разработчикам мощный набор методов для программного взаимодействия с активами. В этой статье блога мы рассмотрим различные методы, предлагаемые AEM Asset API, а также примеры кода, демонстрируя, как вы можете использовать их для улучшения рабочих процессов управления активами.
- Загрузка актива.
Одной из основных задач управления активами является загрузка активов в 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...
}
- Получение метаданных объекта.
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...
}
- Поиск активов.
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...
}
- Манипулирование активами.
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.