我們需要按照請(qǐng)求發(fā)生的順序保存請(qǐng)求的歷史記錄。每個(gè)日志條目都包含有關(guān)請(qǐng)求的信息,包括客戶端 IP 地址、請(qǐng)求日期/時(shí)間、請(qǐng)求路徑、HTTP 代碼、提供的字節(jié)數(shù)、用戶代理等。適用于 Go 的 Moesif AWS Lambda 中間件
我們將定義函數(shù)的配置選項(xiàng)。有關(guān)更多詳細(xì)信息,請(qǐng)參閱Moesif 配置選項(xiàng)
func MoesifOptions() map[string]interface{} {
var moesifOptions = map[string]interface{} {
"Log_Body": true,
}
return moesifOptions
}
現(xiàn)在,我們將添加Moesif Middleware到我們的 lambda 函數(shù)。
func main() {
lambda.Start(moesifawslambda.MoesifLogger(HandleLambdaEvent, MoesifOptions()))
}
集成后,我們將看到所有 API 調(diào)用都被捕獲并發(fā)送到 Moesif。
身份驗(yàn)證請(qǐng)求包含憑證,響應(yīng)包含安全令牌,在日志中記錄憑證和令牌是不安全的。使用 Moesif,我們可以安全地提取所需的信息,同時(shí)保持安全性,并且不需要對(duì)我們的代碼庫(kù)進(jìn)行大量更改。使用Mask_Event_Model配置選項(xiàng),我們可以屏蔽請(qǐng)求/響應(yīng)標(biāo)頭字段或請(qǐng)求/響應(yīng)主體以保護(hù)身份驗(yàn)證信息的機(jī)密性。此外,如果我們想刪除對(duì) Moesif 的日志記錄請(qǐng)求和響應(yīng)主體,我們可以將Log_Body配置選項(xiàng)設(shè)置為false。我們還可以捕獲從我們的應(yīng)用程序到第三方(如 Stripe、Github)或我們自己的內(nèi)部 API 的所有傳出 API 調(diào)用。
要了解您的 API 的使用方式,請(qǐng)捕獲 API 請(qǐng)求和響應(yīng),并記錄到 Moesif,以便通過(guò) AWS Lambda 分析和實(shí)時(shí)調(diào)試您的 API 流量。有關(guān)如何集成 Moesif 的更多詳細(xì)信息,您可以從 git clone 并運(yùn)行此示例應(yīng)用程序GitHub
原文地址:https://www.moesif.com/blog/aws-lambda/go/How-to-Log-API-Calls-for-AWS-Lambda-Go-functions/