Utilizar o Microsoft Graph para aumentar o Microsoft Search com dados personalizados

Este artigo descreve um padrão de integração comum do Microsoft Graph para um cenário empresarial que requer a adição de dados empresariais personalizados às experiências microsoft Search e Microsoft 365 Copilot. Os dados personalizados são ingeridos no armazenamento não estruturado do Microsoft 365 e adicionados a vários índices de pesquisa.

Este cenário não interativo tem os seguintes requisitos:

  • Um tipo de integração de dados, uma vez que fornece apenas dados personalizados e não utiliza a funcionalidade do Microsoft 365 nas aplicações do cliente.
  • Um fluxo de dados de entrada entre a aplicação e o Microsoft 365.
  • Um volume de dados elevado para indexação.
  • Criação de batches e agendamento de dados para carregamento e ingestão, o que resulta num aumento da latência de dados.

A melhor opção para este cenário é utilizar conectores do Microsoft Graph. O diagrama seguinte mostra a arquitetura desta solução.

Um diagrama que mostra uma aplicação de terceiros a autenticar com Microsoft Entra ID, a ligar ao Microsoft Graph e a exportar conteúdos para pesquisa semântica.

Componentes da solução

A arquitetura desta solução inclui os seguintes componentes:

  • Serviço de Aplicativo do Azure, que lhe permite criar e alojar aplicações Web, tarefas agendadas e APIs RESTful na sua linguagem de programação preferida, sem ter de gerir a infraestrutura. Oferece dimensionamento automático e elevada disponibilidade, suporta o Windows e o Linux e permite implementações automatizadas a partir do GitHub, do Azure DevOps ou de qualquer repositório git.
  • Microsoft Entra ID, que é necessário para gerir a autenticação do Microsoft Graph e suporta permissões delegadas e de aplicação para ativar o fluxo OAuth.
  • ApIs RESTful do Microsoft Graph, incluindo conectores, acedidas através de um único ponto final: https://graph.microsoft.com.
  • Uma aplicação personalizada que implementa lógica personalizada.

Considerações

As seguintes considerações suportam a utilização deste padrão de integração:

  • Disponibilidade: a aplicação cliente envia periodicamente dados através das APIs do Microsoft Graph. A aplicação cliente não interativa faz pedidos e carrega os dados com uma frequência controlada pelo ambiente de cliente e limitada pela limitação dos conectores do Microsoft Graph.

  • Latência: a aplicação cliente utiliza as APIs de conectores do Microsoft Graph síncronas e espera uma resposta, mas pode ocorrer alguma latência consoante as condições de rede e a carga no serviço Microsoft Graph.

  • Escalabilidade: a aplicação cliente está limitada a 30 ligações sem mais de 50 000 000 itens por inquilino, pelo que a escalabilidade é limitada. Se o volume de dados for grande, o processamento síncrono poderá tornar-se um desafio e um obstáculo.

  • Complexidade da solução: esta solução pode utilizar conectores criados por fornecedores independentes de software (ISVs), mas se aceder aos SDKs do Microsoft Graph ou às APIs do Microsoft Graph, tem de serializar os dados personalizados para o formato necessário para os conectores. Isto proporciona flexibilidade, mas também aumenta a complexidade. Por conseguinte, esta solução pode variar de complexidade baixa a média.