2017-06-22 53 views
0

我是AWS的新手,我正在設置一個API網關,它將調用一個將數據發佈到Kinesis Stream的Lambda函數。 API網關發佈請求將包含幾個請求參數。何時應使用AWS API網關代理集成?

我正在閱讀AWS文檔,我看到了2個用於訪問請求參數的選項。

1)通過通過代理集成doc

的$輸入變量doc

2)能否請您解釋爲代理集成VS使用輸入變量的使用情況?

回答

1

基本上,如果您控制後端集成接口(就像使用Lambda函數一樣),應該使用「代理」集成,因爲在API函數代碼中處理數據比在API網關轉換中操作要容易得多。

如果您不控制後端集成接口(例如直接Kinesis或傳統HTTP端點),那麼您可以使用映射模板來轉換客戶端與後端集成之間的數據。

這有道理嗎?對於使用Lambda的用例,您應該使用代理。如果您想嘗試直接將Kinesis用作後端,則必須使用映射模板來構建對Kinesis的正確請求。

+0

謝謝,這是有道理的。當使用代理將請求參數傳遞給Lambda函數時,如何在函數中單獨訪問每個參數?我正在看一個例子,我們可以得到像這個event.pathParameters.proxy這樣的單個參數。但是這會將所有參數結合在一起。 – bzak

+0

還是我需要在lambda端使用其他邏輯來解析這個結果? – bzak

+0

如果您使用{proxy +}這樣的'貪婪'路徑參數,那麼您只需將整個路徑作爲參數值。你可以在函數中解析它。 –

相關問題