O blog da AWS
Aprimore aplicações em tempo real com integrações de fonte de dados do AWS AppSync Events
Por Micah Walter, Sr. Solutions Architect.
Hoje, estamos anunciando que o AWS AppSync Events agora suporta integrações de fonte de dados para namespaces de canal, permitindo que desenvolvedores criem aplicações em tempo real mais sofisticadas. Com essa funcionalidade, você pode associar funções AWS Lambda, tabelas Amazon DynamoDB, bancos de dados Amazon Aurora e outras fontes de dados com handlers de namespace de canal. Com o AWS AppSync Events, você pode construir aplicações em tempo real ricas com recursos como validação de dados, transformação de eventos e armazenamento persistente de eventos.
Com essas novas capacidades, desenvolvedores podem criar fluxos de trabalho sofisticados de processamento de eventos transformando e filtrando eventos usando funções Lambda ou salvar lotes de eventos no DynamoDB usando os novos utilitários de lote AppSync_JS. A integração permite fluxos interativos complexos enquanto reduz o tempo de desenvolvimento e a sobrecarga operacional. Por exemplo, você agora pode persistir eventos automaticamente em um banco de dados sem escrever código de integração complexo.
Primeira visão das integrações de fonte de dados
Vamos ver como configurar integrações de fonte de dados usando o AWS Management Console. Primeiro, vou navegar até o AWS AppSync no console e selecionar minha Event API (ou criar uma nova).

Persistindo dados de eventos diretamente no DynamoDB
Há vários tipos de integrações de fonte de dados para escolher. Para este primeiro exemplo, vou criar uma tabela DynamoDB como fonte de dados. Vou precisar de uma tabela DynamoDB primeiro, então vou até o DynamoDB no console e crio uma nova tabela chamada event-messages. Para este exemplo, só preciso criar a tabela com uma Chave de Partição chamada id. Em seguida, posso clicar em Create table e aceitar a configuração padrão da tabela antes de voltar ao AppSync no console.

Retornando ao console do AppSync, volto à Event API que configurei anteriormente, seleciono Data Sources no painel de navegação com abas e clico no botão Create data source.

Depois de dar um nome à minha Data Source, seleciono Amazon DynamoDB no menu suspenso Data source. Isso mostrará opções de configuração para o DynamoDB.

Após configurar minha fonte de dados, posso implementar a lógica do handler. Aqui está um exemplo de um handler Publish que persiste eventos no DynamoDB:
import * as ddb from '@aws-appsync/utils/dynamodb'
import { util } from '@aws-appsync/utils'
const TABLE = 'events-messages'
export const onPublish = {
request(ctx) {
const channel = ctx.info.channel.path
const timestamp = util.time.nowISO8601()
return ddb.batchPut({
tables: {
[TABLE]: ctx.events.map(({id, payload}) => ({
channel, id, timestamp, ...payload,
})),
},
})
},
response(ctx) {
return ctx.result.data[TABLE].map(({ id, ...payload }) => ({ id, payload }))
},
}
Para adicionar o código do handler, vou à navegação com abas para Namespaces onde encontro um novo namespace default já criado para mim. Ao clicar para abrir o namespace padrão, encontro o botão que me permite adicionar um Event handler logo abaixo dos detalhes de configuração.

Clicar em Create event handlers abre uma nova caixa de diálogo onde seleciono Code with data source como configuração, e então seleciono a fonte de dados DynamoDB como configuração de publicação.

Depois de salvar o handler, posso testar a integração usando as ferramentas de teste integradas no console. Os valores padrão aqui devem funcionar, e como você pode ver abaixo, escrevi com sucesso dois eventos na minha tabela DynamoDB.

Aqui estão todas as minhas mensagens capturadas no DynamoDB!

Tratamento de erros e segurança
As novas integrações de fonte de dados incluem capacidades abrangentes de tratamento de erros. Para operações síncronas, você pode retornar mensagens de erro específicas que serão registradas no Amazon CloudWatch, mantendo a segurança ao não expor informações sensíveis do backend aos clientes. Para cenários de autorização, você pode implementar lógica de validação personalizada usando funções Lambda para controlar o acesso a canais específicos ou tipos de mensagem.
Disponível agora
As integrações de fonte de dados do AWS AppSync Events estão disponíveis hoje em todas as Regiões da AWS onde o AWS AppSync está disponível. Você pode começar a usar esses novos recursos através do console do AWS AppSync, interface de linha de comando da AWS (CLI), ou AWS SDKs. Não há custo adicional para usar integrações de fonte de dados – você paga apenas pelos recursos subjacentes que usa (como invocações Lambda ou operações DynamoDB) e seu uso existente do AppSync Events.
Para saber mais sobre o AWS AppSync Events e integrações de fonte de dados, visite a documentação do AWS AppSync Events e comece a construir aplicações em tempo real mais poderosas hoje.
Este conteúdo foi traduzido do post original do blog, que pode ser encontrado aqui.
Autor
![]() |
Micah Walter é um Sr. Solutions Architect apoiando clientes corporativos na região de Nova York e além. Ele aconselha executivos, engenheiros e arquitetos em cada etapa de sua jornada para a nuvem, com um foco profundo em sustentabilidade e design prático. Em seu tempo livre, Micah gosta de atividades ao ar livre, fotografia e brincar com seus filhos pela casa. |
Tradutores
![]() |
Rodrigo Peres é Arquiteto de Soluções na AWS, com mais de 20 anos de experiência trabalhando com arquitetura de soluções, desenvolvimento de sistemas e modernização de sistemas legados. |
![]() |
Daniel Abib é arquiteto de soluções sênior na AWS, com mais de 25 anos trabalhando com gerenciamento de projetos, arquiteturas de soluções escaláveis, desenvolvimento de sistemas e CI/CD, microsserviços, arquitetura Serverless & Containers e segurança. Ele trabalha apoiando clientes corporativos, ajudando-os em sua jornada para a nuvem. https://www.linkedin.com/in/danielabib/ |


