Menu Docs
Página inicial do Docs
/ /
Serviços Atlas App

Atlas Data API

Nesta página

  • Endpoints
  • Como funciona a API de dados
  • Quando usar a API de dados
  • Restrições

A API de dados é um serviço gerenciado que permite a você trabalhar com segurança com dados armazenados no Atlas utilizando requisições HTTPS padrão. A API de dados não é uma conexão direta com seu banco de dados. Em vez disso, a API é um serviço de middleware totalmente gerenciado que fica entre seu cluster e os clientes que enviam solicitações.

Você pode utilizar a API de dados para conectar ao MongoDB Atlas a partir de qualquer plataforma que suporte HTTPS, incluindo:

  • Navegadores da Web

  • Servidores da Web

  • Pipelines CI/CD

  • Ambientes de computação sem servidor e de borda

  • Aplicativos móveis

  • Dispositivos da Internet das Coisas

Você não precisa instalar nenhum driver de banco de dados ou bibliotecas suspensas para trabalhar com a API de dados. Em vez disso, você envia requisições HTTPS padrão como a seguinte:

curl -s "https://data.mongodb-api.com/app/myapp-abcde/endpoint/data/v1/action/insertOne" \
-X POST \
-H "Content-Type: application/ejson" \
-H "Accept: application/json" \
-H "apiKey: TpqAKQgvhZE4r6AOzpVydJ9a3tB1BLMrgDzLlBLbihKNDzSJWTAHMVbsMoIOpnM6" \
-d '{
"dataSource": "mongodb-atlas",
"database": "learn-data-api",
"collection": "hello",
"document": {
"text": "Hello, world!"
}
}'
{ "insertedId": "63dc56ac74ddb86ed3eb8474" }

A API de dados é compatível com dois tipos de endpoints:

  • Endpoints de API de dados são endpoints gerados automaticamente, cada um representando uma operação do MongoDB. Você pode usar os endpoints para criar, ler, atualizar, excluir e agregar documentos em uma fonte de dados MongoDB.

    Para saber mais, inclusive como configurar e chamar endpoints, consulte Endpoints da Data API.

  • Endpoints personalizados são rotas de API específicas da aplicação gerenciadas por Atlas Functions que você escreve. Você pode usar endpoints personalizados para definir as operações que se adequam especificamente ao seu caso de uso. Por exemplo, você pode criar um endpoint que executa uma aggregation predefinida ou que se integra a um serviço de webhook externo.

    Para saber mais, incluindo como criar e chamar endpoints, consulte Endpoints HTTPS personalizados.

As solicitações de API de dados podem se assemelhar a operações de banco de dados tradicionais, como find ou insertOne, mas a API de dados não é uma conexão direta ao seu banco de dados. Em vez disso, a API de dados adiciona verificações adicionais de autenticação, autorização e correção para garantir que seus dados sejam acessados ou modificados apenas das maneiras permitidas. Isto permite a você acessar dados com segurança no Atlas a partir de clientes potencialmente vulneráveis como aplicações da Web.

Para cada solicitação recebida, a API de dados:

  1. Autentica o usuário chamador. Isso pode envolver a validação de um token de acesso, login com credenciais de cabeçalho ou diretamente atribuir um usuário de tempo de execução específico com base em sua configuração.

  2. Autoriza a solicitação. Isso garante que o usuário enviou uma solicitação bem formada e tem permissão para executar a operação solicitada com base em seu esquema de autorização de endpoint.

  3. Executa a operação solicitada. Isso pode envolver a leitura ou escrita de dados no Atlas com um endpoint gerado ou invocar uma função personalizada que você escreveu.

    Para solicitações que leem ou escrevem dados no Atlas, a API de dados também impõe as regras de controle de acesso e os esquemas de documentos definidos em sua aplicação. Isso significa que os usuários só podem acessar dados que eles tenham autorização para ler e escrever. As solicitações falharão se incluírem uma operação de escrita inválida.

  4. Retorna uma resposta HTTPS para o chamador. A resposta inclui o resultado de uma operação de endpoint gerada ou quaisquer dados que você retorne de um endpoint personalizado. Na solicitação, você pode optar por receber a resposta no formato JSON ou EJSON.

Para aplicativos de servidor, e especialmente para casos de uso sensíveis à latência e alta carga, recomendamos conectar-se diretamente ao Atlas com um driver do MongoDB. As operações chamadas por meio de um ponto de conexão de Data API levam mais tempo para serem concluídas do que as operações correspondentes do MongoDB chamadas por meio de um driver. Além disso, os drives fornecem mais flexibilidade e controle sobre como suas operações são executadas. Para saber mais, acesse a documentação dos drivers do MongoDB.

Recomendamos usar a Data API quando:

  • Você deve executar operações do MongoDB a partir de um aplicativo da Web ou outro cliente em que não pode confiar.

  • Você não puder ou não quiser gerenciar um driver MongoDB em seu ambiente no lado do servidor. Por exemplo, alguns ambientes de computação de borda não oferecem suporte a drivers de banco de dados ou pool de conexões.

  • Você quiser desenvolver uma nova funcionalidade e preferir uma solução flexível para trabalhar primeiro no lado do cliente antes de criar e refinar a camada da API.

  • Você deseja integrar o acesso aos dados do Atlas em um gateway de API federado.

  • Você deseja se conectar ao App Services a partir de um ambiente não suportado atualmente por um Atlas Device SDK e não deseja usar um driver para se conectar por meio do protocolo com fio.

As seguintes restrições se aplicam a solicitações e respostas da API de dados:

  • As solicitações atingirão o tempo limite após 300 segundos de tempo de execução.

  • As cargas úteis de resposta da API de dados são limitadas a 350 MB de tamanho.

← Monitorar o Servidor de borda