diary凡人の凡人による凡人のための備忘録この広告は、90日以上更新していないブログに表示しています。EngineeringTweet4回に分けて連載しましたが、本記事で最後となります。ここでは、Lambda関数の実装解説と、実践で困ったことを紹介します。前回の記事kitakitabauer.hatenablog.comインストールご紹介するコードを含めたツールは、実行が可能な状態でnpmかGitHubからインストールできます。前回までの手順を元にLambda関数をAWSに設定しておくことで、毎回AWSコンソールから実行することなくローカルでも実行できるようにしているのが特徴です。www.npmjs.comgithub.com実行する前に、aws-cliをグローバルにインストール・configureした後、AWSに設定した関数名を下記に渡してください。実際のコードを少しずつ解説します。AWS.EC2({});ローカルで実行する場合は、.envに必要な環境変数を指定して、それをdotenvで読み込んでいます。aws-sdkはAWS上で実行する場合は不要ですが、ローカルで実行するためにdependenciesに指定しています。呼び出すことができる関数です。コールバックパラメーターは省略可能で、呼び出し元に情報を返す場合には使用しますが、今回はslackにPOSTするだけなのでcallbackは呼びません。CloudこちらのAWSの公式APIを使ってイベント情報を取得しています。true"にすれば、Configurationでサブネットに指定したサブネット以外の全インスタンスのステータスが取れました。Logsに記録します。});}最後に取得した全イベントをslackに通知します。...}普通のJavaScriptでは、変数の存在判定でnullかどうかも判別できます。Lambda上ではできなかったので仕方なくerrがnullかどうかを指定しました。});}PropertyShorthandも使えませんでした。困ったのは、対応済のイベントもAPIで取得してしまうことでした。Webコンソールだと、下記のようなリクエストパラメータで、対応完了したイベントは取得しません。https://ap-northeast-1.console.aws.amazon.com/ec2/v2/home?region=ap-northeast-1#Events:resourceTypeFilter=all-resource-types;eventsStatusFilter=in-progress-and-scheduled-events;eventsTypeFilter=in-progress-and-scheduled-events"継続中と予定"を示す、"eventsStatusFilter=in-progress-and-scheduled-events"であれば、対応済のイベントは表示されませんが、"all-statuses"だと表示されてしまいます。APIのFilterパラメータ仕様を見ても、対応済のイベントを取得しない方法が見つからなかったので、下記のようにDecriptionの"[Completed]"で判断する運びとなりました。Echoに追加できたりと重要性が高まっているため、これ以外にも日常業務で使えそうなツールを開発していきたいです。EC2でサクッとgoを実行したいさくっと一時的にバッチ実行するインスタンスを立てたい。直近の業務で下記案件に対応する機会がありました。月別アーカイブリンクはてなブログブログをはじめる週刊はてなブログはてなブログProはてなブログをはじめよう!kitakitabauerさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。