404-Fehler bei Verwendung der Assets Open API-Suche am Bereitstellungsendpunkt
In diesem Artikel wird erläutert, wie Sie einen 404-Fehler beheben, der bei Verwendung des Suchendpunkts "AEM Assets Open API“ auf der Bereitstellungsebene auftritt.
Beschreibung description
Umgebung
Adobe Experience Manager as a Cloud Service (AEMaaCS) (alle Versionen)
Problem/Symptome
Beim Versuch, mit der offenen AEM Assets-API über den in der AEM Assets-Bereitstellungs-API dokumentierten Endpunkt nach aktivierten Assets zu suchen, geben Anfragen an den Bereitstellungsendpunkt (z. B. https://delivery-<env>.adobeaemcloud.com/adobe/assets/search?allowUnsafeSearch=true) einen 404 Fehler zurück:
404 "No RequestProcessor can handle this request."
-
Der Anfragetext ist eine Standardsuchabfrage, z. B.:
{ "query": [ { "match": { "text": "*", "fields": [ "assetMetadata.dc:title" ] } } ] , "limit": 10 } -
Der Fehler bleibt auch nach der Konfiguration von Produktprofilen und der Authentifizierung in der Adobe Developer Console bestehen.
-
Dieselbe Anfrage funktioniert wie erwartet, wenn Sie sie an den Autoren-Endpunkt senden (z. B.
https://author-<env>.adobeaemcloud.com/adobe/assets/search?allowUnsafeSearch=true).
Ursache
Die Such-API ist nur auf der Autorenebene verfügbar. Anfragen an die Bereitstellungsebene für diesen Vorgang geben einen 404-Fehler zurück, da der Endpunkt dort nicht implementiert ist.
Lösung resolution
Hinweis: Der Suchvorgang wird auf dem Versand-Endpunkt nicht unterstützt. Verwenden Sie den Autoren-Endpunkt für Asset-Suchvorgänge.
Gehen Sie wie folgt vor, um dieses Problem zu beheben:
-
Senden Sie die AEM Assets Open API-Suchanfrage an den Autoren-Endpunkt und nicht an den Versand-Endpunkt, indem Sie die richtige URL verwenden, z. B.
https://author-<env>.adobeaemcloud.com/adobe/assets/search?allowUnsafeSearch=true. -
Verwenden Sie eine POST-Anfrage mit den erforderlichen Kopfzeilen und dem Anfragetext, wie in der AEM Assets-API-Dokumentation definiert, und führen Sie die Anfrage mit dem richtigen Endpunkt aus, indem Sie einen cURL-Befehl ausführen, z. B.
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 }' -
Stellen Sie sicher, dass die erforderlichen Assets-API-Funktions-Umschalter in Ihrer Umgebung aktiviert sind, wenn der Autoren-Endpunkt einen 404-Fehler zurückgibt.