Twilio API 스터디 Vol.28 - 서버리스 아키텍처에서 Twilio를 안전하게 운영하세요! 핸즈온 메모
AWS Lambda Function 생성
AWS에 로그인하고 AWS Lambda를 선택합니다.
환영 화면에서 새로 만들기
blueprint 에 HelloWorld
AWS Lambda Function 설정
console.log('Received event:', JSON.stringify(event, null, 2));
console.log('Received event:', JSON.stringify(context, null, 2));
로 코드를 변경하여 Save & Test
페이지 아래의 실행 결과 확인
Add event source를 살짝 봐
Add API Endpoint 선택하고 만들기
Amazon API Gateway 설정
prod를 새 탭에서 열기
페이지의 오른쪽 탭 Resources로
Method Request
Method Execution의 Authentication을 NONE
통합 요청
Input Path Through에서 Mapping template로 변경. AWS lambda에 보낸 모든 매개변수를 검색할 수 있도록 허용
{
"param": {
#foreach( $key in $input.params().querystring.keySet() )
"$key": "$input.params().querystring.get($key)"#if( $foreach.hasNext ),#end
#end
}
}
통합 응답
200개 확장
Mapping Templates
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Say language="ja-jp">今は回線混んでるよ〜</Say>
</Response>
Method Response
200개 확장
추가 응답 모델
최종 확인
Deploy API
Deploy API에서 prod로 배포
Stages에서 왼쪽 탐색 메뉴에서 TwilioFallback GET으로 이동하여 URL을 클릭하십시오.
AWS Lambda에 있는 Monitoring에서 CloudWatch에 가서 확인.
Twilio fallbackURL에 적합한 URL을 설정
그 전화번호로 전화 걸기
다시 CloudWatch에서 확인
event.param.~에서 Twilio의 정보를 받아 이것을 확인했습니다.
그리고는 Slack에 던지게 되고, Twilio로 관리자에게 전화하거나, 좋아하는 대로 Node.js로 쓴다.
Slack 알림 샘플
var https = require('https');
var fs = require('fs');
exports.handler = function(event, context) {
param = {
text: "電話エラー発生!!\nAccountSid: " + event.param.AccountSid + ",\n ErrorUrl: <" + encodeURIComponent(event.param.ErrorUrl) + "|Link>,\nFrom: " + event.param.From + ",\nTo: " + event.param.To,
icon_emoji: ":ghost:"
};
var post_data = "payload=" + JSON.stringify(param);
var path = "your slack incoming-webhook path";
var post_options = {
host: 'hooks.slack.com',
port: '443',
path: path,
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': Buffer.byteLength(post_data)
}
};
// Set up the request
var post_req = https.request(post_options, function(res) {
res.setEncoding('utf8');
res.on('data', function (chunk) {
context.done();
});
});
// post the data
post_req.write(post_data);
post_req.end();
};
Reference
이 문제에 관하여(Twilio API 스터디 Vol.28 - 서버리스 아키텍처에서 Twilio를 안전하게 운영하세요! 핸즈온 메모), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kimihom/items/941b5c7ee87371db9dbf텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)