1.0.18 • Published 3 years ago

mqtt-publisher-module v1.0.18

Weekly downloads
-
License
MIT
Repository
-
Last release
3 years ago

MQTT Publisher Module

Librería para publicar en el broker MQ el esquema JSON para llenar el formato de logs Compensar

Como usar:

Para utilizar el la librería primero se debe de crear tener los siguientes prerrequisitos:

Options:

Son las parámetros necesarios para realizar la autenticación y conexión en el MQ

const options = {
	username: string,
	password: string,
	clientId: string,
	port: number,
	host: string
	topic: string,
	key: string
	group: string
};
  • username: Usuario creado en el MQ para identificarse.
  • password: Contraseña creada en el MQ para identificarse.
  • clientId: Identificador del cliente que realiza el registro en el MQ.
  • port: Puerto que expone el MQ para la conexión.
  • host: URL que expone el MQ para realizar las peticiones.
  • topic: Topico del MQ al cuál llegará el mensaje.
  • key: Identificador del baúl en el broker MQ.

Inicializar la librería:

Se crea una instancia de la librería enviando los parámetros (URL, Opciones) requeridos para poder usar la librería.

// Se inicializa la librería
const publisher = new mqttPlublisherModule(options);

// Se utiliza el método publish para enviar el registro al MQ

Normal:

function publishLog(context, requestContext, headers, rawPath, httpCode, body, responseBody, logType) {
	
	publisher.publish({context, requestContext, headers, variables, MessageIn:body, MessageOut:responseBody, OperationName:rawPath, HttpCode:httpCode, IdInstance:""}, typeLog)
		.then (data => console.log(data))
		.catch(error => console.log(error));

}

Asíncrono:

async function publishLogAsync(context, requestContext, headers, rawPath, httpCode, body, responseBody, logType) {
	
	return await new Promise((resolve, reject) => {
		publisher.publish({ context, requestContext, headers, variables, MessageIn: body, MessageOut: responseBody, OperationName: rawPath, HttpCode: httpCode, IdInstance: "" }, typeLog)
			.then(data => {
				console.log(data);
				resolve(data);
			})
			.catch(error => {
				console.log(error);
				reject(error);
			});
	});
	
}

Respuesta:

Exitosa:

Realiza el registro dentro del tópico en el MQ.

{
	'statusCode': 200,
	'body':  'published on api_..._lambda',
	'log': {...}
}

Erronea:

Retorna el código de error y un mensaje descriptivo.

{
	'statusCode': 401,
	'body':  'Connection refused: Not authorized'
}

Licencia

ISC

1.0.18

3 years ago

1.0.17

3 years ago

1.0.16

3 years ago

1.0.15

3 years ago

1.0.14

3 years ago

1.0.0

3 years ago