Guia de migração do Amazon Web Services App Sync
Nesta página
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 que é 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.
Arquitetura do sistema
Device Sync
O diagrama a seguir mostra a 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.
Amazon Web Services AppServices
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:

Etapas de migração
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.
MongoDB Atlas
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.
AWS
EventBridge
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
Resolvedor de Lambda do Amazon Web Services
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
AWS AppSync
Configurar permissões do IAM
Vincule-se ao Resolvedor Lambda, usando a autorização Lambda.
Crie esquemas GraphQL para seus dados.
Código do aplicativo
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.