Conectar a um Edge Server - Visualização
Nesta página
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.
Conecte-se ao Edge Server a partir do Atlas Device SDK
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:
C++ SDK++: conecte-se ao App Services - C++ SDK++
Flutter SDK: Conecte-se ao App Services - Flutter SDK
Java SDK: conectar-se a um backend do Atlas App Services - Java SDK
Kotlin SDK: Conecte-se ao Atlas App Services - Kotlin SDK
.NET SDK: conecte-se a um backend do Atlas App Services - .NET SDK
Node.js SDK: Conecte-se a um backend do Atlas App Services - Node.js SDK
React Native SDK: Conecte-se a um Atlas App Services - React Native SDK
Swift SDK: conectar a um back-end do Atlas App Services - Swift SDK
Provedores de autenticação compatíveis
Atualmente, o Edge Server suporta o seguinte subconjunto de fornecedores de autenticação ao se conectar com um SDK:
Roaming entre servidores de borda
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.
Usuários em roaming e autenticação anônima
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.
Exemplo: aplicativo modelo SwiftUI
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 :
Configurar a conexão do servidor
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. |
Ajustar as configurações de segurança de transporte do aplicativo (opcional)
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:
Ajustar o nível de registro (opcional)
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.
Execute o aplicativo
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.
Conecte-se ao Edge Server com drivers e ferramentas do MongoDB
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
Conexões anônimas
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.
Configurar o Edge Server com a bandeira relevante
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 .
Omitir detalhes de autenticação do URI do MongoDB
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
APIs MongoDB suportadas
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.
Conectar com o MongoDB Compass
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.
Limitações
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.