Una vez que la skill esté funcionando de manera estable, no hará falta que estemos mirando los logs cada rato, asumiremos que todo funciona bien. Pero como decía en otro post, la informática no es una ciencia exacta y los sistemas dejan de funcionar a veces sin razón aparente.

Además de las propias de AWS, es una buena práctica definir alarmas o alertas propias dentro de nuestro código. Algunos ejemplos: error al leer o escribir en la base de datos, error al enviar un mensaje SQS, intent no soportado …

Con AWS SNS se puede desarrollar una solución práctica y sencilla.

docClient.query( params, function(err, data) {
    if( err ) {
        var publishTextPromise = new AWS.SNS({apiVersion: '2010-03-31'})
            .publish({
                Subject: "Error en DynamoDB query",
                Message: JSON.stringify(err),
                TopicArn: SNS_TOPIC
            }).promise();
        publishTextPromise.then( function(data) {
            console.log( err );
        }).catch( function( err ) {
            console.error( err, err.stack );
        });
    }
}

Después se realiza una subscripción al SNS_TOPIC y se indica cómo se deben procesar los mensajes, por ejemplo, enviandolos por email.