![]() |
Hoy, estamos anunciando que los eventos AWS AppSync ahora admiten integraciones de fuente de datos para espacios de nombres de canales, lo que permite a los desarrolladores crear aplicaciones en tiempo real más sofisticadas. Con esta nueva capacidad, puede asociar las funciones de AWS Lambda, las tablas de Amazon DynamoDB, las bases de datos de Amazon Aurora y otras fuentes de datos con controladores de casos del espacio de nombres. Con eventos AWS AppSync, puede crear aplicaciones ricas en tiempo real con características como validación de datos, transformación de eventos y almacenamiento persistente de eventos.
Con estas nuevas capacidades, los desarrolladores pueden crear flujos de trabajo de procesamiento de eventos sofisticados transformando y filtrando eventos utilizando funciones lambda o guardar lotes de eventos a DynamodB utilizando las nuevas utilidades de lotes AppSync_JS. La integración permite flujos interactivos complejos al tiempo que reduce el tiempo de desarrollo y la sobrecarga operativa. Por ejemplo, ahora puede persistir automáticamente los eventos a una base de datos sin escribir un código de integración complejo.
Primero busque las integraciones de fuente de datos
Pasemos cómo configurar las integraciones de fuente de datos utilizando la consola de administración de AWS. Primero, navegaré a AWS AppSync en la consola y seleccionaré mi API de eventos (o creará una nueva).
Persistir datos de eventos directamente a Dynamodb
Hay múltiples tipos de integraciones de fuente de datos para elegir. Para este primer ejemplo, crearé una tabla DynamodB como fuente de datos. Primero necesitaré una mesa de DynamodB, así que me dirijo a Dynamodb en la consola y creo una nueva tabla llamada event-messages
. Para este ejemplo, todo lo que necesito hacer es crear la tabla con una clave de partición llamada id
. Desde aquí, puedo hacer clic Crear mesa y acepte la configuración de tabla predeterminada antes de regresar a AppSync en la consola.
De vuelta en la consola AppSync, vuelvo a la API del evento que configuré anteriormente, seleccione Fuentes de datos desde el panel de navegación con pestañas y haga clic en el Crear fuente de datos botón.
Después de darle un nombre a mi fuente de datos, selecciono Amazon Dynamodb desde Fuente de datos menú desplegable. Esto revelará opciones de configuración para DynamodB.
Una vez que mi fuente de datos está configurada, puedo implementar la lógica del controlador. Aquí hay un ejemplo de un controlador de publicación que persiste los eventos a 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 agregar el código del controlador, voy a la navegación con pestañas para Espacios de nombres donde encuentro un nuevo por defecto espacio de nombres ya creado para mí. Si hago clic para abrir el espacio de nombres predeterminado, encuentro el botón que me permite agregar un Manipulador de eventos Justo debajo de los detalles de configuración.
Haciendo clic en Crear manejadores de eventos me lleva a un nuevo diálogo donde elijo Código con fuente de datos Como mi configuración, y luego seleccione la fuente de datos DynamodB como mi configuración de publicación.
Después de guardar el controlador, puedo probar la integración utilizando las herramientas de prueba incorporadas en la consola. Los valores predeterminados aquí deberían funcionar, y como puede ver a continuación, he escrito con éxito dos eventos en mi tabla DynamoDB.
¡Aquí están todos mis mensajes capturados en Dynamodb!
Manejo de errores y seguridad
Las nuevas integraciones de fuente de datos incluyen capacidades integrales de manejo de errores. Para las operaciones sincrónicas, puede devolver mensajes de error específicos que se registrarán en Amazon CloudWatch, al tiempo que mantiene la seguridad al no exponer información confidencial a los clientes. Para los escenarios de autorización, puede implementar la lógica de validación personalizada utilizando funciones Lambda para controlar el acceso a canales o tipos de mensajes específicos.
Disponible ahora
Las integraciones de origen de datos de eventos AWS AppSync están disponibles hoy en todas las regiones de AWS donde está disponible AWS AppSync. Puede comenzar a usar estas nuevas funciones a través de la consola AWS AppSync, la interfaz de línea de comandos AWS (CLI) o AWS SDKS. No existe un costo adicional para el uso de integraciones de fuente de datos: solo paga por los recursos subyacentes que usa (como invocaciones lambda o operaciones de Dynamodb) y su uso de eventos de APPSYNC existentes.
Para obtener más información sobre los eventos AWS AppSync e integraciones de fuente de datos, visite la documentación de eventos AWS AppSync y comience a construir aplicaciones en tiempo real más potentes hoy.
¿Cómo está el blog de noticias? Tomar esto Encuesta de 1 minuto!
(Este encuesta está alojado por una empresa externa. AWS maneja su información como se describe en el Aviso de privacidad de AWS. AWS será propietario de los datos recopilados a través de esta encuesta y no compartirá la información recopilada con los encuestados).