Menu Docs

Guia de migração do Amazon Web Services App Sync

A partir de de 2024 setembro, Device Services está obsoleto. Há muitos serviços de terceiros que você pode usar para migrar seu aplicativo do App Services. Esta página fornece orientações sobre como usar o Amazon Web Services AppSync.

O AWS AppSync é uma plataforma sem servidor que você pode usar para manter seus dados sincronizados entre dispositivos por meio de APIs GraphQL e Pub/Sub. Combinado com o MongoDB Atlas como o armazenamento de dados de backend, você mantém muitos dos benefícios do Device Sync.

O diagrama a seguir mostra a arquitetura típica do Device Sync :

Um diagrama que mostra uma arquitetura típica do Device Sync .

Nessa arquitetura, seu aplicativo usa as APIs do Atlas Device Sync para se comunicar diretamente com o Atlas App Services, que lida com o armazenamento de dados, a sincronização e a resolução de conflitos.

O fluxo de dados é:

  • Os dados são armazenados no banco de dados de Realm local de cada dispositivo.

  • Um usuário faz alterações no dispositivo.

  • As APIs do Device Sync enviam alterações para o Atlas App Services.

  • O Atlas App Services executa qualquer resolução de conflitos necessária, armazena as alterações no Atlas e sincroniza as alterações com os outros dispositivos.

  • As APIs do Device Sync atualizam os dados no Realm local de cada dispositivo.

Ao migrar do Device Sync para o Amazon Web Services AppSync, você precisará fazer as seguintes alterações em sua arquitetura:

  • Use o Amazon Web Services AppSync para lidar com a sincronização de dados

  • Use um Resolvedor Lambda do Amazon Web Services para enviar dados para o Atlas por meio dos SDKs do driver MongoDB

  • Use o Amazon Web Services Event Bridge para ouvir os triggers de evento do Atlas

  • Adicionar um gatilho de banco de dados (trigger) ao Atlas

Você também precisa alterar o seguinte no código do cliente :

  • Como o AppSync usa o GraphQL, você precisa usar as APIs do Amazon Web Services AppSync para acessar os endpoints do GraphQL a partir do seu aplicação.

  • Altere o armazenamento de dados local de um banco de dados Realm para o armazenamento de dados padrão no dispositivo (normalmente SQLite) ou outro de sua escolha.

O diagrama a seguir mostra um exemplo típico da nova arquitetura:

Um diagrama que mostra uma arquitetura típica do Device Sync .

As seções a seguir descrevem as tarefas de alto nível que você precisa executar para migrar sua arquitetura existente do Device Sync para o Amazon Web Services AppSync.

  • Se necessário, atualize a segurança do banco de dados e o acesso à rede.

  • Crie um gatilho de banco de dados que aciona um evento sempre que os dados em seu banco de dados ou coleção são alterados.

  • Configure o Atlas como origem do parceiro.

  • Configure o Amazon Web Services AppSync como o destino.

  • Criar um mapeamento dos campos do corpo do evento para os endpoints do GraphQL do AppSync

  • Configurar segurança

  • Crie um resolvedor Lambda com base no MongoDB-DataAPI modelo. Para obter detalhes sobre esse processo, consulte o Readme no repositório MongoDB-API GitHub.

  • Configurar autorização Lambda via IAM

  • Configurar permissões do IAM

  • Vincule-se ao Resolvedor Lambda, usando a autorização Lambda.

  • Crie esquemas GraphQL para seus dados.

Depois de migrar sua arquitetura de backend, será necessário fazer algumas alterações no aplicativo cliente :

  • Substitua os Realm SDKs pelo código para chamar os endpoints do AppSync GraphQL. Você pode usar sua plataforma existente com os SDKs do Amazon Web Services apropriados ou usar o Amazon Web Services Amplify, que oferece suporte nativo para conexão com os serviços do Amazon Web Services.

  • Adicione drivers para escrever e ler a partir do armazenamento de dados do dispositivo. O armazenamento de dados padrão é o SQLite em ambientes iOS e Android, mas use o banco de dados que atenda às suas necessidades.