我有一個C#方法,我已成功發佈爲AWS Lambda函數。它看起來像這樣:如何將查詢字符串值從AWS API網關傳遞到Lambda C#函數
public class MyClass
{
public async Task<APIGatewayProxyResponse> Test(APIGatewayProxyRequest request, ILambdaContext context)
{
return new APIGatewayProxyResponse
{
Body = "Body: " + request.Body
+ Environment.NewLine
+ "Querystring: " + (request.QueryStringParameters == null ? "null" : string.Join(",", request.QueryStringParameters.Keys)),
StatusCode = 200
};
}
}
我做了以下通過Web界面來配置我的API網關:
- 創建一個新的API
- 創建一個新的資源名稱爲「MyClass的」和路徑「/ myclass」
- 爲資源創建新的GET方法,使用「Lambda函數」作爲集成類型,並指向我的Lambda函數。
我希望能夠打電話給我這樣的lambda函數(不傳入請求的任何指定的頭): https://xxx.execute-api.us-east-2.amazonaws.com/prod/myclass?paramA=valueA¶mB=valueB
我不確定如何讓我的查詢字符串參數通過傳遞給拉姆達功能。無論我嘗試什麼,request.QueryStringParameters始終爲空。
這裏的正確程序是什麼?
嗨,那是我嘗試過的一件事情 - 請問您可以更具體地瞭解我的身體映射模板或Lambda函數的具體含義? – cbp
請看看,https://aws.amazon.com/blogs/compute/using-api-gateway-mapping-templates-to-handle-changes-in-your-back-end-apis/ –
嗯,那鏈接已過時 - 我相信在撰寫文章後,AWS界面在2016年發生了變化。不幸的是,遵循這些指令會導致相同的NullReferenceException。 – cbp