Menu Docs
Página inicial do Docs
/
MongoDB Atlas
/ /

Referência da API de administração do Atlas

Nesta página

  • Métodosde HTTP
  • JSON
  • Vinculação
  • Listas
  • Envelopes
  • Pretty printing
  • Códigos de resposta
  • Errors
  • ID do Projeto
  • Autenticação
  • Limitação de taxa
  • Próximos passos

A API de Administração do Atlas segue os princípios do estilo de arquitetura REST para expor uma série de recursos internos que permitem o acesso programático aos recursos do Atlas.

Assim como acontece com as alterações feitas por meio da interface web do Atlas, as alterações feitas por meio da API de administração do Atlas estão sujeitas à cobrança do Atlas. Se você for cobrado, você precisa ter um cartão de crédito válido registrado no Atlas ou poderá ter a sua conta bloqueada.

A API tem as seguintes funcionalidades:

Controle de Versão de Recursos

O Atlas fornece uma API de administração do Atlas versionada, que inclui o controle de versão no nível de recurso individual da API de administração do Atlas. Utilize estes recursos e as seguintes seções para saber mais sobre a API de Administração do Atlas:

Entidades JSON
Todas as entidades são expressas em JSON.
Interface navegável
Usando um mecanismo de vinculação consistente, você pode navegar por toda a API de administração Atlas começando no recurso raiz e seguindo links para recursos relacionados.
Somente HTTPS
Você só pode acessar a API de administração do Atlas via HTTPS, garantindo que todos os dados enviados pela rede sejam totalmente criptografados usando TLS.
Controle de acesso do usuário

Os recursos da API de administração do Atlas de cada usuário do Atlas correspondem às permissões concedidas por suas Funções de usuário do Atlas.

Exemplo

Lista de acesso à rede API

O Atlas pode proteger o acesso à sua API de administração do Atlas por meio de uma lista de acesso à API. Esta lista restringe o acesso à API a endereços IP ou CIDR específicos. Cada método de autenticação tem sua própria lista de acesso à API de administração do Atlas . Quando você cria uma nova organização usando a UI do Atlas , o Atlas ativa o requisito de lista de acesso à API por padrão.

Dica

Veja também:

Todos os recursos aceitam um subconjunto destes métodos comuns de HTTP:

Método
Propósito

GET

Recupere a representação JSON de um recurso.

POST

Crie um novo recurso utilizando a representação de JSON fornecida.

PUT

Substitua um recurso pela representação de JSON fornecida.

PATCH

Atualize os campos especificados em um recurso utilizando a representação JSON fornecida.

DELETE

Remover um recurso.

HEAD

Retorna o cabeçalho de resposta sem a representação de JSON do recurso.

Todas as entidades são representadas noJSON. Aplicam-se as seguintes regras e convenções:

  • Cabeçalho de solicitação de tipo de conteúdo

    Ao enviar JSON para o servidor via POST ou PUT, certifique-se de especificar o cabeçalho de solicitação do tipo de conteúdo correto: Content-Type: application/json

  • Campos inválidos

    Campo inválidos são rejeitados em vez de ignorados. Por exemplo, se você tentar criar uma nova entidade e digitar incorretamente um dos campos, ou tentar atualizar uma entidade existente e incluir um campo que não possa ser modificado, o servidor responderá com um código de status 400 e uma mensagem de erro informando qual o campo é inválido.

  • Datas formatadas em ISO-8601

    Todas as datas são retornadas como strings formatadas emISO- designadas em UTC.8601 Ao enviar datas para o servidor (ou seja, como parâmetros de consulta ou campos em POST ou PATCH entidades de solicitação), use datas no formato ISO8601. Se você não especificar um fuso zona, o UTC será presumido. No entanto, é altamente recomendável que você inclua um designador de fuso zona para evitar qualquer ambiguidade.

  • Carimbos de data/hora BSON

    Em alguns casos, um carimbo de data/hora é retornado como carimbo de data/hora BSON, principalmente nos recursos de backup. Eles são representados em documentos JSON como um objeto com dois campos: date, que é uma string de caracteres de data formatada em ISO8601em UTC com granularidade para o segundo, e increment um inteiro de 32bits.

  • Nomes de campo para campos com números

    Os campos que contêm valores numéricos em uma unidade específica serão nomeados para diferenciar a unidade que está sendo usada.

  • Campos vazios

    Os campos que não possuem um valor atual são retornados com um valor padrão apropriado.

    Os campos que não possuem um valor padrão razoável são omitidos da entidade.

  • Ordem do campo

    Os campos nos documentos JSON retornados pelo servidor não estão em uma ordem específica, e a ordem pode mudar. Não dependa da ordem dos campos.

Cada recurso inclui um ou mais links para sub-recursos e/ou recursos relacionados. Os links são colocados no campo links de uma entidade , que é uma array de objetos de relação de link. Cada relação de link tem dois campos:

Campo
Descrição

rel

Nome (ou tipo) da relação. Muitos deles são considerados Tipos de Relação de Extensão e são prefixados por http://mms.mongodb.com.

href

O URL de destino.

Todas as entidades incluem pelo menos uma relação de link chamada self, que é simplesmente sua própria URL. Quando uma entidade faz parte de uma lista, ela inclui somente a relação de link self .

Para obter mais informações, consulte a Especificação de vinculação da web. Observe que, embora a especificação descreva um formato para incluir links nos cabeçalhos de resposta HTTP, isso não é obrigatório. Para tornar a API de administração do Atlas facilmente navegável, ela inclui os links no corpo da resposta em vez de nos cabeçalhos de resposta.

Alguns recursos retornam uma lista de entidades. Quando uma lista de entidades é esperada em uma resposta, os resultados são retornados em lotes limitados pelos seguintes parâmetros de consulta:

Campo
Descrição

pageNum

Número da página (com base em 1). O padrão é 1 se não for especificado.

itemsPerPage

Número de itens a serem devolvidos por página, até um máximo de 500. O padrão é 100 se não for especificado.

includeCount

Especifica se a resposta retorna o campo totalCount . O padrão para true não é especificado.

A entidade de resposta contém três campos:

Campo
Descrição

totalCount

O número total de itens em todo o conjunto de resultados.

results

O conjunto de resultados, que é um array de documentos de entidade.

links

Contém uma a três relações de link: previous para a página anterior de resultados (omitir para a primeira página); next para a próxima página de resultados (mitido para a última página); e self para a página atual (sempre presente).

Se você fizer uma solicitação de uma lista de entidades e não houver resultados, a API de administração do Atlas responderá com um código de status 200 e a array results estará vazia. Ela não responde com uma 404 nesse caso, pois a lista de entidades pode não estar vazia em algum ponto no futuro. No entanto, se você solicitar uma lista de entidades em um contexto que não existe (por exemplo, a lista de hosts para um projeto inexistente), isso resultará em um status de resposta 404.

Alguns clientes podem não conseguir acessar os cabeçalhos de resposta HTTP e/ou o código de status. Nesse caso, você pode solicitar que a resposta inclua um "envelope", que é simplesmente uma camada adicional de informações no documento JSON e contém todos os detalhes relevantes que normalmente estariam nos cabeçalhos de resposta. Por padrão, a API de Administração do Atlas não inclui a resposta em um envelope. Para solicitar um, basta adicionar o parâmetro de query envelope=true.

Para respostas que contêm uma única entidade, o envelope contém dois campos:

Campo
Descrição

status

O código de status HTTP.

content

A entidade solicitada.

Para respostas que contêm uma lista de entidades, já existe um envelope que envolve os resultados, portanto, especificar envelope=true apenas adiciona o campo status ao envelope existente.

Por padrão, os espaços em branco estranhos são removidos do JSON retornado pelo servidor. Para solicitar JSON bem impresso, basta acrescentar o parâmetro de query pretty=true a qualquer solicitação:

curl --user '{USERNAME}:{APIKEY}' --digest \
--header 'Accept: application/json' \
--include \
--request GET "https://cloud.mongodb.com/api/atlas/v1.0?pretty=true"

As respostas usam os códigos de resposta HTTP padrão, incluindo:

Código
Significado
Notas

200

OK

A solicitação foi bem-sucedida. Normalmente, essa é a resposta a uma solicitação GET bem-sucedida.

201

Criado

Um novo recurso foi criado. Normalmente, essa é a resposta a uma solicitação POST bem-sucedida.

202

Aceito

Uma solicitação para uma operação assíncrona foi aceita.

400

Solicitação inválida

Algo estava errado com o pedido do cliente.

401

Não autorizado

A autenticação é necessária, mas não estava presente na solicitação. Normalmente, isso significa que as informações de autenticação foram omitidas da solicitação, as credenciais fornecidas estão incorretas ou o usuário associado ao método de autenticação fornecido não tem permissão para acessar o recurso solicitado.

403

Proibido

O acesso ao recurso especificado não é permitido.

404

Não encontrado

O recurso solicitado não existe.

405

Método não permitido

O método HTTP não é suportado para o recurso especificado. Lembre-se de que cada recurso só pode oferecer suporte a um subconjunto de métodos HTTP . Por exemplo, você não pode DELETE o recurso raiz.

409

Conflito

Esta é a resposta a uma solicitação para criar ou modificar uma propriedade de uma entidade que é exclusiva quando uma entidade existente já existe com o mesmo valor para aquela propriedade.

5xx

Vários erros do servidor

Algo inesperado deu errado. Tente novamente mais tarde e considere notificar o Suporte da Atlas.

Quando uma solicitação retorna um erro, o corpo da resposta contém um documento JSON. Este documento inclui detalhes sobre o motivo da falha na solicitação da API de administração do Atlas. O documento contém cinco parâmetros:

Parâmetro
Tipo de Dados
Descrição

detalhe

string

Descrição legível por humanos que o Atlas retorna para a solicitação errônea da API de administração do Atlas.

Erro

inteiro

Código de status retornado no cabeçalho da resposta HTTP .

Código de erro

string

Constante nomeada que representa a solicitação errônea da API de administração do Atlas. Para saber mais sobre essas constantes, consulte Códigos de erro da API de administração do Atlas.

Parâmetros

array

Lista de parâmetros incluídos na solicitação da API de administração do Atlas.

Razão

string

Definição de código de status retornado no cabeçalho da resposta HTTP .

Exemplo

O Atlas retorna o seguinte corpo de resposta quando você faz uma solicitação no formato incorreto:

1{
2 "detail" : "Cannot find resource /api/atlas/v1.0/softwareComponents/version.",
3 "error" : 404,
4 "errorCode" : "RESOURCE_NOT_FOUND",
5 "parameters" : [ "/api/atlas/v1.0/softwareComponents/version" ],
6 "reason" : "Not Found"
7}

Seu ID do projeto é um valor de string que identifica exclusivamente um projeto do Atlas.

Os projetos do Atlas foram identificados anteriormente como "grupos". Alguns endpoints do Atlas fazem referência a group ou {GROUP-ID} como parte do caminho da solicitação, da query ou dos parâmetros do corpo. Para qualquer endpoint que exija {GROUP-ID}, especifique o ID do projeto.

Para recuperar seu ID do projeto:

1
  1. Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.

  2. Se ainda não estiver exibido, selecione o projeto desejado no menu Projects na barra de navegação.

  3. Ao lado do menu Projects, expanda o menu Options e clique em Project Settings.

    A página Configurações do projeto é exibida.

2

A API de administração do Atlas usa um dos dois métodos para autenticar solicitações: chaves deAPI ou contas de serviço. Isso garante que as chaves e os tokens de acesso que servem como nomes de usuário e senhas nunca sejam enviados pela rede. Para saber mais,consulte autenticação da API de administração do Atlas .

Para detalhes de uso, consulte Criar uma solicitação de API.

Alguns recursos limitam quantas solicitações podem processar por minuto.

Para esses recursos, o Atlas permite até 100 solicitações por minuto por projeto. Os métodos de autenticação da API de Administração do Atlas pertencem a uma organização, mas podem ter acesso a vários projetos.

Exemplo

Considere dois usuários: A e B. O usuário A pertence ao projeto X, e o usuário B pertence aos projetos X e Y.

  • Às 13h, o usuário A faz 50 solicitações para um recurso de taxa limitada no projeto X, todas concluídas até 13h20.

  • Às 13h30, o usuário B tenta fazer 60 solicitações para um recurso limitado de taxa no projeto X.

    Como o usuário A já usou até 50 solicitações no minuto 13:00 para o projeto X, as últimas 10 solicitações que o usuário B tenta fazer são rejeitadas.

    No entanto, o usuário B pode fazer solicitações para um recurso de taxa limitada no projeto Y, pois cada projeto mantém um contador de solicitações separado.

  • Às 13h01, as solicitações para o projeto X podem prosseguir, pois o contador de solicitações usado para limitação de taxa é zerado a cada minuto.

Se você exceder o limite de taxa, a API de administração do Atlas retornará um 429 (Solicitações demais) Código de statusHTTP .

Para começar, consulte Introdução à API do Atlas Administration.

Para gerenciar o acesso de programação à API de administração do Atlas, consulte qualquer um dos seguintes procedimentos:

Voltar

Acesso ao projeto