使用 aws-sdk 从 javascript(reactjs) 调用 lambda(node/express - 无服务器快速路由)

2023-12-26

Reactjs

const result = await invokeLambda(points);

调用Lambda.js

const AWS = require("aws-sdk");

AWS.config.update({
      accessKeyId: "id",
      secretAccessKey: "AccessKey",
      region: "region"
})

const lambda = new AWS.Lambda();

export const invokeLambda = async (points: any) => {

    console.log("manual lambda call being made");

    return lambda.invoke({
        FunctionName: 'my-lambda-fn',
        InvocationType: 'RequestResponse',
        Payload: JSON.stringify({
          path: '/api/v5.1/points',
          body: JSON.stringify(points)
        }),
      }).promise();
}

节点/express (AWS-lambda)

const express = require("express");
const awsServerlessExpress = require("aws-serverless-express");
const app = express();
const server = awsServerlessExpress.createServer(app)
const cors = require("cors");
...
...

const pointsRoute = require("./src/routes/points.route");

...

app.use(`/api/v5.1/points`, pointsRoute);


module.exports.handler = (event, context) => {
    console.log("Event", event);                              // I can see this log in cloudwatch
    console.log("Context", context);                          // I can see this log in cloudwatch
    return awsServerlessExpress.proxy(server, event, context);
}

点控制器.js

exports.postPoints = (req, res, next) => {                    // not hitting controller
  console.log("hitting postPoints controller method", req);   // not logging this line
  console.log("req object", req);

  ...
  ...
}

Error

    {
    "statusCode": 404,
    "body": "{\"message\":\"Requested Endpoint doesn't not exist\"}",
    "headers": {
        "x-powered-by": "Express",
        "access-control-allow-origin": "*",
        "content-type": "application/json; charset=utf-8",
        "content-length": "50",
        "etag": "W/\"32-/IMs3l+8ZFAcgBIVWVRYcOV6Gbk\"",
        "date": "Tue, 25 Apr 2023 04:07:12 GMT",
        "connection": "close"
    },
    "isBase64Encoded": false
 }

从浏览器调用

Request URL: https://lambda.whatever-region.amazonaws.com/2015-03-31/functions/my-lambda-fn/invocations
Request Method: POST
Status Code: 200 

上面的网络调用对吗?

我不确定我做错了什么,但控制器方法没有受到影响。


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 aws-sdk 从 javascript(reactjs) 调用 lambda(node/express - 无服务器快速路由) 的相关文章

随机推荐

  • 使用 /Logger 运行时 VSTest.Console:Console 不打印测试方法的调试输出

    我正在使用 Visual Studio 2015 我试图打印一些语句只是为了跟踪一个很长时间运行的测试 当将 VSTest Console 与 Logger trx 一起使用时 调试输出 无论我们使用 Console WriteLine D
  • 获取每个页面错误的信号

    我想在我的应用程序中设置一个信号处理程序 以便内核在处理页面错误陷阱时发送一个信号 我当然可以使用SIGSEGV信号处理程序 但我真正感兴趣的是捕获写时复制时发生的页面错误 例如 在 fork 之后 后面没有执行 exec 如果原始进程尝试
  • XCode 4.3 通过输入自动在 TextView 中从剪贴板文本

    我在iPhone模拟器和iPhone设备上找不到有关剪贴板的一些信息 我有一个 textView 当我输入 textView 时 我想查看剪贴板中的文本 我希望有人能帮助我 此致 约翰 也许看看UIPasteboard类参考 https d
  • 点到多面体或多边形的距离

    我有一个多面体表面 我想找到它与给定点之间的最小距离P 由于多面体是由 3d 空间中的许多多边形定义的 因此我想到的一种方法是比较到每个多边形的距离并选择最短距离 我仍然不确定 Gilbert Johnson Keerthi 的实现 htt
  • Spring Cloud - hystrix-dashboard 不工作?

    Spring Cloud Hystrix 断路器模式示例 我在代码中添加了以下依赖项https howtodoinjava com spring spring cloud spring hystrix Circuit breaker tut
  • 通过更改底层数组动态更新 dom-repeat 模板

    是否有 Polymer dom api 方法或其他方法可以使用附加元素自动更新重复模板 如果底层数组需要更新 我有一个动态数组 它通过 ajax 调用重复进行更新 该数组不断改变其长度 元素根据 ajax 响应增量添加或删除 该数组通过以下
  • 根据活动数据创建 id 列

    我有一张桌子EVENTS USER EVENT TS EVENT TYPE abc 2016 01 01 08 00 00 Login abc 2016 01 01 08 25 00 Stuff abc 2016 01 01 10 00 0
  • 如何读取 Windows 7 上的启动时间事件?

    我尝试使用 ETW 函数读取文件但没有成功 C Windows System32 winevt Logs Microsoft Windows Diagnostics Performance 4Operational evtx 为了捕获启动时
  • 在运行时将实例方法设为私有

    在另一个对象中注册该对象后 我需要将一些实例方法设为私有 我不想冻结该对象 因为它必须保持可编辑状态 只是功能较少 我不想取消定义这些方法 因为它们是在内部使用的 我需要的是这样的 class MyClass def my method p
  • 将列表拆分为N个列表,并将每个列表分配给多线程中的一个worker

    我正在编写一个脚本 它从表中获取 N 条记录 并通过多线程处理所述记录 以前 我只是在每个工作定义中的 SQL 语句中使用 Order by RAND 并希望不会出现重复 这种工作 重复数据删除稍后完成 但是 我想通过以下方式使我的脚本更加
  • Woocommerce - 允许针对不同状态再次订购

    我希望允许Order Again所有状态的功能 默认情况下 WooCommerce 仅允许状态为 已完成 的订单使用此功能 这似乎是一个两步过程 因为第一步需要向用户显示按钮 这是通过编辑此文件来完成的 wc template functi
  • libclang:添加编译器系统包含路径(Windows 中的 Python)

    按照此question https stackoverflow com questions 37098725 parsing with libclang unable to parse certain tokens python in wi
  • Nodejs HTTP Createserver - 从 html 文件提供服务时不可预测的 javascript 执行

    当我从我的 Node js Web 服务器提供具有一些 JavaScript 的 html 文件时 与我从外部源包含相同的 JavaScript 时相比 我得到了不同的结果 我已经验证 使用 javascript 内联或外部源直接打开 ht
  • RecyclerView 项目在片段之间切换后消失

    我的应用程序中有 4 个片段 它们在 NavActivity 中管理 protected void onCreate Bundle savedInstanceState super onCreate savedInstanceState s
  • Hibernate不创建连接表

    我遇到了一个以前从未发生过的问题 我有ManyToMany关系 Hibernate 不会创建连接表 它仅创建实体表 我正在将 SpringDataJpa 与 MySQL 一起使用 医生实体 Entity Table name doctors
  • 从等高线生成高度图的算法是什么?

    我正在寻找插入一些轮廓线来生成 3D 视图 轮廓不存储在图片中 轮廓的每个点的坐标仅存储在 std vector 中 对于凸轮廓 似乎 我自己没有检查 通过使用两个最接近轮廓的两个最近点之间的距离可以轻松计算高度 线性插值 我的轮廓不一定是
  • 何时在 clojure(或 lisp)中使用感叹号?

    他们说在命名不纯函数时使用感叹号 但我不太理解 不纯 的功能 他们是吗 函数更改其参数的状态 通过重置 更改 java object methods 函数发生副作用 例如 打印 吐出 or both 显然 官方的 clojure api 并
  • 无法解析的外部符号(OpenGL 和 C++)

    好的 所以我正在编写一个小项目 没什么复杂的 它只有几个类 正如标题所暗示的 它使用 OpenGL 目前 还没有 真正的 主要功能 我在使用 gl 函数调用的地方都包含了 glew h 并将其添加到链接器输入 glew32 lib 中 然而
  • 如何在python中使用套接字而无需等待

    我用Python创建了一个游戏 该游戏由几条蛇组成 每条蛇由不同的计算机控制 每台计算机都会向服务器计算机发送蛇所指向的角度 问题是该命令 client mess client socket recv 1024 极大的抑制了服务器的运行 导
  • 使用 aws-sdk 从 javascript(reactjs) 调用 lambda(node/express - 无服务器快速路由)

    Reactjs const result await invokeLambda points 调用Lambda js const AWS require aws sdk AWS config update accessKeyId id se