Created
November 3, 2016 12:36
-
-
Save marufeuille/1d959eadd67bda25fd055879c010dd32 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
exports.handler = function (event, context, callback) { | |
var https = require('https'); | |
var AWS = require('aws-sdk'); | |
var imsi = 'PUT YOUR IMSI'; | |
var to_mail_addr = 'PUT YOUR MAIL ADDRESS YOU RECIEVED ALERT MAIL'; | |
var from_mail_addr = 'PUT YOUR MAIL ADDRESS YOU SEND ALERT MAIL(SES)'; | |
var soracom_key = 'PUT YOUR SORACOM API KEY' | |
var soracom_token = 'PUT YOUR SORACOM API TOKEN' | |
var aws_key = 'PUT YOUR AWS API KEY TO SEND MAIL FROM SES' | |
var aws_sec = 'PUT YOUR AWS API SECRET KEY TO SEND MAIL FROM SES' | |
var kms = new AWS.KMS({ region: 'ap-northeast-1' }); | |
var options = { | |
hostname: 'api.soracom.io', | |
path: '/v1/subscribers/' + imsi, | |
method: 'GET', | |
headers: { | |
'X-Soracom-API-Key': soracom_key, | |
'X-Soracom-Token': soracom_token | |
} | |
}; | |
var req = https.request(options, (response) => { | |
var buf = ""; | |
response.on('data', (chunk) => { | |
buf = buf + chunk; | |
}) | |
response.on('end', () => { | |
const body = JSON.parse(buf); | |
if (body.sessionStatus.online != true) { | |
var ses = new AWS.SES({apiVersion: '2010-12-01', | |
accessKeyId: aws_key, | |
secretAccesskey: aws_token, | |
region: 'us-east-1' | |
}); | |
var params = { | |
Destination: { | |
ToAddresses: [ to_mail_addr ] | |
}, | |
Message: { | |
Body: { | |
Text: { | |
Data: 'SIM(' + body.imsi + ') is offline', | |
Charset: 'utf-8' | |
} | |
}, | |
Subject: { | |
Data: 'SIM error occured', | |
Charset: 'utf-8' | |
} | |
}, | |
Source: from_mail_addr | |
}; | |
ses.sendEmail(params, function (err, data) { | |
if (err) { callback ('e', err); } | |
else { callback(null, data); } | |
}); | |
} | |
}); | |
}); | |
req.end(); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment