LoginSignup
0
1

More than 3 years have passed since last update.

lamdaを使ってslackに通知する 覚書

Last updated at Posted at 2020-05-26

コンタクトページの内容をslackに通知させたい

静的サイトのコンタクトページをslackに通知させたいという話しです。
最初のwebhookとかの設定は既にやっていたので、あとはlamdaで関数を作成して、apiゲートウェイを設定していきました。

lamdaで関数を作る

lamdaの画面で関数を作成ボタンを押すと関数が作成できます。
下の方にエディタの画面がでてくるので、そこに入力していきます。

こんな感じで作成しました。

index.js

const https = require('https');

exports.handler = (event, context, callback) => {
  const payload = JSON.stringify({
    text: `\n\n会社名: ${event.company}\n 所在地: ${event.address}\n 担当者: ${event.name}\n メールアドレス: ${event.email}}`,
  });

  const options = {
    hostname: "****.****.com",
    method: "POST",
    path: "/services/*******/*******",
  };

  const req = https.request(options,
      (res) => res.on("data", () => callback(null, "OK")))
  req.on("error", (error) => callback(JSON.stringify(error)));
  req.write(payload);
  req.end();
}

export.handlerとは:handlerはイベントを処理するlamda関数内のメソッド。関数を呼び出すとメソッドが実行され、レスポンスが返ってきたら、別の処理をするようになる。
export.handlerの引数について、ハンドラーの引数は全部で三つあります。
1. event :最初の引数は呼び出し元からの情報を含むeventオブジェクトです。
2. context :
3. callback :
callbackとは
res.onはdataを指定して使用することで、パース処理を開始している。
req.writeとは:サーバ側へHTTPリクエストのボディデータは送信されます。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1