Erro 404 ao usar a pesquisa da API aberta do Assets no endpoint de entrega
Este artigo explica como resolver um erro 404 encontrado ao usar o endpoint de pesquisa da API aberta do AEM Assets na camada de entrega.
Descrição description
Ambiente
Adobe Experience Manager as a Cloud Service (AEMaaCS) (todas as versões)
Problema/Sintomas
Ao tentar usar a API aberta do AEM Assets para procurar ativos ativados por meio do ponto de extremidade documentado na API de entrega do AEM Assets, as solicitações para o ponto de extremidade de entrega (por exemplo, https://delivery-<env>.adobeaemcloud.com/adobe/assets/search?allowUnsafeSearch=true) retornam um erro 404:
404 "No RequestProcessor can handle this request."
-
O corpo da solicitação é uma consulta de pesquisa padrão, como:
{ "query": [ { "match": { "text": "*", "fields": [ "assetMetadata.dc:title" ] } } ] , "limit": 10 } -
O erro persiste mesmo após a configuração dos perfis de produto e da autenticação no Adobe Developer Console.
-
A mesma solicitação funciona conforme esperado ao enviá-la para o ponto de extremidade do autor (por exemplo,
https://author-<env>.adobeaemcloud.com/adobe/assets/search?allowUnsafeSearch=true).
Causa
A API de pesquisa só está disponível no nível de criação. As solicitações na camada de entrega para esta operação retornam um erro 404 porque o ponto de extremidade não está implementado lá.
Resolução resolution
Observação: não há suporte para a operação de pesquisa no ponto de extremidade de entrega. Use o endpoint do autor para operações de pesquisa de ativos.
Para resolver esse problema, siga estas etapas:
-
Envie a solicitação de pesquisa da AEM Assets Open API para o ponto de extremidade do autor em vez de para o ponto de extremidade de entrega, usando a URL correta, como
https://author-<env>.adobeaemcloud.com/adobe/assets/search?allowUnsafeSearch=true. -
Use uma solicitação POST com os cabeçalhos necessários e o corpo da solicitação conforme definido na documentação da API do AEM Assets, e execute a solicitação com o ponto de extremidade correto executando um comando cURL como
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 o endpoint do autor retornar um erro 404, certifique-se de que os botões necessários do recurso da API do Assets estejam ativados em seu ambiente.