Screaming Loud

日々是精進

vueとtypescriptでtemplateを作ってみた

vue.jsでWebアプリ作ってみようと思い、テンプレートを作ってみました。

vue-loaderが15.x系だと書き方が変わっていたので、それに追従してみました。

やったこと

  1. vue-cliで構築 $vue init webpack-simple hello-simple
  2. vue-loaderを15系にバージョンアップ
  3. typescriptの導入
  4. lintの導入

多分すぐバージョンが上がって陳腐化してしまうだろうけど、一応メモとして残しておきました。

導入

npmが入ってなければbrewなどで最新版のnpmをいれておいてください。

$ npm install
$ npm run dev

上記でnodeのサーバが立ち上がりソースを変更すると反映されるサーバが立ち上がります。 github.com

lambdaでSNSからS3イベントを取得する

最近Goを書き始め、LambdaをGoで動かすものを書き始めたので、メモ。

やること

S3にオブジェクトが置かれたときに、SNSを経由してlambdaをキックする。

SNSTopic

S3からオブジェクトが登録されたときのイベントを受け取るには、最低でもPutとCompleteMultiPartUploadを設定しておくとよいです。 f:id:yuutookun:20180612210052p:plain

参考: S3 バケットのイベント通知を有効化および設定する方法 - Amazon Simple Storage Service

実装

main関数は起動したときに呼ばれます。 lambdaインスタンスが落ちるまでmain関数は再度呼ばれないので、初期化周りはmainで実行します。

handlerに関しては、以下に書いてあるようにcontextを受け取ることもできます。

Lambda 関数ハンドラ (Go) - AWS Lambda

SNSイベントにはMessageとしてjsonで入ってくるので、自分でaws.S3Event の形にmarshallしてあげると良いです。