【发布时间】:2019-10-06 07:59:48
【问题描述】:
- 尝试创建将插入 DynamoDB 表的 AWS lambda。
2 .尝试更改导入/要求
//我用在什么地方
const { ReportRepo } = require("../repos/reportsRepo");
const { withProcessEnv } = require("../util/dynamoDb");
const _client = withProcessEnv(process.env);
const _repo = new ReportRepo(_client);
//DynamoDB 客户端
const { DocumentClient } = require("aws-sdk/clients/dynamodb");
const withProcessEnv = ({
AWS_ENDPOINT,
AWS_REGION,
AWS_ACCESS_KEY_ID,
AWS_SECRET_ACCESS_KEY
}) => () => {
const options = {
endpoint: AWS_ENDPOINT,
region: AWS_REGION,
accessKeyId: AWS_ACCESS_KEY_ID,
secretAccessKey: AWS_SECRET_ACCESS_KEY
};
return new DocumentClient(options);
};
module.exports = withProcessEnv;
【问题讨论】:
-
this one 的可能副本(Lambda 期望
module.exports增加属性而不是覆盖)。 -
@StockOverflaw 我在代码的其他地方使用了导出。你认为这是造成这种情况的原因吗?
-
除非它在同一个文件中,否则我会说不:
module.exports应该是通过require加载的文件的本地文件。即使在 Lambda AFAIK 的上下文中。 -
@StockOverflaw 我也这么认为。所以不知道为什么这不起作用。
-
这有点不一致:你有一个关于分配给只读道具的错误,但在this answer,你评论说你收到一个关于
module.exports是undefined的错误。这两个错误似乎不兼容:确保您测试已经在完全相同的环境中提出的所有组合(保存的文件等),除了我在这里迷路了! ://
标签: node.js amazon-web-services webpack aws-lambda amazon-dynamodb