【學長姐帶路】使用 AWS Lambda快速串接LINE Bot: Webhook

原標《AWS的雲端架構框架-資安篇》

文/Cancerpio

目前很多服務都有提供API Webhook的功能,當事件發生時,就可以把事件的資訊送到我們指定的目的地 。

【學長姐帶路】使用 AWS Lambda快速串接LINE Bot: Webhook
使用 AWS Lambda快速串接LINE Bot: Webhook

例如:我們可指定Git在commit時,通知CICD工具做自動測試 / 部署,以及LineBot在收到聊天訊息時,把訊息內容送到我們指定的API Endpoint (也就是API的網址),做進一步的程式處理。

而當測試這些Webhook功能,或者拿來開發最小功能產品(MVP)時,雲端Serverless服務是一個方便快速的方式 ,例如AWS Lambda。

AWS Lambda

需注意的是,剛開始接觸AWS服務架構時,點進去的架構圖有一個”Add Trigger”的選項,容易讓人誤以為API Gateway和Lambda這兩個服務是綁在一起的:

Function URL

但其實Lambda自身就有提供Function URL的功能, 不必加上API Gateway這個trigger,也能供外部以API Calling的方式,來把需要的資訊讓Lambda Function接收到。

API Gateway的限制

相較於Function URL API Gateway在被外界存取時,一定要透過IAM(AWS的身份驗證),較不利於專案初期的測試,例如只是想簡單的測試Linbot發出的Webhooke Event

要讓Lambda function用非IAM驗證 / 無驗證的方式開放給外界使用時,可以設定Function URL來快速的測試Webhook。

設定Lambda Function

  • 點擊Configuration 分頁, 在左側欄的Function URL設定

測試

在Line developer platform 點擊Verify去驗證API

使用API Gateway Endpoint測試Linebot webhook

會出現403 Forbidden

使用Lambda Function

如上圖,使用Lambda Function產生的URL就可以成功被Verify了。

※本文由 Cancerpio 授權勿任意轉載,原文《[AWS]使用 AWS Lambda快速串接LINE Bot: Webhook》

瀏覽 318 次

覺得不錯的話就分享出去吧!

發佈留言

Back to top button