AWS API Gateway 允许您使用 Lambda 函数处理 REST API 请求。当您创建 REST API 时,您可以定义 API 路径(例如 /users)和 API 的 HTTP 方法(GET、POST、PUT 等)。但是,在某些情况下,您可能需要在 API 路径中使用值作为参数(例如 /users/{userID}),并将其传递给您的 Lambda 函数。 以下是一个示例,说明如何在 AWS API Gateway 中使用动态 URL 配置:
首先,您需要在 API 路径中定义使用变量作为参数的部分。在 /users/{userID} 中,{userID} 是一个变量,它表示用户的 ID:
/users/{userID}
其次,您需要在 Lambda 函数中获取该变量,并对其进行处理。Lambda 会将请求发送给您的函数时,包括在 URL 中的变量值将作为 JSON 对象的一部分提供。在示例函数中,event.pathParameters.userID 将包含路径中的 userID 变量。您可以按照需要使用它。
const AWS = require('aws-sdk'); const dynamoDb = new AWS.DynamoDB.DocumentClient();
exports.handler = (event, context, callback) => { const userID = event.pathParameters.userID; // Your code goes here... };
最后,您需要在 API Gateway 中添加映射模板以将路径上的变量传递给 Lambda 函数。在映射模板中,您可以指定变量的名称和值所在的位置。例如,如果您的 Lambda 函数期望与 "userID" 一起接收 JSON,那么您可以使用以下映射模板:
{ "userID": "$input.params('userID')" }
这将检索输入中 "userID" 参数的值,并将其放置在 JSON 有效负载中的 userID 属性中。您可以在 API 路径中添加任意数量的变量,并使用相应的映射模板传递它们。
在 API