Loading
Configurar uma API de gateway para pesquisa de armazenamento externo

Configurar uma API de gateway para pesquisa de armazenamento externo

Exponha o Amazon Bedrock ou o Amazon Kendra por meio de uma API da AWS que aceita solicitações de pesquisa do Salesforce e retorna resultados de pesquisa com suporte.

Antes de começar, configure e teste uma base de Knowledge da Amazon Bedrock ou um índice do Amazon Kendra.

  1. Crie uma função Lambda que aceite a solicitação Pesquisa de armazenamento externo.
  2. Configure a função para aceitar uma consulta em idioma natural, IDs de ContentDocument do Salesforce, filtros adicionais, uma contagem máxima de resultados e um apelido de pesquisa, conforme aplicável.
  3. Configure a função para consultar o serviço de pesquisa da AWS selecionado e aplicar filtros com suporte.
  4. Transforme cada resultado nos campos de resposta esperados pelo Salesforce.

    A resposta deve incluir estes valores, conforme aplicável:

    Campo Tipo Descrição
    contentDocumentIds Matriz de string IDs normalizados do campo de metadados contentDocumentId
    contentType String ou null Tipo de arquivo
    excerpt String content.text do bloco correspondente
    externalDocumentInfo2 String URI do Amazon S3
    relevanceScore Número Pontuação de relevância retornada pelo serviço de pesquisa
    sourceUrl String URI do Amazon S3
    título String Nome do arquivo derivado do URI do Amazon S3
    pageNumber String ou null Número da página de metadados de bloco
    startTimeMs Número ou nulo Hora de início de mídia relevante em milissegundos
    endTimeMs Número ou nulo Hora de término de mídia relevante em milissegundos

    Consulte Exemplo de resposta de entrada e saída.

  5. Conceda a permissão de papel de execução Lambda para consultar o serviço de pesquisa selecionado.
  6. No Gateway de API, crie uma API REST.
  7. Crie um recurso de pesquisa, como /search.
  8. Crie um método POST que use a função Lambda como destino da integração.
  9. Habilite a integração de proxy Lambda.
  10. Defina a autorização do método como AWS_IAM.
  11. Implemente a API em um estágio, como prod.
  12. Registre o URL de invocação.
  13. Crie uma entidade de segurança do IAM com permissão para invocar a API do gateway.
  14. Envie uma solicitação de teste.
  15. Verifique o esquema de resposta, os IDs de arquivo do Salesforce, as pontuações de relevância, os fragmentos e os locais de origem.
  16. A API do gateway está pronta para se conectar ao Salesforce.

Amostra de resposta de entrada e saída

Here is a sample input:
{
  "searchQuery": "Jason image",
  "contentDocumentIds": [
    "069xx0000004Dea",
    "069LT000001BuuL",
    "069xx0000004Deb",
    "069LT000001Bv41"
  ],
  "additionalFilters": {},
  "maxResults": 100,
  "searchHandle": null
}

Here is a sample output:
{
    "executionTimeMs": 1720,
    "hasMore": false,
    "nextSearchHandle": null,
    "results": [
        {
            "contentDocumentIds": [
                "069xx0000004Dea",
                "069xx0000004CIi"
            ],
            "contentType": "PDF",
            "excerpt": "Jason...",
            "externalDocumentInfo2": "s3://my-bucket/Stockholm-Resume-Template-Simple.pdf",
            "relevanceScore": 0.3837699,
            "sourceUrl": "s3://my-bucket/Stockholm-Resume-Template-Simple.pdf",
            "title": "Stockholm-Resume-Template-Simple.pdf",
            "pageNumber": "1",
            "startTimeMs": null,
            "endTimeMs": null
        },
                {
            "contentDocumentIds": [
                "069LT000001BuuL"
            ],
            "contentType": "MP3",
            "excerpt": "",
            "externalDocumentInfo2": "s3://my-bucket/__sfdcroot__/Case/500LT00000K5Ty5YAF/Hyde_1783590525379.mp3",
            "relevanceScore": 0.3344161,
            "sourceUrl": "s3://my-bucket/__sfdcroot__/Case/500LT00000K5Ty5YAF/Hyde_1783590525379.mp3",
            "title": "Hyde_1783590525379.mp3",
            "pageNumber": null,
            "startTimeMs": 730,
            "endTimeMs": 55110
        },
        {
            "contentDocumentIds": [
                "069xx0000004Deb"
            ],
            "contentType": "MP4",
            "excerpt": "",
            "externalDocumentInfo2": "s3://my-bucket/Multi-File Edit.mp4",
            "relevanceScore": 0.34692305,
            "sourceUrl": "s3://my-bucket/Multi-File Edit.mp4",
            "title": "Multi-File Edit.mp4",
            "pageNumber": null,
            "startTimeMs": 0,
            "endTimeMs": 27849
        },
        {
            "contentDocumentIds": [
                "069LT000001Bv41"
            ],
            "contentType": "PNG",
            "excerpt": "The image describes...",
            "externalDocumentInfo2": "s3://my-bucket/__sfdcroot__/Case/500LT00000K5Ty5YAF/image_1783590602375.png",
            "relevanceScore": 0.3374139,
            "sourceUrl": "s3://my-bucket/__sfdcroot__/Case/500LT00000K5Ty5YAF/image_1783590602375.png",
            "title": "image_1783590602375.png",
            "pageNumber": null,
            "startTimeMs": null,
            "endTimeMs": null
        }
    ]
}

Para obter instruções detalhadas sobre o serviço Bedrock, consulte estas referências da documentação da AWS:

Para obter instruções detalhadas sobre o serviço do Kendra, consulte estas referências da documentação da AWS:

 
Carregando
Salesforce Help | Article