Export all assets, including expired and offtime assets, from AEMaaCS
This article explains how to export all assets from Adobe Experience Manager as a Cloud Service(AEMaaCS), including assets with past off-time or expiration dates. It describes why expired or off-time assets are not downloaded by the standard AEM Assets export script and outlines an alternative approach to export these assets when sufficient permissions are available.
Description description
Environment
- Adobe Experience Manager as a Cloud Service (all versions)
Issue/Symptoms
- Assets with a past off-time or expiration date fail to download when running the documented AEM Assets export script.
- The script attempts to fetch asset binaries through API rendition URLs.
- The API rendition URLs return HTTP 404 for expired or off-time assets.
- The affected assets are still present in the DAM on the Author environment.
- The assets can be accessed and downloaded directly from their DAM paths on the Author environment when the user or access token has sufficient permissions.
Cause
- The AEM Assets HTTP API rendition URLs enforce off-time and expiration restrictions.
- Requests for assets that are expired or have a past off-time return HTTP 404.
- Direct DAM paths on the Author environment do not enforce these restrictions for users with sufficient permissions.
Resolution resolution
Follow the steps below to resolve the issue.
-
Run the export script against the Author environment, not the Publish environment.
- Use the Author URL (for example,
https://author-<tenant>.adobeaemcloud.com).
- Use the Author URL (for example,
-
Ensure you are using an access token associated with a user or technical account that has administrator permissions.
- Only users with administrator rights can download expired or offTime assets.
- If you do not have these permissions, contact your AEM administrator.
-
Modify the export script to download asset binaries directly from the DAM path instead of the API rendition URL. For each asset, construct the DAM path using the asset’s metadata (such as
cq:parentPathandcq:name) to build the download URL:- Example:
${asset.properties[ 'cq:parentPath'] }/${asset.properties[ 'cq:name'] } - Download from:
https://author-<tenant>.adobeaemcloud.com/content/dam/...
- Example:
-
Use your access token to authenticate the download request.
- Ensure your token has not expired and is scoped for the required permissions.
-
After the export completes, verify that all expected assets, including those with past offTime or expiration dates, are present in your local backup.