对投放端点使用Assets Open API搜索时出现404错误
本文介绍如何解决在投放层上使用AEM Assets Open API搜索端点时遇到的404错误。
描述 description
环境
Adobe Experience Manager as a Cloud Service (AEMaaCS)(所有版本)
问题/症状
当尝试使用AEM Assets Open API通过AEM Assets交付API中记录的端点搜索已激活的资源时,对交付端点的请求(例如,https://delivery-<env>.adobeaemcloud.com/adobe/assets/search?allowUnsafeSearch=true)返回 404 错误:
404 "No RequestProcessor can handle this request."
-
请求正文是标准的搜索查询,例如:
{ "query": [ { "match": { "text": "*", "fields": [ "assetMetadata.dc:title" ] } } ] , "limit": 10 } -
即使在Adobe Developer Console中配置产品配置文件和身份验证,该错误仍然存在。
-
将同一请求发送到作者终结点(例如,
https://author-<env>.adobeaemcloud.com/adobe/assets/search?allowUnsafeSearch=true)时,该请求按预期工作。
原因
搜索API仅在创作层可用。 对此操作的投放层的请求返回 404 错误,因为未在该处实现终结点。
解决方法 resolution
注意:投放终结点不支持搜索操作。 使用作者端点执行资产搜索操作。
要解决此问题,请执行以下步骤:
-
使用正确的URL(如
https://author-<env>.adobeaemcloud.com/adobe/assets/search?allowUnsafeSearch=true)将AEM Assets开放API搜索请求发送到创作终结点,而不是投放终结点。 -
使用POST请求和AEM Assets API文档中定义的所需标头和请求正文,并通过执行cURL命令(例如
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 }' -
如果创作端点返回404错误,请确保在您的环境中启用所需的Assets API功能切换。