Lambdaを使ったデータ変換機能が追加。Lambdaを使ったデータ変換機能が追加。Apacheログが簡単にJSON形式に変換可能に!AWS特集LambdaKinesis2016年12月22日せーの(269)130130件のシェア(ちょっぴり話題の記事)この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。こんにちは、せーのです。Firehoseになかなか強力な機能が追加されたのでご紹介します。これを待っていた今回ご紹介するのは「データ変換機能」です。所謂ETL(Extract、Transform、Load)処理と言われるもので、流れてくるデータを使いやすい形に加工した上で対象となるデータベースやデータレイクに書き出すものです。ApacheのログデータをS3に蓄積しておいて、後ほど分析に使いたいとします。Apacheのログってこんな感じですよね。2326この状態でS3に入っていた場合、分析に使うには一旦このデータをどこかのサーバに取り出し、分析用に加工して、もう一度データを貯め直す必要があります。Service等にデータを流し込めるのが特徴です。上のようなデータを流した場合、そのままS3などに入ってしまうので使いにくいですね。Functionを間にはさむことが出来ます。ここで来たデータを自由に加工して使いやすい形にした上でS3に流すことができるわけです。これは分析系の仕事をされる方には待ってました!な機能ではないでしょうか。LogをJSON形式に加工SyslogをCSV形式に加工SyslogをJSON形式に加工の4つの変換blueprintが既に用意されています。LogやSyslogの加工ならほぼワンクリックで出来てしまいます。なんか通販番組っぽくなってきました。やってみたそれでは早速やってみましょう。今回はApacheのログをJSONに変えてS3に保存してみたいと思います。Firehoseの設定まずFirehoseの設定です。Firehoseはまだ東京リージョンにはきていないのでバージニアリージョンで行います。Standardのもの)を用意し、Firehoseの送り先に設定します。Functionの設定欄が追加されています。function]をクリックします。使用できるBlueprintの一覧が出てきました。JSON]を選びます。ここからはLambdaの設定になります。Functionの設定画面になります。Functionを押すだけです。なんと、これでLambdaの設定はおしまいです。Functionを選択します。Lambdaのタイムアウトを1分以上にして下さい、という警告が出ています。Lambdaの設定からタイムアウトを変更します。Roleを作成してCreateすればOKです。Logsへのログ出力の権限、Firehoseの方はS3への出力とLambdaへのInvokeの権限が入っています。いずれも新規作成するとAWS側で自動に選択してくれるのでおまかせしてしまったほうがラクかと思います。テストさて、構築が完了しました。テストしてみましょう。IoTからデータを流してみたいと思います。Rulesを作成します。[test/transform]というTopicにデータがくるとFirehoseに流す、というものです。Logのログデータを1行流してみます。待ってS3を覗いてみます。データが出てきました。HTTP/1.0","response":"200"}JSON形式に加工されて出力されていますね。ログ形式じゃないときはどうなんでしょう。Firehoseのデモデータを流してみます。待つとFailデータとして出てきました。record","attemptEndingTimestamp":1482348551493,"rawData":"eyJUSUNLRVJfU1lNQk9MIjoiU0FDIiwiU0VDVE9SIjoiRU5FUkdZIiwiQ0hBTkdFIjotMC4zNywiUFJJQ0UiOjU1LjJ9","lambdaArn":"arn:aws:lambda:us-east-1:887464593869:function:test-transform:$LATEST"}Firehoseの中に入っているエンコード前のデータがエラー内容と共に出力されるようです。まとめいかがでしたでしょうか。この機能をうまく使うことでデータの加工、蓄積がより簡単にできますね。2,694,574せーのと申します。北海道にて犬2匹とともにのんびりコードを書いたりしています。最近は触れるデバイスをネットにつなげて遊ぶのにはまっています。リモート】クラスメソッドの会社説明会を開催しますクラスメソッドでは、AWS・AI・ビッグデータ・モバイルなどの技術職や営業のメンバーとして一緒にお仕事をする仲間を大募集しています。#cmdevio新型コロナウイルスの感染拡大を受け、本イベントを延期させていただくことになりました(開催時期未定)。お申し込みいただいた皆様には大変申し訳ございませんが、何卒ご理解いただけますようよろしくお願いいたします。AWSについてライトに色んな情報交換をしましょう。カフェ店長のオカノです。今日はオフィスに用があるので、通勤ラッシュを避けて出社しました。この子は新メンバーのさめくんです。在宅勤務が推奨されているのでオフィスが閑散としており、すこしさみしそうです。使いたいときの注意点を書きました。本が出ていたので読んでみたところよかったので紹介させていただきます。