首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >api网关中2个api如何共享相同的lambda函数和不同的环境变量

api网关中2个api如何共享相同的lambda函数和不同的环境变量
EN

Stack Overflow用户
提问于 2020-12-04 18:49:15
回答 1查看 49关注 0票数 0

我目前有一个名为“cms- api”的api,其中包含一个dynamodb扫描函数。

getOrganization.js

代码语言:javascript
复制
'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}`;
    }
}

“组织”表具有以下属性

代码语言:javascript
复制
------------------------------------------
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

EN

回答 1

Stack Overflow用户

发布于 2020-12-04 20:05:44

通常,您会考虑在您的应用程序接口网关中使用stage variables。它们允许您:

您还可以使用阶段变量通过映射模板将配置参数传递给

函数。例如,您可能希望在中为多个阶段重用相同的Lambda函数,但该函数应根据调用的阶段从不同的Amazon DynamoDB表中读取数据。在为Lambda函数生成请求的映射模板中,可以使用阶段变量将表名传递给Lambda.

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65142177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档