【问题标题】:AWS Lambda Post, Delete, Put request in Node jsAWS Lambda Post、Delete、Put 请求在 Node js 中
【发布时间】:2020-11-05 12:42:20
【问题描述】:

我真的是 AWS devops 的新手。我创建了一个 Dynamo db 数据库。然后创建API GATEWAY 并连接到我的 LAMBDA 函数。我在 Dynamodb 中手动添加了数据。我制作了 API 网关 cors 源并将其设为公共 API。我使用POSTMAN 测试我的api 端点。在Lambda 函数中我使用scan 方法。现在我有了另外三个 api 端点,它们是 POSTPUTDELETE 方法。但我不知道如何在 Lambda 函数中添加这些方法。

这是我的 Lambda 函数

const AWS = require('aws-sdk');
const docClient = new AWS.DynamoDB.DocumentClient({region: 'us-east-1'});

exports.handler = function(event, context, callback){

    let scanningParameters = {
        TableName: 'studentTable'
    };

    
    docClient.scan(scanningParameters, function(err,data){
        if(err){
            callback(err, null);
        }else{
 
            callback(null,data.Items);
        }
    });
    
   
}

【问题讨论】:

    标签: amazon-web-services aws-lambda amazon-dynamodb aws-api-gateway


    【解决方案1】:

    您可以为每个 HTTP 方法创建一个 lambda,例如为getStudent 创建一个 Lambda,为deleteStudent 等创建一个 Lambda。

    否则,您可以在 API-Gateway 事件中检查 HTTP-Method,您的 Lambda 会获取该事件并相应地处理请求。

    【讨论】:

    • 你能给我看一个例子吗,Lambda HTTP 方法。
    【解决方案2】:

    在 var 事件中,您有请求的类型(GET、PUT、DELETE、...),您可以进行 switch case 或 if..else 连接。您还可以为每个 HTTP 方法创建不同的函数到 lambda,因此您的资源 /student 中的 GET 方法将调用 getStudent lambda 函数,您的资源 /student 中的 PUT 方法将调用 addStudent lambda 函数等

    例如,我有这个:

    我有 2 种方法来获取 /cash 资源。

    此 GET 方法调用 getCash lambda 函数

    此 POST 方法调用 addCash lambda 函数

    正如我提到的,如果你打印 var 事件,你会得到:

    {'resource': '/categories', 'path': '/categories', 'httpMethod': 'GET', 'headers': {'accept': 'application/json, text/plain, */*',.......}
    

    您可以使用 httpMethod 进行 switch case 或 if else 连接。

    我用python做的,会是这样的:

    if event['httpMethod']=="GET":
       do something
    else if event['httpMethod']=="PUT":
       do something
    

    随便问,

    希望能帮到你。

    【讨论】:

    • 真的很抱歉回复晚了。你知道node-js怎么做吗?
    猜你喜欢
    • 1970-01-01
    • 2015-05-17
    • 1970-01-01
    • 2015-05-08
    • 1970-01-01
    • 2018-05-04
    • 2018-02-19
    • 1970-01-01
    • 2010-09-26
    相关资源
    最近更新 更多