Configurar Edge Server - Pré-visualização
Nesta página
- Pré-requisitos
- Requisitos de host do servidor de borda
- Instalar e configurar a instância do Edge Server
- Iniciar e parar o servidor de borda
- Verificar o status do servidor de borda
- Atualizar a configuração da instância do Edge Server
- Atualize a versão do servidor de borda
- Alternar a Edge Server API chave de do
- Especifique a query do Edge Server
- Simular conectividade offline
- Execute múltiplas instâncias de Edge Server em um host
Após criar uma instância do Edge Server no Atlas, você deve configurar o hardware que executa a instância do Edge Server . Para a maioria dos casos de uso, você provisionará hardware local para hospedar a instância do Edge Server . Enquanto estiver desenvolvendo seu aplicativo de Edge Server , você pode hospedá-lo em um servidor de nuvem por conveniência.
Os dispositivos do cliente no local se conectam à instância do Edge Server . Sua instância se conecta ao Serviço do Edge Server ou ao Serviço do Device Sync , dependendo de como você a cria. Os clientes não se conectam diretamente ao MongoDB Atlas.
Esta página detalha como configurar e executar operações na instância do Edge Server .
Pré-requisitos
Cada instância do Edge Server se conecta a um serviço em seu projeto Atlas . Antes de poder usar uma instância do Edge Server , você deve criar o serviço relevante e configurar um fornecedor de autenticação e permissões para a instância do Edge Server .
Para obter mais informações, consulte Criar um serviço para o Edge Server.
Requisitos de host do servidor de borda
O host que executa a instância do Edge Server pode ser uma instância do EC2 ou outro servidor de nuvem, ou hardware que você provisiona no local.
Dica
Para testes de prova de conceito, você pode iniciar uma instância do EC2 executando o servidor Ubuntu 18.x. Em configurações de rede, adicione uma regra para permitir o acesso via HTTP/Porta 80. As configurações de camada grátis são suficientes para pequenos projeto PoC.
Hardware necessário
Os requisitos mínimos de hardware atuais para executar uma instância do Edge Server são:
CPU: 64-bit, processador quad-core
RAM: 8GB de memória
Armazenamento: 32GB de espaço em disco
Esses requisitos podem mudar após a conclusão do benchmarking Edge Server .
Compatibilidade com o sistema operacional
Edge Server foi verificado com os seguintes sistemas operacionais:
macOS 11.x e mais recente em execução no M1 ou Intel 2018+ Macbook Pros
Raspberry Pi OS 12
servidor Ubuntu 18+
Outros sistemas operacionais podem ser possíveis, mas ainda não foram verificados.
Software necessário
Para conveniência, você pode gerenciar uma instância do Edge Server com o Docker no modo Enxame durante o desenvolvimento. Em ambientes de produção, use o Kubernetes para gerenciar os containers do seu Edge Server .
Se você não tiver o Docker instalado e o MongoDB habilitado, você será solicitado a resolver essas dependências antes de executar o Edge Server.
Acesso à rede necessário
Para aceitar conexões de clientes de sincronização ou conexões usando um URI MongoDB , o host que executa o Edge Server deve permitir o acesso às conexões de entrada.
Se você executar o Edge Server em sua própria infraestrutura, não precisará abrir a instância para a Internet geral. Você só precisa garantir que seus dispositivos cliente possam acessá-lo.
Para infraestrutura em cloud, como executar um ambiente de desenvolvimento no EC2, você deve abrir portas para aceitar conexões de entrada:
Desenvolvimento: use HTTP na porta 80 para simplificar e acelerar o desenvolvimento.
Produção: use SSL com a porta 443 para proteger o acesso aos dados de produção.
Edge Server suporta TLS.
Recomendamos configurar o encerramento do TLS para acesso HTTP, incluindo tráfego do Device SDK, por meio de um controlador do Kubernetes.
As conexões por meio de URIs do MongoDB podem configurar o TLS por meio de edgectl
.
Instalar e configurar a instância do Edge Server
Após criar um Serviço de Edge Server ou Serviço de Device Sync , você deve criar uma instância de Edge Server . Cada serviço pode ter muitas instâncias de Edge Server . Ao criar uma instância do Edge Server , você obtém um script de instalação que pode ser usado para baixar uma ferramenta para instalar e gerenciar a instância do Edge Server , edgectl
. Você também recebe um token que pode usar para registrar a instância do Edge Server . Para obter mais detalhes, consulte Criar uma instância do Edge Server .
Use o script de instalação para configurar e executar a instância do Edge Server no host.
Importante
Pare o servidor de borda quando não estiver em uso
Depois de iniciar a instância do Edge Server , ela tenta manter uma conexão de websocket com o Atlas para permanecer sincronizada, mesmo que nenhum aplicativo cliente esteja conectado. Se você estiver executando uma demonstração ou trabalhando em um PoC, lembre-se de interromper a instância do Edge Server usando edgectl stop
quando terminar de usá-la. Caso contrário, você continuará usando a computação do host e o tempo de Device Sync .
Instale o código do Edge Server
Edge Server usa uma ferramenta de linha de comando chamada edgectl
para gerenciar a instância do Edge Server no hardware do host. Isso inclui um script de instalação para gerenciar a instalação e instalar as dependências necessárias.
Use este comando para instalar a ferramenta de linha de comando e o código do Edge Server no dispositivo em que você deseja executar a instância do Edge Server :
curl -s https://services.cloud.mongodb.com/edge/install.sh | bash
Siga as instruções para baixar e instalar o código do Edge Server .
Inicialize a instância do Edge Server
Use edgectl
para configurar a instância do Edge Server .
edgectl init --app-id="<INSERT-YOUR-APP-ID-HERE>" --platform=compose
Os parâmetros mínimos exigidos são app-id
e platform
.
--app-id
: Forneça a Edge Server aplicativo ID do . Por exemplo,--app-id="edge-server-vtoyh"
. Para obter mais informações, consulte Encontrar o ID do seu aplicativo.--platform
: você pode usar o Docker Compose para instalar e gerenciar a instância do Edge Server em um ambiente de desenvolvimento ou o Kubernetes para gerenciar a instância em um ambiente de produção. Os valores válidos sãocompose
oukubernetes
.
Você pode fornecer os seguintes sinalizadores opcionais para especificar detalhes de configuração adicionais:
Nome do campo | Tipo | Valor |
---|---|---|
--edge-root-dir | String | O local no disco para armazenar arquivos de configuração. Padrão é ~/.mongodb-edge/ . Se você especificar um local alternativo, deverá passar este sinalizador com o local alternativo com cada comando edgectl subsequente que você emitir. |
--query | String | A query que define quais dados sincronizar entre a instância do Edge Server e o Atlas. Se você não fornecer uma query, a instância sincroniza todos os dados que ela tem permissões para acessar. Para informações sobre preencher uma query, consulte Especificar a query do Edge Server. |
--global-query | String | Uma query que se aplica a todas as collections na fonte de dados vinculada. Para mais informações, consulte Especificar a query do Edge Server. |
--query-file | String | Passe um caminho para um arquivo JSON que contenha queries para as collections na fonte de dados vinculada. Para mais informações, consulte Especificar a query do Edge Server. |
--http-port | Int | A porta na qual a instância escuta conexões HTTP. O valor padrão é 80 . |
--wire-protocol-port | Int | A porta na qual a instância escuta conexões MongoDB Wire Protocol, como conexões de um driver MongoDB. O valor padrão é 27021 . |
--insecure-disable-auth | Boolean | Se true , os usuários podem se conectar anonimamente à instância por meio de clientes do Wire Protocol ou Atlas Device SDK. O padrão é false . |
--skip-user-prompt | Boolean | Se true , o Edge Server não solicita a criação do usuário. Se false , o Edge Server se conectará ao Atlas para verificar se existe um usuário de e-mail/senha no serviço. Se um usuário de e-mail/senha correspondente não existir, ele solicitará interativamente um nome de usuário e senha para criar um usuário. O padrão é false . |
--disable-local-ui | Boolean | Se true , a instância do Edge Server não executa uma interface do usuário no http-port registrado. O padrão é false . |
--profile | String | O nome do perfil a ser usado ao executar o comando edgectl fornecido. Se você não fornecer um nome, o nome do perfil padrão será app-id , com um número incremental anexado, começando com -01 . Quando você não fornece um sinalizador de perfil, o edgectl utiliza o perfil padrão ao executar um comando. Para obter mais informações, consulte Executar várias instâncias do Edge Server em um host. |
--registration-token | String | O token de registro de uso único para a instância do Edge Server . Se você não passar esse sinalizador com o token, edgectl solicitará interativamente o token durante a configuração inicial. |
Forneça o token do Edge Server
Ao configurar pela primeira vez a instância do Edge Server , você será solicitado a fornecer o token do Edge Server . Este é o token que você recebeu ao adicionar a instância ao seu serviço.
Se você não tiver mais o token, poderá gerar um novo token a partir dos Detalhes da Instância doEdge Server em seu serviço.
A instância do Edge Server troca esse token por um segredo. Ele utiliza o segredo para autenticar com Atlas quando sincroniza dados.
(Opcional) Criar um novo usuário
Se quiser se conectar à instância do Edge Server usando um driver ou uma ferramenta do MongoDB , você deve ter uma credencial de nome de usuário/senha ou ignorar a autenticação. Se você já tiver uma credencial de nome de usuário/senha ou não planeja se conectar à instância do Edge Server usando um driver ou ferramenta MongoDB , você pode pular esta etapa.
Para obter mais informações, consulte Conectar-se ao Edge Server com drivers e ferramentas do MongoDB .
Se você ainda não tiver uma credencial de nome de usuário/senha, poderá criar uma seguindo as instruções durante edgectl init
.
Caso contrário, você pode criar manualmente um usuário de e-mail/senha mais tarde usando a interface do usuário do Atlas App Services , a App Services CLI do App Services ou a App Services Admin API do App Services.
Como alternativa, se você planeja implementar um fluxo de autorização posteriormente, pode ignorar a autorização com o seguinte comando e sinalizador:
edgectl config --insecure-disable-auth=true
Iniciar e parar o servidor de borda
Utilize o edgectl
para iniciar e parar a instância do Edge Server .
Para iniciar todos os containers de instâncias do Edge Server , use o comando start
:
edgectl start
Para parar todos os containers de instância do Edge Server , use o comando stop
:
edgectl stop
Importante
Pare o servidor de borda quando não estiver em uso
Depois de iniciar a instância do Edge Server , ela tenta manter uma conexão de websocket com o Atlas para permanecer sincronizada, mesmo que nenhum aplicativo cliente esteja conectado. Se você estiver executando uma demonstração ou trabalhando em um PoC, lembre-se de interromper a instância do Edge Server usando edgectl stop
quando terminar de usá-la. Caso contrário, você continuará usando a computação do host e o tempo de Device Sync .
Verificar o status do servidor de borda
Quando a instância do Edge Server está em execução, você pode ver o status da instância com:
edgectl status
Isso fornece informações sobre o estado dos containers do Edge Server e um status detalhado do servidor de sincronização com um detalhamento de informações importantes. Pode parecer semelhante a:
{ "mongoContainerStatus": { "message": "running" }, "mongoDBStatus": { "message": "ready" }, "syncServerContainerStatus": { "message": "running" }, "syncServerStatus": { "message": "ACTIVE" }, "syncServerDetailedStatus": { "version": "v0.22.3", "status": "ACTIVE", "cloud_connected": true, "num_local_clients": 0, "query": { "Item": "truepredicate" } } }
O syncServerDetailedStatus
contém informações sobre o estado da instância do Edge Server . Isso inclui detalhes sobre sua conexão com o Atlas e os clientes conectados a ele, como segue:
Nome do campo | Tipo | Valor |
---|---|---|
version | String | A versão atual do código do Edge Server que a instância está executando. Se a instância do Edge Server ficar mais de uma versão principal atrás da versão mais recente disponível, ela não conseguirá se conectar ao Atlas e deverá ser limpa e atualizada. Para obter mais informações, consulte Atualizar a versão do Edge Server . |
status | String | O status atual da instância do Edge Server . Os valores possíveis incluem:
|
cloud_connected | Boolean | Se true , a instância do Edge Server está atualmente conectada ao Atlas. Se false , a instância do Edge Server não estará conectada ao Atlas. Quando a instância não está conectada ao Atlas, ela ainda pode receber conexões locais e sincronizar dados com clientes locais. Quando se reconecta ao Atlas, ele tenta sincronizar os dados que foram alterados enquanto não estava conectado. |
num_local_clients | Int | O número de clientes que estão atualmente conectados à instância do Edge Server por meio do Atlas Device SDK. Isso não inclui conexões através do Protocolo de Fio. |
query | Objeto | A query Sync do Edge Server, apresentada como um objeto JSON. Para mais informações, consulte Especificar a query do Edge Server. |
Atualizar a configuração da instância do Edge Server
Você pode fazer alterações em uma instância de Edge Server existente usando edgectl
. Depois de alterar a configuração, reinicie a instância para aplicar as atualizações.
Atualizar a configuração do Edge Server
Use o comando edgectl config
com as sinalizações apropriadas para atualizar a instância:
edgectl config --YOUR-FLAG-HERE
Nome do campo | Tipo | Valor |
---|---|---|
--edge-root-dir | String | O local no disco para armazenar arquivos de configuração. Padrão é ~/.mongodb-edge/ . Se você forneceu um local alternativo durante a configuração inicial, deverá passar esse sinalizador com o comando alternativo a cada comando edgectl emitido. |
--query | String | A query que define quais dados sincronizar entre a instância do Edge Server e o Atlas. Se você não fornecer uma query, a instância sincroniza todos os dados que ela tem permissões para acessar. Para obter informações sobre o preenchimento de uma query, consulte Especificar a query do Edge Server. |
--global-query | String | Uma query que se aplica a todas as collections na fonte de dados vinculada. Para mais informações, consulte Especificar a query do Edge Server. |
--query-file | String | Passe um caminho para um arquivo JSON que contenha queries para as collections na fonte de dados vinculada. Para mais informações, consulte Especificar a query do Edge Server. |
--http-port | Int | A porta na qual a instância escuta conexões HTTP. O valor padrão é 80 . |
--wire-protocol-port | Int | A porta na qual a instância escuta conexões MongoDB Wire Protocol, como conexões de um driver MongoDB. O valor padrão é 27021 . |
--insecure-disable-auth | Boolean | Se true , os usuários podem se conectar anonimamente à instância por meio de clientes do Wire Protocol ou Atlas Device SDK. O padrão é false . |
--skip-user-prompt | Boolean | Se true , o Edge Server não solicita a criação do usuário. Se false , o Edge Server se conectará ao Atlas para verificar se existe um usuário de e-mail/senha no serviço. Se um usuário de e-mail/senha correspondente não existir, ele solicitará interativamente um nome de usuário e senha para criar um usuário. O padrão é false . |
--disable-local-ui | Boolean | Se true , a instância do Edge Server não executa uma interface do usuário no http-port registrado. O padrão é false . |
--profile | String | O nome do perfil a ser usado ao executar o comando edgectl fornecido. Se você não fornecer um nome, o nome do perfil padrão será app-id , com um número incremental anexado, começando com -01 . Quando você não fornece um sinalizador de perfil, o edgectl utiliza o perfil padrão ao executar um comando. Para obter mais informações, consulte Executar várias instâncias do Edge Server em um host. |
--registration-token | String | Um token de registro de uso único para a instância do Edge Server . Você pode passar o sinalizador com esse token para solicitar que a instância do Edge Server atualize sua chave de API . |
--update-registration-token | Boolean | Instrua edgectl para solicitar interativamente um novo token de registro de uso único. Quando você fornece o novo token, a instância do Edge Server atualiza sua chave de API . |
Atualize a versão do servidor de borda
À medida que o Edge Server desenvolve, talvez você queira atualizar sua versão do Edge Server para aproveitar as novas funcionalidades. Além disso, uma instância do Edge Server não pode estar mais do que uma versão principal atrás da mais recente disponível, ou ela entra em um estado FAILED
e não pode se conectar ao Atlas.
Importante
Acesso à rede necessário
Para atualizar a versão do Edge Server , o edgectl
deve ter acesso à rede. Você não poderá atualizar a versão do Edge Server se edgectl
não estiver online.
Executar o comando de atualização
Você pode atualizar a versão do Edge Server usando edgectl
:
edgectl update
Dependendo do hardware e da conexão de rede, o processo de atualização pode levar de segundos a minutos.
Opcionalmente, você pode especificar argumentos para atualizar para uma versão específica:
Nome do campo | Tipo | Valor |
---|---|---|
--config-path | String | O local no disco para armazenar arquivos de configuração. Padrão é ~/.mongodb-edge/ . |
--minor | Boolean | Atualize para a versão secundária mais recente da sua versão principal atual. Padrão é true . |
--major | Boolean | Atualize para a próxima versão principal. Padrão é false . |
--to | String | Atualize (ou faça downgrade) para uma versão exata. Padrão "" . |
Alternar a Edge Server API chave de do
Para alternar a chave de Edge Server API do :
Gerar um Novo Token no Atlas
Você pode gerar um novo token de Edge Server de Edge Server de borda. Utilize o botão Regenerate Token para obter um novo token e copie-o. Você não poderá ver este token novamente e deverá gerar um novo token se não copiá-lo.
Forneça o token do novo Edge Server
Use edgectl
para ser solicitado a fornecer um novo token da instância do Edge Server :
edgectl config --update-registration-token=true
Este Atlas Triggers edgectl
para solicitar o token. Quando você o fornece, a instância do Edge Server troca esse token por um segredo. Ele utiliza o segredo para autenticar com Atlas quando sincroniza dados.
Importante
Acesso à rede necessário
Para trocar o token por uma chave API, o edgectl
deve ter acesso à rede. Não é possível alternar a chave de API se edgectl
não estiver online.
Especifique a query do Edge Server
Se você não especificar uma query, uma instância do Edge Server padronizará para uma query global do "*"
, que sincroniza automaticamente todos os dados em todas as coleções em sua fonte de dados vinculada.
Você pode usar alguns argumentos com o comando edgectl config
para especificar a query de sincronização da instância do Edge Server :
Passe uma query de string simples:
edgectl config --query="Store: store_id == 42" Passe vários sinalizadores de query para fornecer queries para várias collections:
edgectl config --query="Person: age > 10" --query "Pet: type = 'cat'" Passe um caminho para um arquivo contendo um objeto JSON mapeando queries mais complexas:
edgectl config --query-file="/Users/my.user/edge-server/query.json" Passe uma query global para usar a mesma query para todas as coleções:
edgectl config --global-query="shouldSync == true"
A menos que você esteja usando uma query global, as queries do Edge Server assumem a forma de YOUR-SCHEMA-TITLE: YOUR-QUERY
:
YOUR-SCHEMA-TITLE
: O campotitle
de um esquema, que normalmente corresponde ao nome de uma collection em seu banco de dados. No caso de duas collections com nomes idênticos em bancos de dados diferentes, anexamos o nome da collection com o nome do banco de dados; por exemplo,databaseName_collectionName
.Sua fonte de dados do Atlas vinculada pode conter muitas coleções, cada uma com um esquema correspondente. Se você não usar a query padrão do Edge Server
"*"
ou uma query global que sincronize tudo, cada esquema que você deseja sincronizar deverá ter sua própria query.Se você estiver usando um aplicativo de modelo, esta é a coleção
Item
.YOUR-QUERY
: A query que determina quais documentos o Edge Server pode sincronizar com uma coleção. Você pode usar o RQL para definir essa query, com as mesmas ressalvas em Flexible Sync RQL relação às limitações .
Observação
Campos de query
Como os Servidores de borda usam o Device Sync para sincronizar dados com o Atlas, a query usada na instância do Edge Server deve usar um campo que possa passar por query. Se você usar um serviço de Edge Server , adicionaremos automaticamente os campos que você usa nas queries de instâncias do Edge Server aos campos consultáveis. Se você usar um Device Sync Service com servidores de borda, adicionaremos apenas campos de query quando o modo de desenvolvimento estiver ativado.
Para obter mais informações, consulte Campos consultáveis.
Exemplos de query Edge Server
Sincronizar todos os documentos
Você pode sincronizar todos os documentos entre a instância do Edge Server e o Atlas. Utiliza a query truepredicate
ou "*"
. Como esta é uma query global, você pode passá-la como uma string com o argumento edgectl --global-query
.
Se você não fornecer uma query ao configurar sua instância do Edge Server , esta será a query padrão.
edgectl config --global-query="truepredicate"
Sincronizar um subconjunto de documentos de todas as coleções
Talvez você só queira sincronizar um subconjunto de documentos com uma instância do Edge Server . Por exemplo, para uma instância localizada em um repositório específico, talvez você queira sincronizar somente os documentos relevantes para esse repositório. Uma query RQL para isso pode ser semelhante a:
edgectl config --global-query="store_id == 42"
Sincronizar um subconjunto de documentos de uma collection
Se a fonte de dados vinculada ao seu serviço compatível com o Edge Server contiver mais de uma coleção e você quiser definir uma query para uma collection específica, poderá fornecer um mapeamento do título do esquema para a collection e uma query relevante.
Neste exemplo, definimos uma query para a coleção Inventory
, cujo título de esquema também é Inventory
. A instância do Edge Server sincroniza somente documentos da coleção em que store_id
corresponde a 42
, que é o número do armazenamento onde a instância do Edge Server está localizada.
edgectl config --query="Inventory: store_id == 42"
A fonte de dados vinculada também contém uma coleção Customers
. Mas como não há query da instância do Edge Server para essa coleção, nenhum dos documentos da coleção é sincronizado com a instância do Edge Server - mesmo que eles contenham um campo store_id
cujo valor corresponda ao 42
da query do Edge Server .
Especificar queries diferentes para múltiplas collections
Para uma query mais complexa, onde você deseja passar queries diferentes para múltiplas collections, você tem duas opções:
Passe várias bandeiras
--query
, uma para cada coleçãoPasse um caminho para um arquivo onde você define as queries como JSON
Nesses exemplos, temos três coleções: Project
, Item
e Team
, cujos nomes de coleção correspondem a seus títulos de esquema. Essas queries sincronizam dados com duas collections: Item
e Project
. A collection Project
tem uma propriedade de lista que representa um relacionamento para muitos com a collection Item
. Não queremos sincronizar a coleção Team
com a instância do Edge Server . Ao omitir esse título de esquema das queries, não sincronizamos nenhum de seus dados com a instância.
Com essas queries, estamos sincronizando apenas Project
documentos para a instalação 42. Além disso, estamos sincronizando apenas Item
documentos em que o valor do campo priority
é maior ou igual a 3
. Dessa forma, você pode combinar queries para sincronizar apenas os documentos relevantes para uma determinada instância do Edge Server .
Passe várias bandeiras de query
Você pode passar vários sinalizadores de query com edgectl config
para fornecer queries para várias collections.
edgectl config --query="Project: facility_id == 42" --query "Item: priority >= 3"
Passe queries como um arquivo JSON
Você pode passar um caminho para um arquivo JSON que define muitas queries diferentes. Por exemplo:
edgectl config --query-file="/Users/my.user/edge-server/query.json"
Onde o arquivo JSON contém:
{ "Project": "facility_id == 42", "Item": "priority >= 3" }
Simular conectividade offline
Edge Server fornece um modo de demonstração que você pode usar para simular uma instância do Edge Server perder conectividade com o Atlas. Enquanto a instância do Edge Server estiver no modo de demonstração offline, você pode continuar executando operações CRUD com a instância usando um driver ou ferramenta do MongoDB ou um aplicativo Atlas Device SDK .
Você pode ver a alteração de dados localmente com clientes conectados à instância do Edge Server , mas não veja as alterações refletidas no Atlas. Da mesma forma, as alterações que você faz no Atlas enquanto a instância do Edge Server está offline não são sincronizadas com o Edge Server e refletem nos clientes locais.
Quando você tira a instância do Edge Server do modo de demonstração offline, ela retoma automaticamente a sincronização com o Atlas. Você pode ver os dados da instância do Edge Server refletidos no Atlas, e os dados alterados no Atlas se tornam visíveis para a instância e os clientes conectados.
Configurar o Modo de Demonstração Off-line
Use o seguinte sinalizador edgectl
com o comando init
ou o comando config
para configurar a funcionalidade de demonstração offline:
edgectl config --insecure-enable-offline-demo
Se você emitir este sinalizador com o comando edgectl config
, você deverá reiniciar a instância do Edge Server para que a alteração entre em vigor.
Ativar o modo de demonstração offline
Antes de simular a conectividade offline, a instância do Edge Server deve se conectar com êxito ao Atlas. Você não pode utilizar esta funcionalidade com uma instância do Edge Server que nunca executou uma sincronização inicial com o Atlas.
Após configurar o modo de demonstração offline e conectado com sucesso ao Atlas, emita o seguinte comando edgectl
para simular a conectividade offline:
edgectl offline-demo disable-connection
Você recebe uma mensagem indicando que a conexão com a Internet foi desativada com sucesso. Se você verificar o status da instância do Edge Server , o conjunto cloud_connected
muda de true
para false
.
Agora você pode executar operações CRUD com a instância do Edge Server localmente e não deve ver as alterações refletidas no Atlas.
Desativar modo de demonstração offline
Para simular a reconexão à rede, emita o seguinte comando edgectl
:
edgectl offline-demo enable-connection
Você recebe uma mensagem indicando que a conexão com a Internet foi habilitada com sucesso. Se você verificar o status da instância do Edge Server , o conjunto cloud_connected
muda de false
para true
.
Depois de aguardar um momento para sincronizar as alterações, você pode ver as alterações locais refletidas no Atlas e as alterações do Atlas refletidas na instância do Edge Server .
Execute múltiplas instâncias de Edge Server em um host
Enquanto sua arquitetura de Edge Server estiver em desenvolvimento, talvez você queira executar várias instâncias de Edge Server em um único host, por exemplo, em seu computador local. Você pode fazer isso usando a funcionalidade de perfil edgectl
.
Quando você cria uma instância do Edge Server , o edgectl
cria automaticamente um perfil padrão para você. O perfil mapeia seus comandos para uma instância específica do Edge Server .
Quando você cria uma nova instância do Edge Server na mesma máquina, o edgectl
define o novo perfil como o perfil padrão. Para emitir um comando que usa um perfil diferente do padrão, adicione o sinalizador --profile
com cada comando.
edgectl start --profile=YOUR-PROFILE-NAME
Você pode visualizar os perfis e seus arquivos de configuração associados em:
~/.mongodb-edge/profiles/
Nomear um perfil
Você pode nomear um perfil com a bandeira --profile
quando você emitir o comando edgectl init
:
edgectl init --app-id="YOUR-APP-ID" --platform=compose --profile=YOUR-PROFILE-NAME
Listar perfis
Você pode listar todos os perfis e ver qual está atualmente definido como padrão com o seguinte comando edgectl
:
edgectl profile list
Obter detalhes do perfil
Você pode obter detalhes sobre um perfil com o seguinte comando edgectl
:
edgectl profile inspect YOUR-PROFILE-NAME
Isso fornece informações sobre o ID do aplicativo e a plataforma associadas ao perfil:
{ "appId" : "YOUR-APP-ID", "platform" : "compose" }
Definir um perfil padrão
Quando você cria um novo perfil, ele se torna o perfil padrão. Você pode definir um perfil padrão diferente com o seguinte comando edgectl
:
edgectl profile set-default YOUR-PROFILE-NAME
Se você listar todos os perfis novamente, poderá ver o novo padrão.
Excluir um perfil
Você pode excluir um perfil com o seguinte comando edgectl
:
edgectl profile delete YOUR-PROFILE-NAME
Se você excluir o perfil padrão, deverá definir um novo perfil padrão ou passar o sinalizador --profile
com cada comando emitido.