我目前有一个名为“cms- api”的api,其中包含一个dynamodb扫描函数。
getOrganization.js
'use strict'
const AWS = require('aws-sdk');
exports.handler = async function (event, context, callback) {
const documentClient = new AWS.DynamoDB.DocumentClient();
let responseBody = "";
const params = {
TableName : "Organization"
};
try{
const data = await documentClient.scan(params).promise();
}catch(err){
responseBody = `Unable to get Organization: ${err}`;
}
}“组织”表具有以下属性
------------------------------------------
Id isActive name
1 true tim
2 false tom
3 true ken
4 true joe
------------------------------------------稍后,我在api网关中创建了另一个名为web-api的api,
我想在我的资源中使用相同的lambda函数getOrganization.js。
但是getOrganization.js应该只返回isActive = true的数据。
有可能吗?或者我应该每次都创建一个新的lambda函数?
在此之前附上了我的考虑。
should I create Public api based on the current internal api
发布于 2020-12-04 20:05:44
通常,您会考虑在您的应用程序接口网关中使用stage variables。它们允许您:
您还可以使用阶段变量通过映射模板将配置参数传递给
函数。例如,您可能希望在中为多个阶段重用相同的Lambda函数,但该函数应根据调用的阶段从不同的Amazon DynamoDB表中读取数据。在为Lambda函数生成请求的映射模板中,可以使用阶段变量将表名传递给Lambda.
https://stackoverflow.com/questions/65142177
复制相似问题