1

我正在尝试在本地创建的 lambda 函数和本地 dynamodb 之间建立连接。我在本地设置了 lambda 和 dynamodb,并尝试在 dynamodb 中创建表,但遇到错误。这是我通过本地 lambda 在 dynamodb 中创建表的脚本表创建脚本和与本地 dynamodb 的连接

到目前为止,一切都很好,但是当我尝试执行代码时,它会引发一个错误,您可以检查一下这里

另一方面,您可以看到本地 dynamodb 也运行良好这里

我不知道我在哪里做错了,我还配置了 aws secrect 访问密钥、id 和区域。请帮助我,我将非常感激。

4

1 回答 1

0

是的,但它比仅仅使用 AWS 需要更多的努力!:D 您最好使用开发专用的基于云的环境进行测试,因为这是无服务器开发的总体目标。

在你的 Mac 上运行:

docker run -p 8000:8000 amazon/dynamodb-local
let AWS = require('aws-sdk')
let dyn= new AWS.DynamoDB({ endpoint: new AWS.Endpoint("http://docker.for.mac.localhost:8000") })

function handler(event, context, callback) {
  dyn.listTables({Limit: 10}, function(err, data) {
    if (err) {
      console.log("Error", err.code)
    } else {
      console.log("Table names are ", data.TableNames)
    }
  })

  let response = {
    statusCode: 200
  }
  callback(null, response)
}

现在 lambda 可以连接到端口并且不会超时。

于 2022-01-20T07:24:32.240 回答