Logic Apps, Azure Functions を使い 全自動ついふぁぼ機をサーバーレスで作った。
勉強会を主催したときに参加者の人がイベントページをつぶやいてくれた時に ふぁぼりたい★ というのはよくあると思います。
そんな時に、気軽に自動ふぁぼプログラムを作れるようにサーバーレスで作成してみました。
作成にかかった時間
- 1時間
使用したもの
- Azure Functions
- Logic Apps
- NodeJS
- npm Twitter module
プログラムの構成図
- Twitter より新しい呟きを Logic Apps で検知
- 呟きの情報を Azure Functions へ
- Azure Functions は呟きの情報を使い ふぁぼ!
- Azure Functions
- Logic Apps
- NodeJS
- npm Twitter module
プログラムの構成図
- Twitter より新しい呟きを Logic Apps で検知
- 呟きの情報を Azure Functions へ
- Azure Functions は呟きの情報を使い ふぁぼ!
内容
新しい呟きを Logic Apps より取得
Logic Apps のTwitterトリガーを使い新しいツイートがされるたびに起動するようにしています。
工夫した点は、検索文字列の「ブイアールサンダー lang:ja -RT」で
- lang:ja にすることで日本語ツイートに限定
- -RT にすることでリツイートは除外しています
あとは、 Azure Functions を Logic Apps から呼び出しています。
ツイートの情報を利用していいね!
Azure Functions 側の話に移ります。
JS で作成しています。
Twitter をJSから叩けるパッケージの導入
Azure Functions のコンソールより適当に npm の導入とパッケージのインストールを行います。
npm init -y
npm install Twitter
パッケージの公式ドキュメントを参考にしました。
環境変数のセットアップ
コードにTwitterとの接続情報を記入してもいいのですが、環境変数に記入することで Azure Functions を使いまわせるかなと思ったのでそうしました。
Azure Functions > アプリケーション設定
より導入しました。
Azure Functions の コード
module.exports = function (context, data) {
// Twitter パッケージの導入
var Twitter = require('twitter');
var input = data;
// Twitter クライアントの作成
var client = new Twitter({
consumer_key: process.env.TWITTER_CONSUMER_KEY,
consumer_secret: process.env.TWITTER_CONSUMER_SECRET,
access_token_key: process.env.TWITTER_ACCESS_TOKEN_KEY,
access_token_secret: process.env.TWITTER_ACCESS_TOKEN_SECRET
});
client.post('favorites/create.json', {id: input.tweetId});
context.done();
};
まとめ
Logic Apps を利用してツイートをトリガーにするのは楽。
npm の Twitter パッケージを使うと楽。
Author And Source
この問題について(Logic Apps, Azure Functions を使い 全自動ついふぁぼ機をサーバーレスで作った。), 我々は、より多くの情報をここで見つけました https://qiita.com/fumiya-kume/items/edc3b01b8143863e4fd4著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .