CodeZine(コードジン)

特集ページ一覧

オープンソースのサーバレス実行環境「OpenWhisk」の概要とアプリケーションの作成

IBM Bluemix User Group(BMXUG)リレー寄稿 第2回

  • LINEで送る
  • このエントリーをはてなブックマークに追加

目次

Slackに通知する処理の作成

 次に先ほど作成した「getWeatherNews」で取得したデータをSlackに送信する処理を作成していきたいと思います。方法として自身でgetWeatherNews内にコードを書いてしまう(実際はSlackに送信する程度の場合には短いコードでかけてしまいます)などもできますが、OpenWhiskにはActionを共有したりまとめたり(Package)する機能があり、Slackに送信する機能も標準で用意されています。今回はこの用意されているパッケージを利用したいと思います。

 ActionとActionをつなげるためには「Sequence」(CliなどではChainと呼ばれている機能)と呼ばれる機能があります。これはイメージ的にはUNIXのパイプのような処理になり、Action間はJSON形式で値を引き渡しながら逐次処理が行われます。

 実際に画面上からSlackへ送る機能をつなげてみます。「Link Into Sequence」をクリックします。

 今回は「SLACK」を選択します。

 もう一つActionの機能には「標準」の引数を決める機能があります。CliではAction自身にも設定できますが、Webでは規定のパッケージにしかまだできないようです。今回はこの「SLACK」パッケージ内の「post」Actionを利用します。引数を受け渡すためには、本来であればJSON Inputで行う必要があります。作成したgetWeatherNewsのOutputのJSONには「post」Actionで必要な "text"データしか含まれていませんので、それ以外の値を「標準」の引数として設定をしておく必要があります。そのためには画面の左下にある「New Binding」を選択します。

 ここにSlackに送るための標準の値を入れてしまいます。名前は「mySlackChannel」としておきます。設定が終わったら「Save Configuration」をクリックします。そして「Add to Sequence」をクリックすると、でき上がります。

 このようなかたちでつながっていれば問題ありません「This Looks Good」をクリックして完了します。

 名前を「weather2slack」としてSequence名を付けました。実際にこの作成したSequenceを実行してみます。

 この機能がJavaScriptでできているようで実行画面がJavaScriptなのです。先ほど getWeatherNewを実行した時と同様に、JSON Inputに値を入力して「Run Withs This Value」をクリックします。

 Slack側に上記のように通知されていれば成功です。iconを指定すればもう少し見栄えがよくなりますね。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:IBM Bluemix User Group(BMXUG)リレー寄稿

著者プロフィール

  • 常田 秀明(Bluemix User Group)(トキダ ヒデアキ)

    日本情報通信(株) クラウドエバンジェリスト。 ネットワーク、監視プロダクトのエンジニアを経験したのちシステムの設計、運用、保守のPMを経て近年クラウドを推進する立場で活動をしています。主にお客様の導入支援、クラウドの啓蒙活動、コミュニティ活動に従事。

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5