¿Es posible tener una lógica de filtrado personalizada en la suscripción en AWS AppSync?
Como sé, el comportamiento actual es: por ejemplo, mi esquema es como el siguiente
type Mutation { createEvent(userId: ID!, event: Event!): Event! } type Subscription { onEvent(userId: ID!): Event! @aws_subscribe(mutations: ["createEvent"]) }El comportamiento actual de AppSync es que, cuando activo createEvent, AppSync promete que el suscriptor de Subscription recibirá el Evento si los ID de usuario son iguales. es decir, la lógica de filtrado de AppSync es algo así como
if (Muatation.userId == Subscription.userId) { // forward to subscriber }Pero, ¿y si quiero una lógica de filtrado diferente? Por ejemplo, ¿quiero suscribirme a todos los demás eventos, excepto a los activados por mí? es decir
if (Muatation.userId != Subscription.userId) { // forward to subscriber }Entonces, ¿es posible tener una lógica de filtrado personalizada en AppSync?
Actualmente, este caso de uso no es compatible con AppSync.
Se puede considerar agregar filtros personalizados en el futuro.
Después de echar un vistazo al posible método de filtrado aquí - appsync-doc
no parece posible
Lo único que puede hacer es agregar una pequeña lógica en su cliente para detectar si la Suscripción es suya comparando el ID de usuario.