際際滷

際際滷Share a Scribd company logo
API Gateway + Lambdaで
停兆Slack誘後APIを
つくってみた
@hilotter
きっかけ
? エンジニア參翌でもSlackを聞う繁がえてきた
? エンジニア揖平の氏が嶄伉になってしまいSlackにTれ
てない繁は誘後するHのハ`ドルが互そう
? F彜の}泣やサ`ビス個鋲につながるアイデアやを隔っ
ていたとしても、誘後ハ`ドルが互いのが尖喇で巓りに慌
嗤されないのはもったいない
? 停兆で毫Xに誘後できるようにすれば、誘後のハ`ドルを
和がり個鋲につながるかもしれないh
廣吭並
? つくったはいいもののg樹秘はしておりません
? 云輝に森があるのかは蛍かっておりません。
? g樹擬秘したいと房った圭には袁犬司擇靴泙
JAWS
Serverless Application Framework
API
Gateway
Lambda Slack
Chrome
AnonymouSlack
Serverless Architecture
Chrome坪で岷俊SlackAPIに
アクセスさせた栽
? Slackト`クン秤鵑息れてしまう音芦
? 誘後チャンネルが瘁で笋錣辰rにChromeを壅イ
ンスト`ルしてもらう駅勣がある
API Gatewayのメリット
? Lambda箸淋O協を笋┐譴侏狂縅肇船礇鵐優襪筝が
辛嬬
? 皆鉛温界一粥永鴛ト`クンは晦温馨恢糸温迦に隔っているので芦畠
JAWSでプロジェクト恬撹
? npm install jaws-framework -g
? jaws project create
? cd AnonymouSlack
? npm install slack-node ?save
? jaws module create slack post
Lambdaコ`ド# aws_modules/slack/post/index.js
var Slack = require('slack-node');
module.exports.run = function(event, context, cb) {
var apiToken = process.env.API_TOKEN;
var channel = process.env.CHANNEL;
var icon_emoji = process.env.ICON_EMOJI ?? ':innocent:';
var username = process.env.USERNAME ?? 'bot'
var slack = new Slack(apiToken);
var text = event.text;
if (!text) { return cb(400, null); }
slack.api('chat.postMessage', {
text: text,
channel: channel,
icon_emoji: icon_emoji,
username: username
}, function(err, response){
if (err) {
return cb(null, err);
}
return cb(null, response);
});
};
h廠篳O協
? jaws env set dev ap-northeast-1 API_TOKEN
your_api_token
? jaws env set dev ap-northeast-1 CHANNEL
'#anonymous_diary'
デプロイ
? jaws dash
?
? JAWS: Dashboard for project "AnonymouSlack"
? -------------------------------------------
? Project Summary
? -------------------------------------------
? Stages:
? dev ap-northeast-1
? Lambdas: 1
? Endpoints: 1
? -------------------------------------------
? Select Resources To Deploy
? -------------------------------------------
? slack/post
? L) lSlackPost
? E) /slack/post - POST
? - - - - -
? > Deploy Selected -->
? JAWS: -------------------------------------------
? JAWS: Dashboard: Deploying Lambdas...
? JAWS: -------------------------------------------
?
ハマりポイント
? CORSO協
? クロスドメイン宥佚のO協
? マネ`ジメントコンソ`ルからいじる
? APIキ`の恬撹とO協
? APIキ`をO協していても、JAWSでデプロイする
とo燭ってしまう1.4で鬉気譴襪蕕靴ぃ
? マネ`ジメントコンソ`ルからいじる
API
Gateway
Lambda Slack
Chrome
AnonymouSlack
Serverless Architecture
にvしてはこちらもご歌深ください
http://bit.ly/1MtBtLy

More Related Content

API Gateway + Lambdaで停兆Slack誘後APIをつくってみた