对投放端点使用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

注意:投放终结点不支持搜索操作。 使用作者端点执行资产搜索操作。

要解决此问题,请执行以下步骤:

  1. 使用正确的URL(如https://author-<env>.adobeaemcloud.com/adobe/assets/search?allowUnsafeSearch=true)将AEM Assets开放API搜索请求发送到创作终结点,而不是投放终结点。

  2. 使用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 }'

  3. 如果创作端点返回404错误,请确保在您的环境中启用所需的Assets API功能切换。

recommendation-more-help
experience-cloud-kcs-help-kbarticles