sách gpt4 ai đã đi

aws-lambda - AWS Lambda 是否支持 aws-sdk v3?

In lại 作者:行者123 更新时间:2023-12-04 12:23:04 30 4
mua khóa gpt4 Nike

我在 cdk 研讨会上建立了一个小的 lambda 函数 đây .我正在用 typescript 编写 lambda 函数,通过管道进行部署,该管道创建了一个包含 lambda 函数的云形成堆栈。
我正在尝试在 lambda 中使用 sdk v3,as demoed here .但是后来我看到了相互矛盾的文档 đây .
这些错误是因为我尝试使用 V3 而我不应该使用,还是出于其他原因?处理程序设置正确,函数运行但失败并显示错误:

{
"errorType": "Runtime.ImportModuleError",
"errorMessage": "Error: Cannot find module '@aws-sdk/client-sns'\nRequire stack:\n- /var/task/ReceiveMessageLoraThing.js\n- /var/runtime/UserFunction.js\n- /var/runtime/index.js",
"stack": [
"Runtime.ImportModuleError: Error: Cannot find module '@aws-sdk/client-sns'",
"Require stack:",
"- /var/task/ReceiveMessageLoraThing.js",
"- /var/runtime/UserFunction.js",
"- /var/runtime/index.js",
" at _loadUserApp (/var/runtime/UserFunction.js:100:13)",
" at Object.module.exports.load (/var/runtime/UserFunction.js:140:17)",
" at Object. (/var/runtime/index.js:43:30)",
" at Module._compile (internal/modules/cjs/loader.js:999:30)",
" at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)",
" at Module.load (internal/modules/cjs/loader.js:863:32)",
" at Function.Module._load (internal/modules/cjs/loader.js:708:14)",
" at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)",
" at internal/main/run_main_module.js:17:47"
]
}
该文件部署为 js,并设置了正确的处理程序。如果我注释掉 require声明,它工作正常:
// works
"use strict";
//const sns = require("@aws-sdk/client-sns");
exports.handler = async (event) => {
console.log("hello");
trả về giá trị đúng;
}

// doesn't work
"use strict";
const sns = require("@aws-sdk/client-sns");
exports.handler = async (event) => {
console.log("hello");
trả về giá trị đúng;
}
没有使用这个研讨会的代码生成的 node_modules 或层,但在我去那里之前,我想知道我是否真的可以在 lambda 上使用 V3。

1 Câu trả lời

是的,您可以使用 AWS SDK v3,就像任何其他 JS 库一样。
Lambda 的 Node 环境随附已安装的 AWS SDK v2(前一个),您可以在此处看到:https://docs.aws.amazon.com/lambda/latest/dg/lambda-nodejs.html
因此,要使用 v3,您应该将它与您的应用程序与任何其他依赖项捆绑在一起,并部署该捆绑包 ( https://docs.aws.amazon.com/lambda/latest/dg/nodejs-package.html ).
实际上,即使在 Lambda 环境中可以使用 SDK v2,将它与您的应用程序捆绑在一起并进行部署仍然是最佳实践。这样,您将始终使用您指定的版本,而不是 Lambda 上可以随时更新的版本。即使他们没有进行任何不兼容的更改,新的 SDK 版本也总是有可能在未使用您的特定应用程序进行测试时存在一些会破坏您的 Lambda 的错误(非常不可能,但可能)。

关于aws-lambda - AWS Lambda 是否支持 aws-sdk v3?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66129993/

30 4 0
Bài viết được đề xuất: r - 使用 pivot_longer 将数据转换为 long 且列名重复
Bài viết được đề xuất: jira - Confluence 问答插件
Bài viết được đề xuất: lua - 如何在 Lua 中测试 -1.#IND(不确定)?
Bài viết được đề xuất: python-3.x - 如何让 ScrollView 在 python 中重置到屏幕顶部
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com