1.0.2 • Published 1 year ago

sns-publish-article-order-pair v1.0.2

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

NPM package ( sns-publish-article-order-pair )

Creación de una librería npm para lograr un plug and play para futuras implementaciones (sns-publish-article-order-pair)

Aquí se encuentra la lógica que empaqueta el mensaje y lo envía por medio de SNS.

Instalación

$ npm i sns-publish-article-order-pair

Descripción

SNS es un servicio pub/sub, lo que significa que consta de un publishery un subscriber, aquí entra en juego el topic, que nos permite comunicar un mensaje a sistemas distribuidos, microservicios y aplicaciones sin servidor controladas por eventos. En este caso queremos comunicarnos con una lambda que se encargará de procesar el mensaje y llevar a cabo las acciones pertinentes. El publisher require de la identificación de todos los microservicios que generan un cambio en las tablas relacionadas al reporte, por lo que primeramente fue necesario la identicación de estos microservicios, después se implementa el publisher y este al ser activado manda el mensaje a SNS, SNS a su vez distribuye el mensaje (en este caso a la lambda especializada) y se lleva a cabo el proceso lógico.

Podemos realizar una importación por nombre, en este caso hablaremos al método publishArticleReportEvent

  • commonJS
const { publishArticleReportEvent } = require('sns-publish-article-order-pair');
  • ES6
import { publishArticleReportEvent } from 'sns-publish-article-order-pair';

publishArticleReportEvent es una promesa que se comunica con sns. Acepta un array que tiene la siguiente estructura.

El método se encarga de enviar pares de artículo y órden (article_id, order_id), el mensaje que puede aceptar es un array de estos pares almacenados en un objeto.

[
	{article_id: 1, order_id: 1},
	{article_id: 20, order_id: 3},
	...
]

También existe la posibilidad de insertar todas las filas de una orden o artículo si seguimos la siguiente estructura (de esto se encarga el microservicio correspondiente):

[
	{article_id: 1, order_id: 2},
	{ article_id: null, order_id: 2020},
	...
]

En el caso anterior, sns se comunica con el microservicio correspondiente que se encargaría tanto de insertar o actualizar (reinsertar en realidad) la fila que cumpla con article_id = 1 y order_id = 2, así como todas las órdenes que cumplan con order_id = 2020

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago