Errore 404 quando si utilizza la ricerca API aperta di Assets sull’endpoint di consegna
Questo articolo spiega come risolvere un errore 404 che si verifica durante l’utilizzo dell’endpoint di ricerca AEM Assets Open API sul livello di consegna.
Descrizione description
Ambiente
Adobe Experience Manager as a Cloud Service (AEMaaCS) (tutte le versioni)
Problema/Sintomi
Quando si tenta di utilizzare l’API aperta di AEM Assets per cercare le risorse attivate tramite l’endpoint documentato nell’API di consegna di AEM Assets, le richieste all’endpoint di consegna (ad esempio, https://delivery-<env>.adobeaemcloud.com/adobe/assets/search?allowUnsafeSearch=true) restituiscono un errore 404:
404 "No RequestProcessor can handle this request."
-
Il corpo della richiesta è una query di ricerca standard, ad esempio:
{ "query": [ { "match": { "text": "*", "fields": [ "assetMetadata.dc:title" ] } } ] , "limit": 10 } -
L’errore persiste anche dopo aver configurato i profili di prodotto e l’autenticazione in Adobe Developer Console.
-
La stessa richiesta funziona come previsto quando la invii all’endpoint di authoring (ad esempio,
https://author-<env>.adobeaemcloud.com/adobe/assets/search?allowUnsafeSearch=true).
Causa
L’API di ricerca è disponibile solo sul livello di authoring. Le richieste al livello di consegna per questa operazione restituiscono un errore 404 perché l’endpoint non è implementato.
Risoluzione resolution
Nota: l’operazione di ricerca non è supportata nell’endpoint di consegna. Utilizza l’endpoint di authoring per le operazioni di ricerca delle risorse.
Per risolvere il problema, eseguire la procedura seguente:
-
Invia la richiesta di ricerca di AEM Assets Open API all’endpoint di authoring anziché all’endpoint di consegna utilizzando l’URL corretto, ad esempio
https://author-<env>.adobeaemcloud.com/adobe/assets/search?allowUnsafeSearch=true. -
Utilizza una richiesta POST con le intestazioni e il corpo della richiesta richiesti come definito nella documentazione API di AEM Assets ed esegui la richiesta con l’endpoint corretto eseguendo un comando cURL come
curl -u "admin:<password>" -X POST "https://author-<env>.adobeaemcloud.com/adobe/assets/search?allowUnsafeSearch=true" \ -H "Content-Type: application/json" \ -d '{ "query": [ { "match": { "text": "*", "fields": [ "assetMetadata.dc:title" ] } } ] , "limit": 10 }' -
Se l’endpoint di authoring restituisce un errore 404, assicurati che nell’ambiente siano abilitati gli interruttori della funzione API di Assets richiesti.