7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

kintone WebhookとAWS Lambdaの連携方法をより詳しく説明する!

Last updated at Posted at 2021-05-17

はじめに

業務でFormBridgeからkintoneに対してデータを登録した際に、条件によってメールを通知するというシステムを作りました。FormBridgeからメール通知のシステムに対してAPIの呼び出しができなかったため、kintone WebhookとAWS Lambdaを連携するようシステムの構築を行いました。
今回はkintone WebhookとAWS Lambdaの連携方法についてより詳細に説明していきます!
※メール通知はSendGridを使用しました。ここでは紹介しません。

こんなイメージです!
image.png

Lambdaの環境準備

関数の作成

  1. Lambda>関数から関数の作成ボタンを押下する。
  2. 以下内容を入力し、関数の作成ボタンを押下する。
項目
オプション 一から作成
関数名 任意
ランタイム 使用言語
アクセス権限 既存のロールを使用する

レイヤーの作成

■初回作成時

  1. Lambda>レイヤーからレイヤーの作成ボタンを押下する。
  2. 以下内容を入力し、作成ボタンを押下する。
項目
名前 任意
説明 任意
ファイル .zipファイルをアップロード
互換性のあるランタイム 使用言語
ライセンス 任意

※【ファイル】実行する処理を記述したファイル
※ 今回はNode.jsを使用しました

■2回目以降

1、Lambda>レイヤー>対象のレイヤー画面のバージョンの作成ボタンを押下する。
2、初回作成時と同様の内容を入力し、作成ボタンを押下する。

関数とレイヤーの紐づけ

■初回作成時

1、Lambda>関数>対象の関数のレイヤーのレイヤーの追加ボタンを押下する。
image.png

2、以下の内容を入力し、追加ボタンを押下する。

項目
カスタムレイヤー
お客様のレイヤー 上記で作成したレイヤー
バージョン 1

■2回目以降

1、Lambda>関数>対象の関数のレイヤーのレイヤーの追加ボタンを押下する。
2、以下の内容を入力し、追加ボタンを押下する。

項目
カスタムレイヤー
お客様のレイヤー 上記で作成したレイヤー
バージョン 1番新しい番号

※バージョンは作成されるたびに上がっていく

API Gatewayの環境準備

APIの作成

1、API Gateway>APIを作成作成ボタンを押下する。
2、以下の内容を入力し、作成ボタンを押下する。

項目
ロググループ名 任意
保持期間の設定 任意

その他設定

1、API Gateway>API>リソース>アクション>リソースの作成を押下する
image.png

2、作成したリソースを押下し、アクション>メソッドの作成を押下しPOSTを選択する
3、以下の内容を入力し、保存ボタンを押下する

項目
統合タイプ Lambda関数
Lambdaプロキシ統合の使用
Lambdaリージョン ap-northeast-1
Lambda関数 上記で作成したLambda関数名
デフォルトタイムアウトの使用

4、アクション>APIのデプロイ

項目
デプロイされるステージ 新しいステージ
ステージ名 任意

※同様にOPTIONSメソッドも以下内容を入力し作成する

項目
統合タイプ Mock

CloudWatchの環境準備

ロググループの作成

1、CloudWatch>ロググループからロググループを作成ボタンを押下する。
2、以下の内容を入力し、作成ボタンを押下する。

項目
ロググループ名 /aws/Lambda/上記で作成したLambda関数名
保持期間の設定 任意

kintone webhookの設定

1.アプリの設定タブからWebhookを選択します。
image.png
2.以下の値を入力する。

項目
WebhookURL 作成したLambda関数に紐付けた API Gateway の エンドポイント/API Gatewayで作成したステージ名/API Gatewayで作成したリソース名
通知する条件 任意
有効化

※私は通知する条件はレコードの編集のときのみ✔を入れました。今回はkViewerのMyページURLを生成する必要があり、初回はkintoneにデータを登録する際に2回処理が走るためです。

kintone webhookからログの確認

1.対象のアプリの設定画面からWebhookの画面に遷移する。
2.ログを確認を押下し、確認画面に遷移する。
image.png

遷移すると今までのログの確認が行えます。
image.png

image.png
通知に成功したことを表します。
image.png
通知に失敗したことを表します。

※CloudWatchのログも並行して確認します。

さいごに

今回、WebhookやAWSなど慣れないシステムを使用したため、自分にできるかと不安でした。しかし、やってみると案外簡単に構築できるということが分かり苦手意識が少し克服できました!

7
3
1

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
7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?