1.0.18 • Published 5 years ago
mqtt-publisher-module v1.0.18
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'
}