AWSの話題を中心に、日々の業務やプログラミングの徒然を綴るエンジニアブログです。

HANDS LAB

HANDS LAB ENGINEERS BLOG

ハンズラボエンジニアブログ

12

カテゴリー: Python

CodePipelineの進行状況をSlackに通知する


こんにちは。百木田です。
CI、回してますか?

CodePipelineで実行するステージの進行状況を手軽に見たいと思い、Slackに流れるようにしたので共有します。

ポイントとしては、CodePipelineからLambda functionを呼ぶのではなく、CloudWatchイベントでCodePipelineステージのステータスの変化を検知してLambda functionを呼び出します

今回はできるだけシンプルにするために、すでにCodePipelineは作成済みの想定で、すべてのステージにおけるSUCCEEDEDFAILEDのステータスを通知します。なのでCodePipelineに変更は必要ありません。
また、Slack Botを作成しトークンを発行して使っていますがIncomming Webhookでも同じようなことはできるかと思います。

Serverless Frameworkを使ってCloudWatchイベントの設定と、slackに通知するためのLambda functionをデプロイします。

環境

ディレクトリ構成

デプロイ

コードは記事の下の方に書いときます。上記のディレクトリ構成のように配置したらデプロイします。

デプロイできたらCodePipelineを動かしてみます。そうするとslackにこのような通知が来るかと思います。

いつの実行結果なのかをトレースできるようにCodePipelineの実行IDの前半7桁を表示しています。この辺はお好きにカスタマイズしてみてください。

まとめ

CloudWatchイベントの検知がリアルタイムじゃないので、CodePipelineの進行と通知にラグがあったり、前のステージの実行完了と次のステージの実行開始の通知が前後することなどもありますが、実行結果がわかればいいかなくらいの感じなので気にしないことにしてます。

ありがとうございました。

以下、コードたち

status_notification.py

serverless.env.yml

serverless.yml

※ detailのセクションを消すと、すべてのステータスが検知対象になります。


Kinesis FirehoseがS3に出力したファイルを1レコードずつ読み込む


皆々様、お久しぶりのブログ更新です。

Kinesis FirehoseがS3に出力したファイルをPythonでモニャモニャしたいと思っていたところ以下のことでつまづいてしまいました。

1つのファイルに複数レコード出力されている場合、改行(区切り文字)がなく1レコードずつ読み込めない!

改行とか入っていて、1行ずつ読み込むんだろう・・・みたいな想像を勝手にしていたのでちょっとつまずいてしまいました。

AWSのデモデータをKinesisFirehoseに流すと実際のファイルはの中身は下記のようになります。

こういったJsonストリームデータをPythonで処理する時ってどうしたらいいんだろうと調べていたらjsonライブラリにJSONDecoderというのがあるのを見つけました。

下記サンプルです。

これを実行すると下記のように出力されました〜。

そうです、この記事・・・単にストリームデータの読み込み方についての記事です!KinesisFirehoseは完全に引きです!

でもストリームデータを扱うことは個人的には今後も増えそうなので今回調べておいてよかったです!

ではでは〜。


ハンズラボ 初の新卒新人研修やってます 講師の視点から編


 臼井です。
最近は、4月に入社した、ハンズラボ初の新卒エンジニアのみなさま4名とキャッキャウフフする毎日です。
そう、ハンズラボも他企業様と同様に、絶賛新人研修中でなのです。

2016-04-21_053836051_00586_iOS_small

 写真は弊社ではなく、本日 One Day Outing にてお邪魔した、 Studio Geeks 様での新人さんの風景です。

2016-04-21_053849598_A143C_iOS_small

Google 関連技術で著名な 株式会社トップゲート様 運営なので、ドロイドくんがいたり、GCP, Android 関連の書籍がいっぱいあります。

 突然ですが、説明のため、ハンズラボ(及び東急ハンズIT部門)における、
新人(新卒入社、もしくは東急ハンズ他部門からのIT部門・ハンズラボへの異動) メンバーの受け入れに関する現状を、以下に示します。

続きを読む ハンズラボ 初の新卒新人研修やってます 講師の視点から編


はじめまして、ハンズラボにJOINした吉田です


皆様、はじめまして。
先日(1月中旬)ハンズラボにエンジニアとしてJOINした吉田です!
エンジニアブログ、頑張っていきます!

前職

2014年に新卒入社した会社でインフラエンジニアとして働いていました。
主にオンプレのWindowsServer(AD周り)の保守運用などの仕事に従事しつつ、AWSに恋をして夜な夜な一人でEC2と遊んでいました。
憧れのAWS環境でのお仕事なので頑張りつつ、認定資格5冠Tシャツ目指します。

1本目のエンジニアブログはLambdaに関して書いていこうと思います。

続きを読む はじめまして、ハンズラボにJOINした吉田です


12