Help us understand the problem. What is going on with this article?

AWS LambdaとIFTTTでお手軽にpush通知を実現する

More than 3 years have passed since last update.

ひさびさにIFTTTをいじってたら、Maker Channelができたことを知ったので、AWS LambdaとIFTTTでpush通知を実現してみた。
今回は単純に Hello from Lambda! をLambda->IFTTT経由で通知させてみる。

Maker ChannelはWebhookURLを提供してくれるので、そこにGETかPOSTでリクエストをするとトリガーとなってくれる。

IFTTT側の設定

Recipe_31042250_-_IFTTT.png

  1. https://ifttt.com/maker でSecretKeyを取得する
  2. Trigger(this)を「Maker」、Action(that)を「IF Notifications」でRecipeを作る
    • このとき入力したevent nameはWebhookURLの一部になる
  3. RecipeのNotification(push通知内容)に {{Value1}} を入力して保存する

Lambda(Node.js)のコード

https://github.com/kawahiro311/aws-lambda2ifttt

console.log('Loading function');

var https = require('https');

var iftttEventName = 'sample_lambda_event'; // IFTTTで作ったRecipeのEventName
var iftttSecretKey = 'YOUR SECRET KEY'; // MakerChannelのSecretKey

var body = JSON.stringify({ value1: 'Hello from Lambda!' });

var options = {
    hostname: 'maker.ifttt.com',
    path: '/trigger/'
        + iftttEventName
        + '/with/key/'
        + iftttSecretKey,
    method: 'POST',
    headers: {
        'Content-Type': 'application/json',
        'Content-Length': body.length
    }
};

exports.handler = function(event, context) {
    https.request(options, function (res) {
        res.setEncoding('utf8');
        res.on('data', function(str) {
            console.log(str);
        });
        context.succeed(res.statusCode);
    }).write(body);
};

注意点

IFTTTに渡せる変数は value1 value2 value3 のみなので注意

実際のpush通知キャプチャ

写真 2015-12-13 19 22 23.png

まとめ

IFTTTのMakerChannel便利!
今回は決まった文字列を通知させただけだったのでLambdaである必要性はないですが、イベントと連動して何かを通知させるのもいいし、Lambdaがcron対応したので凝ったリマインダーみたいのも作れていろいろ有用そうー

ひとりごと

LambdaのRuby対応はやくこないかなー(´・ω・`)

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away