EventoObtenha 50% de desconto no seu ingresso para MongoDB.local Londres em outubro 2. Use o código WEB50Saiba mais >>
Desenvolvedor MongoDB
Central de desenvolvedor do MongoDBchevron-right
Produtoschevron-right
Atlaschevron-right

Combinando seu banco de dados com o armazenamento de blog do Azure usando o Data Federation

Tim Kelly7 min read • Published Aug 29, 2024 • Updated Aug 29, 2024
AzureFederação de DadosJavaScriptAtlas
APLICATIVO COMPLETO
Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Tutorial
star-empty
star-empty
star-empty
star-empty
star-empty
Desde que você analise restaurantes, você armazena seus dados no MongoDB. A multiplicidade de dados que você coletou é tão substancial que você decide se juntar a seus amigos para hospedar esses dados online, para que outros clientes do restaurante possam decidir onde come, informados por suas informações detalhadas. Mas seu amigo tem armazenado os dados no Azure. Eles usam JSON agora, mas têm avaliações e mais avaliações armazenadas como arquivos.csv . Como podemos obter todos esses dados agrupados sem o processo muitas vezes árduo de migrar bancos de dados ou transformar dados? Com a Atlas Data Federation do MongoDB, você pode combinar todos os seus dados em uma visão unificada, permitindo pesquisar facilmente o melhor restaurante francês em seu bairro.
Este tutorial orientará você pelas etapas de combinação do MongoDB database com o armazenamento do Azure Blob, utilizando o Atlas Data Federation.

Pré-requisitos

Antes de começar, você precisará de alguns pré-requisitos para acompanhar este tutorial, incluindo:
  • Uma conta do MongoDB Atlas, se você ainda não tiver uma.
  • Uma conta do Microsoft Azure com uma conta de armazenamento e configuração de contêiner. Se você não tiver isso, siga as etapas na documentação da Microsoft para a conta de armazenamento e o container.
  • O Azure CLIou você pode instalar o Azure PowerShell, mas este tutorial usa o Azure CLI. Inicie sessão e configure a ferramenta de linha de comando seguindo os passos na documentação para CLI do Azure e Azure PowerShell.
  • Node.js 18 ou superior e npm: certifique-se de ter o Node.js e o npm (gerenciador de pacotes Node.js) instalados. O Node.js é o ambiente de execução necessário para executar seu código JavaScript no lado do servidor. npm é usado para gerenciar as dependências.

Adicione seus dados de amostra

Para ter algo para exibir quando seus armazenamentos de dados estiverem conectados, vamos adicionar algumas revisões ao seu blob. Primeiro, você adicionará uma avaliação para um novo restaurante que acabou de avaliar em Manhattan. Crie um arquivo chamado example1.json e copie o seguinte:
Carregue este arquivo como um blob para seu container:
Aqui, BlobName é o nome que você deseja atribuir ao seu blob (basta usar o mesmo nome do arquivo) e PathToFile é o caminho para o arquivo que você deseja carregar (por exemplo1.json).
Mas você não está restrito apenas ao JSON em seu banco de dados federado. Você vai criar outro arquivo, chamado exemplo2.csv. Copie os seguintes dados no arquivo:
Carregue o exemplo2.csv em seu blob usando o mesmo comando acima.
Você pode listar os blobs no seu container para verificar se o arquivo foi carregado:

Conectar seus bancos de dados usando o Data Federation

As primeiras etapas serão configurar seu cluster MongoDB. Para este tutorial, você criará um cluster M0 gratuito. Depois de criado, clique em "Carregar conjunto de dados de amostra". No conjunto de dados de amostra, você verá um banco de dados chamado sample_restaurants com uma coleção chamada restaurants, contendo milhares de restaurantes com avaliações. Esta é a coleção em que você se concentrará.
Agora que você tem o Armazenamento do Azure e o cluster do MongoDB configurados, está pronto para implantar sua instância de banco de dados federado.
  1. Selecione "Data Federation" no menu de navegação à esquerda.
  2. Clique em "Create New Federated Database" e, no menu suspenso, selecione "Set up manually (Configurar manualmente)."
  3. Escolha Azure como seu provedor de nuvem e dê um nome à instância do banco de dados federado. A tela exibindo nossa seleção de provedor de nuvem para nosso banco de dados federado, Azure.
  4. Para adicionar sua fonte de dados, clique em "Adicionar fonte de dados" e selecione Azure Blob Storage como seu armazenamento de dados.
  5. Em seguida, você precisa selecionar um Azure Service Principal. Você pode usar um existente, mas criará um novo para este tutorial. Na lista suspensa, selecione "Autorizar um Azure Service Principal" e clique em Continuar.
  6. Para atribuir os relacionamentos, siga as instruções na tela. Neste tutorial, você usará o AzureCLI.
    1. Primeiro, você precisa obter o ID do locatário executando o comando:
    2. Em seguida, execute o seguinte comando para criar seu novo Princípio de serviço para Atlas e copie o "ID" da saída:
  7. Você precisa conceder seu acesso. Novamente, haverá prompts na tela para orientá-lo nas etapas, mas você pode acompanhar aqui.
    1. Primeiro, execute az storage account list --query "[].id" para obter a ID do recurso da conta de armazenamento. Isso preencherá automaticamente o comando na página que você pode copiar e executar em seu terminal para configurar a delegação de credenciais.
    2. Em seguida, configure o acesso ao seu contêiner de armazenamento. Escolha se deseja conceder privilégios "Somente leitura" ou "Leitura e gravação". Selecione a região do container de armazenamento e insira o nome do container de armazenamento. Isso preencherá automaticamente o comando abaixo na página que você pode copiar e colar.
  8. Agora, você precisa fornecer exemplos de caminhos para que possa consultar seus dados. Se você acompanhou este exemplo simples, copie o caminho https://<YourStorageAccount>.blob.core.windows.net/<YourContainerName>/sample.json - é claro, com os nomes da conta e do contêiner - para a caixa.
  9. Para vincular seus componentes do caminho do Azure Blob Storage, no menu suspenso, aceite " qualquer valor (*) " e clique em “Next.”
  10. Você deve ver o nome do seu container em suas fontes de dados agora. Tudo que você precisa fazer é arrastar seu conjunto de dados e soltá-lo em sua collection virtual.
Vamos adicionar seu conjunto de dados do MongoDB ao seu banco de dados federado agora.
  1. Clique em "Adicionar fontes de dados" e escolha "Atlas Cluster. "
  2. Selecione o cluster que contém o conjunto de dados de amostra.
  3. Isso abrirá todos os bancos de dados no cluster. Clique na seta suspensa ao lado de sample_restaurants para visualizar as coleções dentro desse banco de dados, escolha restaurantse clique em "Next. " A tela Adicionar fonte de dados mostra o MongoDB Atlas Cluster selecionado, junto com nossa collection restaurantes.
  4. Agora, você deve ver sample_restaurants.restaurants em fontes de dados. Você pode arrastar seu conjunto de dados para sua collection virtual, como antes.
Agora que você tem os dois conjuntos de dados em sua instância de banco de dados federado, clique em "Create," e é hora de visualizar seus dados.

Conecte-se ao nosso banco de dados federado.

Há muitas maneiras de visualizar os dados no banco de dados federado. Para este tutorial, você criará um aplicativo Node.js simples. Para fazer isso, você precisará de uma string de conexão. Depois que sua instância de banco de dados federado for criada, você poderá vê-la em " Data Federation " no menu de navegação à esquerda. Na sua instância, clique em "Connect. " Selecione "Driver " como seu método de conexão e copie sua connection string. Agora, abra um IDE de sua escolha.
Para este tutorial, apenas um aplicativo Node.js simples é necessário. Se você quiser saber mais sobre como desenvolver com MongoDB e JavaScript, consulte a Central do Desenvolvedor, onde você encontrará uma variedade de tutoriais, ou confira o MongoDB com outras linguagens.
Antes de começar, verifique se o Node.js está instalado em seu ambiente.
  1. Configurar um novo projeto Node.js:
    • Crie um novo diretório para o seu projeto.
    • Inicialize um novo projeto Node.js executando npm init -y em seu terminal dentro desse diretório.
    • Instale o driver Node.js do MongoDB executando npm install mongodb.
  2. Criar um arquivo JavaScript:
    • Crie um arquivo chamado searchApp.js no seu diretório de projeto.
  3. Implementar o aplicativo:
    • Edite searchApp.js para incluir o código a seguir, que se conecta ao seu MongoDB database e cria um cliente.
    • Agora, crie uma função chamada searchDatabase que recebe uma string de entrada e um campo da linha de comando e procura documentos que contenham essa string no campo especificado.
    • Por fim, crie uma função principal para controlar o fluxo do aplicativo.
  4. Execute seu aplicativo com node searchApp.js fieldName "searchString".
    • O script espera dois argumentos de linha de comando: o nome do campo e a string de pesquisa. Ele constrói um objeto de consulta dinâmica usando esses argumentos, em que o nome do campo é determinado pelo primeiro argumento e a string de pesquisa é usada para criar uma consulta regex.
No terminal, você pode digitar a query node searchApp.js "Restaurant ID" "40356030" para localizar seu arquivoexample2.csv como se ele estivesse armazenado em um MongoDB database. Ou talvez node searchApp.js borough "Manhattan", para encontrar todos os restaurantes em seu banco de dados virtual (em todos os seus bancos de dados) em Manhattan. Você não está limitado apenas a queries simples. A maioria dos operadores e agregações está disponível em seu banco de dados federado. Existem algumas limitações e variações nos Operadores do MongoDB e Estágios de Aggregation Pipeline em seu banco de dados federado que você pode ler em nossa documentação.

Conclusão

Seguindo as etapas descritas, você aprenderá como configurar o armazenamento do Azure Blob, carregar diversos formatos de dados como JSON e CSV e conectá-los ao seu conjunto de dados MongoDB usando um banco de dados federado.
Este tutorial destaca o potencial da federação de dados para eliminar silos de dados, promover a interoperabilidade de dados e aprimorar a experiência geral de análise de dados. Quer você seja um revisor de restaurantes que deseja compartilhar insights ou uma empresa que busca unificar fontes de dados diferentes, o Data Federation do MongoDB e o armazenamento do Azure Blob fornecem uma plataforma robusta, escalável e fácil de usar para atender às suas necessidades de integração de dados.
Você está pronto para começar a construir com Atlas no Azure? Comece hoje mesmo gratuitamente a utilizar oMongoDB Atlas no Azure Marketplace. Se você encontrou este tutorial útil, não deixe de conferir mais alguns de nossos artigos na Central do Desenvolvedor, como o Tutorial do MongoDB Provider para EF Core. Ou visiteos fóruns da nossa comunidade para ver o que outras pessoas da comunidade estão criando!
Principais comentários nos fóruns
Ainda não há comentários sobre este artigo.
Iniciar a conversa

Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Tutorial
star-empty
star-empty
star-empty
star-empty
star-empty
Relacionado
Tutorial

Escreva uma função sem servidor com o AWS Lambda e o MongoDB


Sep 23, 2022 | 15 min read
Tutorial

Sincronize seu aplicativo móvel com o MongoDB Atlas e o Google Cloud MySQL


Feb 08, 2024 | 6 min read
Tutorial

Como consultar de vários bancos de dados do MongoDB usando o MongoDB Atlas Data Federation


Jan 23, 2024 | 7 min read
Tutorial

Raspador da web da bolsa de valores de Nairóbi


Apr 02, 2024 | 20 min read
Sumário
  • Pré-requisitos