Lambda에서 Chatwork에 메시지 게시
Lambda function은 다음과 같은 느낌입니다.
lambda-chatwork.js
var request = require('request');
exports.handler = function(event, context) {
var msg = event.msg;
var room_id = 'ルームID';
var options = {
url: 'https://api.chatwork.com/v2/rooms/' + room_id +'/messages',
headers: {
'X-ChatWorkToken': '自身のAPIトークン'
},
form : {body : msg},
useQuerystring: true
};
request.post(options, function (err, res, body) {
if (!err && res.statusCode == 200) {
context.done(null, body);
}else{
context.done('error', err);
}
});
};
https 모듈에서는 작동하지 않았으므로 request를 사용하고 있습니다. request의 모듈을 포함하여 zip으로 올려야합니다.
invoke-async 명령으로 호출합니다.
aws lambda invoke-async \
--function-name lambda-chatwork \
--region us-east-1 \
--invoke-args input.txt
input.txt
{
"msg": "Hello Chatwork API & Lambda!!!"
}
그래서, 갈 수있었습니다. (여러 사정에 의해 이름 부분 지우고 있습니다...)
사용하는 장면으로서는, 서버로 에러 검지했을 때에, 에러 로그를 Chatwork에 던지려고 생각하고 있습니다. 우선, 할 수 있었던 것만으로 맞습니까? 사용법인지 잘 모르겠습니다.
그러나 SNS의 HTTP 알림은 요청 헤더를 변경할 수 없으므로 Chatwork API와 같이 요청 헤더에 토큰을 포함해야하는 경우 사용하기가 어렵습니다.
그래서, 그러한 경우에 통지 부분을 Lambda에 외출해 실행하는 것은 있을까라고 생각했습니다.
Reference
이 문제에 관하여(Lambda에서 Chatwork에 메시지 게시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tenbo07/items/5c7da35c7d0984b5350a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)