node.js - 如何替换输出 lambda 函数 url 中的 'latest'?我怎样才能制作自己的资源?

标签 node.js rest amazon-web-services lambda claudiajs

我是 AWS Lambda 新手。

documentation 中所示,我使用 Claudia 在 AWS Lambda 上部署了以下示例:

'use strict';
console.log('Loading hello world function');

exports.handler = function (event, context, callback) {
    var name = "World";
    var responseCode = 200;
    console.log("request: " + JSON.stringify(event));
    if (event.queryStringParameters !== null && event.queryStringParameters !== undefined) {
        if (event.queryStringParameters.name !== undefined && event.queryStringParameters.name !== null && event.queryStringParameters.name !== "") {
            console.log("Received name: " + event.queryStringParameters.name);
            name = event.queryStringParameters.name;
        }

        if (event.queryStringParameters.httpStatus !== undefined && event.queryStringParameters.httpStatus !== null && event.queryStringParameters.httpStatus !== "") {
            console.log("Received http status: " + event.queryStringParameters.httpStatus);
            responseCode = event.queryStringParameters.httpStatus;
        }
    }

    var responseBody = {
        message: "Hello " + name + "!",
        input: event
    };
    var response = {
        statusCode: responseCode,
        headers: {
            "x-custom-header": "my custom header value"
        },
        body: JSON.stringify(responseBody)
    };
    console.log("response: " + JSON.stringify(response))
    callback(null, response);
};

我使用 Claudia 部署的命令是:

claudia create --region us-east-1 --deploy-proxy-api --handler main.handler

它创建了一个如下所示的 URL: https://40barfooxpyj.execute-api.us-east-1.amazonaws.com/latest

为什么我在 URL 中得到字符串 latest?我怎样才能使 URL 看起来像: https://40barfooxpyj.execute-api.us-east-1.amazonaws.com/api/jobs

最佳答案

听起来您想使用Claudia API Builder

就您而言,大致如下:

api.get('jobs', function(request) {
    return "Hello " + request.queryString.name + "!";
});

您还需要在创建命令中设置 --version,例如:

claudia create --region us-east-1 --deploy-proxy-api --handler main.handler --version api

关于node.js - 如何替换输出 lambda 函数 url 中的 'latest'?我怎样才能制作自己的资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44267270/

相关文章:

angularjs - Express Node 服务器中的 "SyntaxError: Unexpected token n"

json - 我可以/应该使用 YAML 作为 RESTful Web 服务中的有效负载吗?

amazon-web-services - 带有 HTTPS 的 AWS CloudFront 自定义域名不起作用

api - 如何以及在何处实例化扩展 WP_REST_Controller 的自定义类

java - 带空格的 URL rest api 参数

amazon-web-services - 如何使用 boto 长时间轮询亚马逊 sqs 服务?

amazon-web-services - HTTP API 网关中是否有等效的 REST API key ?

Javascript字典键存在于条件语句中

javascript - 在 node.js 中使用 XPath

mysql - Sequelize 如何在查询中格式化 sequelize.literal ('CURRENT_TIMESTAMP' )?