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

Gerencie servidores de borda no Atlas - Visualizar

Nesta página

  • Antes de começar
  • Criar um serviço para o Edge Server
  • Crie uma instância do Edge Server
  • Listar instâncias do Edge Server
  • Excluir uma instância do Edge Server
  • Atualizar o modelo de dados de um Edge Server
  • Solucionar problemas de uma instância do Edge Server
  • Limitações do Edge Server

Um serviço compatível com o Edge Server é o destino do Atlas para criar, excluir ou monitorar suas instâncias do Edge Server.

Existem dois tipos de serviços que permitem que você use o Edge Server:

  • Serviço deEdge Server : use essa opção se quiser que os clientes se conectem a uma instância do Edge Server com drivers e ferramentas do MongoDB . Ele infere e atualiza o esquema a partir dos documentos que você insere e fornece uma experiência de desenvolvimento familiar aos desenvolvedores do MongoDB . Este serviço é incompatível com Atlas Device SDK; ele rejeita as conexões de entrada do Atlas Device SDK .

  • Device Sync Service (com Edge Server): use esta opção se desejar desenvolver aplicativos cliente usando Atlas Device SDK e drivers e ferramentas MongoDB. Essa opção envolve uma imposição de esquema mais rigorosa, que os SDKs usam para sincronizar automaticamente objetos entre dispositivos e lidar com a resolução de conflitos.

Independentemente do tipo de serviço escolhido, os servidores de borda usam o Device Sync para sincronizar dados entre a instância do Edge Server e o Atlas.

Importante

Não é possível adicionar o Atlas Device SDK posteriormente a Edge Server Service

Você sempre pode adicionar servidores de borda a um serviço do Device Sync . Mas você não pode usar conexões do Atlas Device SDK com um serviço de Edge Server .

Os usuários não são móveis entre serviços. Se você começar com um serviço de Edge Server , mas depois quiser desenvolver aplicativos usando o Atlas Device SDK, não haverá como transferir nenhum usuário em seu serviço de borda para um novo serviço de Device Sync .

Você precisa do seguinte para gerenciar servidores de borda na UI do Atlas :

  • Uma conta do MongoDB Atlas com permissões de Proprietário do Projeto. Para saber como se inscrever em uma conta gratuita, consulte Comece a usar o Atlas.

Você precisa do seguinte para gerenciar servidores de borda com a API de administrador:

Você pode criar um serviço compatível com o Edge Server no Data Services ou no App Services.

  • Você pode selecionar Serviços de dados quando quiser apenas começar a criar com o Edge Server ou o Device Sync e o Edge Server e não precisar de outros Serviços de aplicativos. Você pode criar um serviço de Edge Server a partir de serviços de dados.

  • É possível selecionar o App Services quando se deseja adicionar autenticação, funções, triggers, HTTPS endpoints ou Values e Secrets a um serviço. Você pode criar um Serviço de Sincronização de Dispositivos no App Services e adicionar o Edge Server a ele.

1

Quando você seleciona um projeto no painel do projeto da interface do usuário do Atlas , a guia Data Services é exibida por padrão.

Se você estiver em App Services ou Charts, selecione a guia Data Services .

2

Na barra lateral esquerda, navegue até a seção Services . Selecione Device & Edge Sync.

3

Selecione o tipo de serviço que deseja criar e siga as instruções para criar um Edge Server Service ou Device Sync Service.

Depois de criar um serviço de Edge Server , você pode adicionar imediatamente instâncias de Edge Server .

Se você criar um Device Sync Service, clique em Edge Server na navegação à esquerda. Isso abre uma lista onde você pode adicionar e visualizar instâncias Edge Server .

Clique no botão Add a server e siga as instruções para nomear e criar sua nova instância do Edge Server.

1

Consulte a documentação para Criar um App Services App.

Ao escolher o tipo de aplicativo, selecione Device Sync. Você pode adicionar servidores de borda ao seu aplicativo Device Sync depois de configurar o Device Sync.

2

Enquanto visualiza seu Device Sync Service, clique em Edge Server na navegação à esquerda. Isso abre uma lista onde você pode adicionar e visualizar instâncias Edge Server .

Clique no botão Add a server e siga as instruções para nomear e criar sua nova instância do Edge Server.

Importante

Campo obrigatório

Os documentos que você deseja sincronizar com um Edge Server devem conter um campo _id cujo tipo varia dependendo do tipo de serviço:

  • Serviço do Edge Server : Tipo ObjectId

  • Serviço de Device Sync : Digite ObjectId, String, Long, Int, UUID

Quaisquer documentos sem este campo não podem ser sincronizados com um Edge Server.

O Edge Server é compatível com um subconjunto de provedores de autenticação. Os provedores de autenticação compatíveis variam de acordo com o fato de você estar se conectando com o Atlas Device SDK ou utilizando um URI do MongoDB para se conectar a um driver ou uma ferramenta do MongoDB.

Você deve habilitar pelo menos um desses provedores para permitir que os clientes se conectem a uma instância do Edge Server.

Depois de criar um serviço compatível com o Edge Server, você pode adicionar Edge Servers a ele. O serviço pode lidar com vários Edge Servers, cada um deles com sua própria chave de registro.

1

Clique em Add a server. Você será solicitado a nomear seu Edge Server.

A UI fornece um script de instalação, que você pode copiar e colar no terminal do dispositivo em que deseja instalar o código do Edge Server. Você também recebe um token, que usará ao configurar a instância do Edge Server .

2

Copie e cole o script de instalação no terminal do dispositivo em que você deseja instalar o código do Edge Server. Para obter mais detalhes, consulte Instalar e configurar a instância do Edge Server .

Após configurar e iniciar a instância do Edge Server , seu status Health no painel do Edge Server muda de Pending para Active.

1

Chame o endpoint de autenticação do usuário administrador com seu par de chaves da API do MongoDB Atlas:

curl -X POST \
https://services.cloud.mongodb.com/api/admin/v3.0/auth/providers/mongodb-cloud/login \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{
"username": "<Public API Key>",
"apiKey": "<Private API Key>"
}'

Se a autenticação for bem-sucedida, o corpo da resposta conterá um objeto JSON com um valor access_token :

{
"access_token": "<access_token>",
"refresh_token": "<refresh_token>",
"user_id": "<user_id>",
"device_id": "<device_id>"
}

O access_token concede acesso à App Services Admin API. Você deve incluí-lo como um token do portador no cabeçalho Authorization para todas as solicitações de API Admin.

Dica

Veja também:

2

Ligue para a API Admin Criar um endpoint de instância do Edge Server para adicionar uma instância do Edge Server ao seu serviço.

Sua solicitação deve incluir:

curl -X POST \
https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/edge \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <AccessToken>' \
-d '{
"name": "YOUR-EDGE-SERVER-INSTANCE-NAME"
}'

Uma solicitação bem-sucedida retorna um código 201, bem como um objeto JSON com informações sobre a instância do Edge Server recém-criada:

{
"id": "6622b8f5118368b943d228a9",
"user_id": "6622b8f5118368b943d2288a",
"registration_key": "Qi4GgpvVduwwt4k1w77ZzaQ1n4SdTWC8rLBD9vyTib1w9G3CX2ta8WrJvt3giEK7"
}
  • id: o identificador exclusivo da instância do Edge Server , do tipo ObjectId, como uma string. Você pode usar esse identificador para excluir ou atualizar a instância do Edge Server .

  • user_id: o próprio Edge Server é um usuário. Este é o identificador exclusivo do usuário do Edge Server , do tipo ObjectId, como uma string. Você pode usar esse identificador ao configurar permissões.

  • registration_key: Salve estas informações. Ao instalar o código do Edge Server no host, insira este token de registro. O Edge Server troca isso por uma chave de API que ele usa para autenticar com o Atlas. Você só pode usar este token de registro uma vez.

3

Copie e cole o script de instalação no terminal do dispositivo em que você deseja instalar o código do Edge Server. Para obter mais detalhes, consulte Instalar e configurar a instância do Edge Server .

Você pode obter uma lista de suas instâncias de Edge Server na UI do Atlas ou na API de administração.

O dashboard do Edge Server lista um breve resumo para cada instância do Edge Server , incluindo a data e a hora da última conexão e um instantâneo de seu status. Opcionalmente, você pode visualizar detalhes ou registros de cada instância.

Para visualizar o dashboard do Edge Server , escolha Edge Server na barra lateral de navegação à esquerda.

Para visualizar os detalhes de uma instância específica do Edge Server , clique em View Details para esta instância do Edge Server . Alternativamente, clique em App Logs para procurar registros associados à instância.

1

Chame o endpoint de autenticação do usuário administrador com seu par de chaves da API do MongoDB Atlas:

curl -X POST \
https://services.cloud.mongodb.com/api/admin/v3.0/auth/providers/mongodb-cloud/login \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{
"username": "<Public API Key>",
"apiKey": "<Private API Key>"
}'

Se a autenticação for bem-sucedida, o corpo da resposta conterá um objeto JSON com um valor access_token :

{
"access_token": "<access_token>",
"refresh_token": "<refresh_token>",
"user_id": "<user_id>",
"device_id": "<device_id>"
}

O access_token concede acesso à App Services Admin API. Você deve incluí-lo como um token do portador no cabeçalho Authorization para todas as solicitações de API Admin.

2

Ligue para o endpoint List Edge Servers da API Admin para obter uma lista de todas as instâncias de servidores de borda.

Sua solicitação deve incluir um Authorization cabeçalho com seu token de acesso à API Admin como um token de portador.

curl -X GET \
https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/edge \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <AccessToken>'

Uma solicitação bem-sucedida retorna um código 200 e uma chave edge_servers cujos valores são uma array de objetos contendo detalhes resumidos para cada instância do Edge Server associada ao appId.

{
"edge_servers": [
{
"id": "6622b8f5118368b943d228a9",
"created": "2024-04-19T08:51:00Z",
"name": "Edge-Store-42",
"user_id": "6622b8f5118368b943d2288a",
"status": "active",
"hostname": "ec2-13-58-70-88.us-east-2.compute.amazonaws.com",
"last_connection": "2024-04-19T09:51:00Z"
}
]
}

Para obter informações mais detalhadas, encontre o id da instância cujos detalhes você deseja visualizar.

3

Ligue para o API Edge Server endpoint de informações do Obter de Administração para obter informações detalhadas sobre uma Edge Server instância do .

Sua solicitação deve incluir um Authorization cabeçalho com seu token de acesso à API Admin como um token de portador.

curl -X GET \
https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/edge/{edgeServerId} \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <AccessToken>'

Uma solicitação bem-sucedida retorna um código 200, bem como um objeto JSON com informações detalhadas sobre a instância do Edge Server :

{
"id": "6622b8f5118368b943d228a9",
"created": "2024-04-19T08:51:00Z",
"name": "Edge-Store-42",
"user_id": "6622b8f5118368b943d2288a",
"status": "active",
"hostname": "ec2-13-58-70-88.us-east-2.compute.amazonaws.com",
"last_connection": "2024-04-19T09:51:00Z",
"query": {
"Item": "(store_id == \"641cb3d99e425c794ef69315\")"
},
"package_version": "v0.21.2",
"latest_package_version": "v0.22.2",
"metrics": [
{
"key": "edge_host_memory_percent",
"name": "Memory Usage",
"category": "host",
"detail": "Percentage of memory used by the edge container",
"value": 15,
"unit": "%"
},
...additional Edge Server metrics...
]
}

Para obter mais informações sobre esse corpo de resposta, consulte a especificação da API.

As informações disponíveis nos detalhes do Edge Server variam dependendo do fato de o Edge Server ter sido configurado e conectado ao Atlas ou se a configuração e a conexão ainda estão pendentes.

Quando uma instância do Edge Server ainda não foi conectada ao Atlas pela primeira vez, o status Health da instância é Pending.

Enquanto uma instância do Edge Server estiver no estado Pending, você pode executar as seguintes ações na exibição detalhada:

  • Renomeie a instância.

  • Revise os alertas sobre o status da instância.

  • Obter o ID da instância. É possível usar o ID da instância para definir permissões para esta instância específica.

  • Visualize o comando Instalar que você pode usar no terminal para instalar o código do Edge Server .

  • Regenerar o token de registro.

  • Exclua a instância do Edge Server .

Depois de configurar e conectar com êxito uma instância do Edge Server , a visualização detalhada será alterada para fornecer informações adicionais.

Após conectar uma instância de Edge Server ao Atlas pela primeira vez, o status Health da instância muda para Active.

Se a instância do Edge Server se deparar com um erro fatal, o status Health mudará para Failed.

Você pode executar as seguintes ações para instâncias ativas ou com falha:

  • Renomeie a instância.

  • Revise os alertas sobre o status da instância.

  • Exibir a data e a hora da última conexão.

  • Obter o ID da instância. É possível usar o ID da instância para definir permissões para esta instância específica.

  • Visualize a consulta da instância. Isso determina quais dados são sincronizados entre a instância e o Atlas e quais dados os clientes podem gravar na instância. Os clientes só podem gravar dados que estejam dentro de suas permissões e da query da instância. Para mais informações, consulte Especificar a query do Edge Server.

  • Visualize métricas sobre a instância do Edge Server . Para obter mais informações, consulte Métricas doEdge Server .

  • Visualize os registros de instâncias. Para obter mais informações, consulte Registros doEdge Server .

  • Visualizar informações da versão. Esta página lista a versão atual e a versão mais recente disponível. Se a instância ficar mais de uma versão principal atrás da mais recente disponível, ela entrará em um estado Failed e não poderá sincronizar com o Atlas até que seja atualizada. Para obter mais informações, consulte Atualizar a versão do Edge Server .

  • Visualize o comando Instalar que você pode usar no terminal para instalar o código do Edge Server .

  • Regenerar o token de registro.

  • Exclua a instância do Edge Server .

Você pode excluir uma instância individual do Edge Server do Atlas.

1

Clique na opção Edge Server na barra lateral de navegação à esquerda para abrir o dashboard do Edge Server .

2

Encontre a instância do Edge Server que você deseja excluir na lista e clique no botão View Details.

3

Clique no botão Delete na parte inferior da exibição de detalhes do Edge Server .

Você será solicitado a confirmar a exclusão. Siga as instruções para confirmar que você deseja excluir o Edge Server.

1

Chame o endpoint de autenticação do usuário administrador com seu par de chaves da API do MongoDB Atlas:

curl -X POST \
https://services.cloud.mongodb.com/api/admin/v3.0/auth/providers/mongodb-cloud/login \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{
"username": "<Public API Key>",
"apiKey": "<Private API Key>"
}'

Se a autenticação for bem-sucedida, o corpo da resposta conterá um objeto JSON com um valor access_token :

{
"access_token": "<access_token>",
"refresh_token": "<refresh_token>",
"user_id": "<user_id>",
"device_id": "<device_id>"
}

O access_token concede acesso à App Services Admin API. Você deve incluí-lo como um token do portador no cabeçalho Authorization para todas as solicitações de API Admin.

2

Ligue para o endpoint List Edge Servers da API Admin para obter uma lista de todas as instâncias do Edge Server .

Sua solicitação deve incluir um Authorization cabeçalho com seu token de acesso à API Admin como um token de portador.

curl -X GET \
https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/edge \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <AccessToken>'

Uma solicitação bem-sucedida retorna um código 200 e uma chave edge_servers cujos valores são uma array de objetos contendo detalhes resumidos para cada instância do Edge Server associada ao appId.

{
"edge_servers": [
{
"id": "6622b8f5118368b943d228a9",
"created": "2024-04-19T08:51:00Z",
"name": "Edge-Store-42",
"user_id": "6622b8f5118368b943d2288a",
"status": "active",
"hostname": "ec2-13-58-70-88.us-east-2.compute.amazonaws.com",
"last_connection": "2024-04-19T09:51:00Z"
}
]
}

Encontre o id da instância do Edge Server que você deseja excluir na array.

3

Ligue para a API Admin Exclua um endpoint de instância do Edge Server com o ID da instância do Edge Server que você deseja excluir.

Sua solicitação deve incluir um Authorization cabeçalho com seu token de acesso à API Admin como um token de portador.

curl -X DELETE \
https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/edge/{edgeServerId} \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <AccessToken>'

Uma solicitação bem-sucedida retorna um código 200 .

O processo para atualizar um modelo de dados varia dependendo se você está usando um serviço de Edge Server ou um serviço de Device Sync com Edge Server.

Quando você está usando um Serviço de Edge Server , o serviço atualiza automaticamente os campos no esquema quando você faz alterações nos documentos sincronizados.

Se você atualizar seu esquema manualmente usando a interface do usuário, e essas alterações de esquema trigger uma alteração de versão do esquema, isso fará com que uma instância do Edge Server com o esquema antigo seja reiniciada e limpa a si mesma.

Se você estiver adicionando uma nova coleção que não tenha sincronizado antes, você deverá definir um novo esquema.

Quando você deseja adicionar uma coleção a um Edge Server Service, você deve adicionar um esquema contendo:

  • O nome da collection.

  • Um campo _id do tipo ObjectID.

O Edge Server Service infere automaticamente os outros campos a partir da forma dos documentos que você sincroniza ou dos documentos na coleção.

Para obter informações sobre como adicionar um esquema, consulte Definir e aplicar um esquema.

Depois de adicionar uma coleção, você deve parar e iniciar a instância do Edge Server para obter os detalhes da nova coleção. Para obter mais informações, consulte Iniciar e parar o Edge Server.

Quando você altera os campos em um documento usando um Edge Server Service, o serviço altera automaticamente o esquema para adicionar novos campos.

Algumas alterações que você pode fazer por meio da interface do usuário são consideradas alterações de esquema "significativas". Quando ocorre uma alteração de esquema "significativa", qualquer instância do Edge Server com o esquema antigo é reiniciada e limpa a si mesma. O processo de limpeza apaga todos os dados não sincronizados.

Importante

Limpar e reiniciar a instância apaga todos os dados locais não sincronizados na instância.

Se esses dados foram gravados por um cliente do Atlas Device SDK , o próprio cliente poderá lidar com a recuperação de dados. Isso permite que dados locais não sincronizados escritos pelo cliente acabem chegar ao Atlas.

Se os dados foram gravados por um driver ou ferramenta MongoDB usando o Protocolo de fio, os dados não sincronizados não poderão ser recuperados.

Antes de o Edge Server passar de Public Preview para General Availability, você terá a opção de recuperar dados locais quando esse erro ocorrer.

Para obter detalhes sobre quais tipos de alterações são consideradas alterações "significativas", consulte Referência rápida de alterações significativas versus não significativas .

Um Edge Server em execução em um serviço do Device Sync usa regras do Device Sync para atualizar um modelo de dados.

Quando ocorre uma alteração de esquema "significativa", qualquer instância do Edge Server com o esquema antigo é reiniciada e limpa a si mesma.

Importante

Limpar e reiniciar a instância apaga todos os dados locais não sincronizados na instância.

Se esses dados foram gravados por um cliente do Atlas Device SDK , o próprio cliente poderá lidar com a recuperação de dados. Isso permite que dados locais não sincronizados escritos pelo cliente acabem chegar ao Atlas.

Se os dados foram gravados por um driver ou ferramenta MongoDB usando o Protocolo de fio, os dados não sincronizados não poderão ser recuperados.

Antes de o Edge Server passar de Public Preview para General Availability, você terá a opção de recuperar dados locais quando esse erro ocorrer.

Para mais informações, consulte Atualizar seu Modelo de Dados.

Algumas condições podem fazer com que uma instância do Edge Server entre no estado Failed:

O Edge Server utiliza o Device Sync para sincronizar dados entre a instância do Edge Server e o Atlas. Device Sync tem uma configuração de tempo máximo off-line do cliente.

Esta configuração está habilitada por padrão. Ele corta o histórico para reduzir a quantidade de armazenamento necessária no cluster Atlas de suporte. Quanto maior o tempo máximo offline do cliente, mais armazenamento o Atlas exige para manter registros históricos que oferecem suporte ao Sync.

Se uma instância do Edge Server ficar off-line por mais tempo que essa configuração, esse será um erro irrecuperável. Você deve limpar e reiniciar a instância. Como alternativa, quando você colocar a instância on-line novamente, ela será apagada e reiniciada automaticamente.

Importante

Limpar e reiniciar a instância apaga todos os dados locais não sincronizados na instância.

Se esses dados foram gravados por um cliente do Atlas Device SDK , o próprio cliente poderá lidar com a recuperação de dados. Isso permite que dados locais não sincronizados escritos pelo cliente acabem chegar ao Atlas.

Se os dados foram gravados por um driver ou ferramenta MongoDB usando o Protocolo de fio, os dados não sincronizados não poderão ser recuperados.

Antes de o Edge Server passar de Public Preview para General Availability, você terá a opção de recuperar dados locais quando esse erro ocorrer.

Você pode alterar a duração do tempo offline máximo do cliente nas configurações de sincronização.

Importante

O limite offline do Edge Server é 60 dias

Uma instância do Edge Server não pode ficar off-line por mais de 60 dias, independentemente da configuração definida para o tempo máximo off-line do cliente. Se a configuração não for definida ou for maior que 60 dias, o limite offline do Edge Server será 60 dias.

Edge Server não suporta instâncias que estejam mais de uma versão principal atrás da versão mais recente atual. Se a instância do Edge Server ficar ainda mais atrasada em versões, você deverá atualizá-la para resolver o estado Failed.

Para obter informações sobre a atualização de uma instância do Edge Server , consulte Atualizar a versão do Edge Server .

Se o token de instância do Edge Server for gerado novamente e você não atualizar a chave API na própria instância, ela poderá inserir um estado Failed.

Para obter mais detalhes sobre como atualizar a chave de API na instância do Edge Server após regenerar o token do Edge Server, consulte Ciclar a chave de API do Edge Server.

Embora o Edge Server esteja em prévia pública, ele ainda não é compatível com a gama completa de recursos e funcionalidades do MongoDB e do Atlas Device SDK.

Atualmente, o Edge Server não oferece suporte a coleções de séries temporais.

Quando você cria um serviço de Edge Server , criamos esquemas automaticamente para cada coleção em seu banco de banco de dados vinculado. Tentando usar o Edge Server com um banco de dados de dados que contém uma coleção de séries temporais gera um erro.

Para resolver esse erro, remova manualmente o esquema da coleção de séries temporais. Para obter informações sobre como remover o esquema, consulte Remover um esquema.

Atualmente, o Edge Server permite apenas um subconjunto de agregação MongoDB e operações CRUD . Para obter uma lista de operações suportadas, consulte Edge Server MongoDB API Suporte à do - Visualização.

Atualmente, o Edge Server não oferece suporte à ingestão de dados.

Voltar

Edge Server - Preview