Configured Dynamic Media in Cloud DEV and added the Immediate configuration in Global settings, but assets are not being pushed to the DM server
Hi everyone,
I am facing an issue with AEM - Dynamic Media (Scene7) integration in our AEM as a Cloud Service environment.
Our Dynamic Media configuration under Tools -> Cloud Services -> Dynamic Media Configuration is set to “Publish assets to Dynamic Media server: Immediate”, meaning assets should be uploaded to DM as soon as they’re added to AEM DAM.
However, we’re noticing the following behavior:
Problem Description
When we upload assets manually via the AEM DAM UI, everything works fine.
The asset syncs to Dynamic Media immediately.
Scene7 renditions and public URLs are generated successfully.
When we upload assets programmatically (via custom backend code) - using APIs such as:
initiateUpload.json(Upload API)
AssetManager.createAsset(...) resourceResolver.commit();the asset gets stored correctly in AEM DAM,
but it does NOT trigger the Dynamic Media upload process.As a result, assets uploaded via the backend do not appear in Scene7,
and DM renditions/public URLs are missing.
What We’ve Checked So Far
Verified that Dynamic Media configuration is active and set to Immediate mode.
DM connection is working fine - confirmed through logs.
Uploads via AEM UI go through the DM ingestion workflow successfully.
What We’re Looking For
How can we programmatically trigger the Dynamic Media upload process for assets created through custom code?
Is there any service call, workflow, or API we should explicitly invoke (for example, something equivalent to the internal DM sync workflow)?
Or is there a metadata flag/property that we can set during asset creation to force AEM to queue it for DM ingestion?
Environment
AEM as a Cloud Service
Dynamic Media (Scene7) Integration enabled
Publish Mode: Immediate
Assets uploaded via: initiateUpload.json(Upload API) | AssetManager.createAsset() --> if initiateUpload.json(Upload API) fails we are going with AssetManager.createAsset().
+ resourceResolver.commit()