1.0.18 • Published 3 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'
}