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

Conectar a um Edge Server - Visualização

Nesta página

  • Conecte-se ao Edge Server a partir do Atlas Device SDK
  • Provedores de autenticação compatíveis
  • Roaming entre servidores de borda
  • Exemplo: aplicativo modelo SwiftUI
  • Conecte-se ao Edge Server com drivers e ferramentas do MongoDB
  • Conexões anônimas
  • APIs MongoDB suportadas
  • Conectar com o MongoDB Compass

Depois que a instância do Edge Server estiver configurada e executada, você poderá se conectar a ela a partir de um aplicativo cliente.

Há três maneiras de você se conectar à instância do Edge Server a partir de um cliente:

  • Atlas Device SDK: Device Sync sincroniza automaticamente os dados entre dispositivos e com o Edge Server.

  • Drivers e ferramentas do MongoDB : execute operações CRUD com um subconjunto de APIs do MongoDB compatíveis.

  • MongoDB Compass: Explore documentos sincronizados com uma instância do Edge Server e faça atualizações nesses documentos.

Para se conectar à instância do Edge Server a partir de um cliente Atlas Device SDK , seu aplicativo deve:

  • Defina a URL de sincronização na configuração do aplicativo para o endereço DNS acessível ao público que você definiu no campo servidor de borda edge_config.json baseURL .

  • Se o TLS não estiver habilitado, use HTTP na porta 80.

Dica

Enquanto seu servidor de borda estiver em desenvolvimento, recomendamos conectar-se com HTTP pela porta 80 para simplificar. Antes de passar para a produção, você pode coordenar com seu representante do produto ou da conta para configurar o HTTPS com um certificado auto assinado.

Para obter informações sobre como personalizar a configuração da aplicação, consulte a documentação do SDK de sua preferência:

Atualmente, o Edge Server suporta o seguinte subconjunto de fornecedores de autenticação ao se conectar com um SDK:

Os clientes do SDK podem percorrer as instâncias do Edge Server ou entre uma instância do Edge Server e o Atlas.

O roaming requer a alteração da URL base na configuração da aplicação do cliente. Para obter detalhes, consulte a documentação do SDK vinculada acima.

Quando um usuário do SDK faz roaming, o aplicativo do cliente deve executar uma reinício do cliente ao se conectar ao novo servidor. Para obter mais informações sobre redefinições do cliente , consulte Redefinições do cliente.

Ao transitar entre instâncias do Edge Server ou uma instância do Edge Server de borda e o Atlas, os usuários anônimos não persistem entre servidores. O Atlas cria um novo usuário anônimo para cada servidor ao qual o cliente se conecta e não persiste dados locais entre servidores.

Para todos os outros provedores de autenticação suportados, os usuários persistem e têm acesso aos dados esperados nos servidores.

Para uma rápida prova de conceito usando um aplicativo de modelo, estas são as modificações que você pode fazer no aplicativo de modelo Swift para se conectar à Edge Server instância do :

1

No atlasConfig do aplicativo do modelo Swift, defina os valores para:

Chave
Valor
baseUrl
O DNS acessível ao público do host da instância do Edge Server . Este é http:// ou, se o TLS estiver ativado, https://, seguido pelo endereço IP exposto na configuração do container do Edge Server .
appId
O ID do aplicativo do seu App Services App que tem o servidor de borda habilitado. Para obter mais informações sobre como encontrar o ID do aplicativo, consulte Encontre o ID do seu aplicativo.
2

Se o seu aplicativo usar TLS, você pode desconsiderar esta etapa. Se você estiver desenvolvendo um aplicativo de servidor de borda com TLS não habilitado durante o desenvolvimento, deverá concluir esta etapa.

Para iOS, a Apple desabilita conexões inseguras por padrão. Você deve adicionar uma exceção para seu DNS acessível ao público para permitir que o aplicativo cliente se conecte a ele.

Selecione o destino do aplicativo e Go para a guia Signing & Capabilities . Pressione o botão + Capability e pesquisar App Transport Security Settings. Adicione isso ao seu aplicativo.

Adicione um domínio de exceção para seu DNS acessível ao público. Este deve ser apenas o domínio da string, semelhante a: ec2-13-58-70-88.us-east-2.compute.amazonaws.com.

Isso cria um arquivo Info.plist no seu projeto. Go a este arquivo para fazer os seguintes ajustes.

Altere esta chave String para uma Dictionary. Adicionar mais duas chaves para:

Chave
Tipo
Valor
NSIncludesSubdomains
Boolean
YES
NSExceptionAllowsInsecureHTTPLoads
Boolean
YES

Isso permite que seu cliente iOS se conecte ao DNS HTTP inseguro.

Seu arquivo Info.plist deve ser semelhante a:

Captura de tela de um arquivo Info.plist mostrando as configurações acima
3

Você pode ajustar o nível de registro se quiser obter detalhes adicionais sobre o status da comunicação com o servidor de borda.

No arquivo App , você pode adicionar um bloco .onAppear para definir o nível de registro. Adicione uma linha de nível de registro neste bloco para obter informações adicionais:

var body: some Scene {
WindowGroup {
ContentView(app: app)
.environmentObject(errorHandler)
.alert(Text("Error"), isPresented: .constant(errorHandler.error != nil)) {
Button("OK", role: .cancel) { errorHandler.error = nil }
} message: {
Text(errorHandler.error?.localizedDescription ?? "")
}
.onAppear {
Logger.shared.level = .trace
}
}
}

Para obter mais informações sobre como definir o nível de registro, consulte Registro - Swift SDK.

4

Agora você pode construir e executar o aplicativo. Quando você faz login, o aplicativo se conecta à instância do Edge Server . Quando você cria novos Itens, eles são sincronizados com a instância. A instância então é sincronizada com o Atlas App Services .

Você pode verificar o status da instância do Edge Server no seu host. Com o cliente em execução, você pode ver "num_local_clients": 1 no status da instância. Você também pode ver mensagens de erro refletidas no status da sincronização.

Na próxima vez em que a instância do Edge Server for sincronizada com o seu App Services App, você poderá ver as alterações sincronizadas refletidas na coleção vinculada do Atlas .

Importante

Se você já se conectou diretamente do cliente ao seu App Services App com o Device Sync, talvez seja necessário limpar o estado no simulador ou no dispositivo. A redefinição do cache permite que seu cliente se conecte à instância do Edge Server .

Em um aplicativo de console, exclua o diretório mongodb-realm . Se você estiver usando um simulador ou dispositivo iOS ou Android, remova e reinstale o aplicativo.

Você pode se conectar ao servidor de borda usando drivers e ferramentas padrão do MongoDB. Os clientes usam uma string de conexão especializada de URI do MongoDB para se conectar ao servidor de borda e enviar solicitações.

O servidor do protocolo de fio aceita essas conexões de entrada. Você pode se conectar à máquina host com um URI MongoDB .

Este URI pode variar dependendo do tipo de autenticação. Em termos gerais, ele se assemelha a este formato:

mongodb://<username>:<password>@<hostname>:<port>?authMechanism=PLAIN
Elemento
Descrição
<username>
O nome de usuário do Atlas user. Para um usuário de e-mail/senha, isso pode ser semelhante a first.last@example.com. Se este nome de usuário contiver um símbolo @ , você deverá trocar o símbolo @ . Por exemplo, john.doe@example.com se torna john.doe%40example.com.
<password>
A senha do Atlas user. Isso pode parecer semelhante a myPassword123456.
<hostname>
O DNS público do host do Edge Server . Enquanto estiver no desenvolvimento local, pode ser localhost. Caso contrário, pode parecer semelhante a ec2-13-58-70-88.us-east-2.compute.amazonaws.com. Para obter mais informações, consulte Instalar e configurar a instância do Edge Server .
<port>
A porta de escuta do protocolo de fio do Edge Server . A porta padrão é 27021. Para obter mais detalhes, consulte Instalar e configurar a instância do Edge Server .
authMechanism=PLAIN
O mecanismo de autenticação. Atualmente, o único valor suportado é PLAIN.

Exemplo

Um URI de conexão de protocolo de fio para uma instância de Edge Server hospedada no Amazon EC2 pode ser semelhante a:

mongodb://example-user:my-password@ec2-13-58-70-88.us-east-2.compute.amazonaws.com:27021?authMechanism=PLAIN

Você pode ativar conexões anônimas e se conectar sem especificar um nome de usuário ou senha. Esta opção está desabilitada por padrão.

Importante

Desabilitar conexões anônimas em produção

Habilitar conexões anônimas pode simplificar o desenvolvimento ignorando os fluxos de autenticação. Isto destina-se apenas a ser uma ajuda de desenvolvimento; não ignore os fluxos de autenticação em ambientes de produção.

1

Para habilitar conexões anônimas, inicie o Edge Server com o sinalizador --insecure-disable-auth definido como true. Isso permite que você se conecte sem especificar um nome de usuário e senha.

Esta configuração é false por padrão. Definir isso como true permite que as conexões ignorem a autenticação.

Para obter mais informações sobre como usar edgectl para configurar e iniciar a instância do Edge Server , consulte Instalar e configurar a instância do Edge Server .

2

Ao se conectar sem autenticação, o URI do MongoDB omite os parâmetros relacionados à autenticação. Esse URI simplificado é:

mongodb://<hostname>:<port>

Exemplo

Um URI de conexão do protocolo de fio anônimo para uma instância do Edge Server hospedada no Amazon EC2 pode ser semelhante a:

mongodb://ec2-13-58-70-88.us-east-2.compute.amazonaws.com:27021

Uma conexão anônima com uma instância do Edge Server em execução em sua máquina durante o desenvolvimento pode ser semelhante a:

mongodb://localhost:27021

Atualmente, o Edge Server suporta um subconjunto das APIs MongoDB . Para obter informações sobre as APIs suportadas, consulte Edge Server MongoDB API Suporte à do - Visualização.

Você pode se conectar à instância do Edge Server usando o URI do MongoDB por meio do MongoDB Compass. O Compass permite a você explorar os documentos sincronizando com a instância do Edge Server e fazer atualizações nesses documentos.

O suporte do Edge Server para Compass é limitado. Você pode usá-lo para:

  • Navegue por bancos de dados, coleções e documentos na instância do Edge Server .

  • Executar operações CRUD básicas em documentos na instância do Edge Server .

Edge Server não suporta agregação com o Compass no momento.

Voltar

Configurar o Edge Server