Expand my Community achievements bar.

Submissions are now open for the 2026 Adobe Experience Maker Awards.
SOLVED

Bulk Asset Management in AEM DAM - Feasibility Check

Avatar

Level 1

Hi All,

I wanted to check if the following actions can be performed for a large volume of assets in AEM DAM, and what possible methods or tools (APIs, GenAI, scripts, etc.) we can use to achieve them:

  1. Bulk Rename Assets – Is there a way to change file names in bulk, either through AEM APIs, scripts, or using GenAI-based logic (e.g., metadata-driven naming)?

  2. Reorganize Folder Structure – Can we move assets across folders or restructure the DAM in bulk through automation?

  3. Identify Duplicate Assets – Is there a reliable way to detect and report duplicate assets (based on content, metadata, checksum, etc.)?

Appreciate your inputs on what's feasible within AEM's native capabilities or if any custom approach is recommended.

 

Best regards,

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

@Neel_Mehta 

 

Bulk Rename Assets – AEM Assets HTTP API or JCR API : Use scripting (e.g., Groovy, Sling servlets) to traverse assets and rename them
Reorganize Folder Structure- 

  • JCR API: Move assets across folders using session.move(). 
  • AssetManager API: AssetManager assetManager = resolver.adaptTo(AssetManager.class);
    assetManager.moveAsset("/content/dam/old-path/asset.jpg", "/content/dam/new-path/asset.jpg");


Amanath Ullah

View solution in original post

3 Replies

Avatar

Correct answer by
Community Advisor

@Neel_Mehta 

 

Bulk Rename Assets – AEM Assets HTTP API or JCR API : Use scripting (e.g., Groovy, Sling servlets) to traverse assets and rename them
Reorganize Folder Structure- 

  • JCR API: Move assets across folders using session.move(). 
  • AssetManager API: AssetManager assetManager = resolver.adaptTo(AssetManager.class);
    assetManager.moveAsset("/content/dam/old-path/asset.jpg", "/content/dam/new-path/asset.jpg");


Amanath Ullah

Avatar

Community Advisor

Hi @Neel_Mehta,

Technically, yes—it is possible for all the scenarios you mentioned. However, there is no built-in UI console to achieve this through button clicks.

You'll need to use one of the following methods:

Thank you,
@B_Sravan 

Avatar

Level 5

Hi @Neel_Mehta ,

 

These are some ways to  perform actions for a large volume of assets in AEM DAM - 

 

1. Bulk Rename Assets

    1. Use the AEM Assets HTTP API (/api/assets) or Sling POST as a servlet.

    2. Or run a Groovy Console or custom servlet that:

  • Reads metadata (dc:title, jcr:created).
  • Generates names (optionally via GenAI model).
  • Executes ResourceResolver.move() or Session.move().

2. Reorganize Folder Structure:- Use Groovy Console or custom Java/Groovy script employing ResourceResolver.move() or Sling POST with :dest

 

3. Identify Duplicate Assets

  1. Leverage checksum deduplication: read jcr:content/metadata/dam:sha1 via QueryBuilder or JCR SQL2.
  2. Group assets by identical SHA‑1 values—these are duplicates 

Process:

  • Query all assets and retrieve dam:sha1.
  • Aggregate and identify duplicates.
  • Report or remove based on matches.