我最近发现了DynamoDB Local,并开始将其构建到我的项目中以进行本地开发。我决定采用docker映像路由(与可下载的.jar
文件相对。
就是说,我已经启动并运行映像并创建了一个表,并且可以通过aws cli与docker容器成功进行交互。 aws dynamodb list-tables --endpoint-url http://localhost:8042
成功返回我之前创建的表。
但是,当我运行lambda函数并像这样设置aws配置时。
const axios = require('axios')
const cheerio = require('cheerio')
const randstring = require('randomstring')
const aws = require('aws-sdk')
const dynamodb = new aws.DynamoDB.DocumentClient()
exports.lambdaHandler = async (event, context) => {
let isLocal = process.env.AWS_SAM_LOCAL
if (isLocal) {
aws.config.update({
endpoint: new aws.Endpoint("http://localhost:8042")
})
}
((已经确认已设置)(它实际上是在实时AWS Web服务中而不是本地容器和表中)写入表(与本地dynamodb实例的名称相同)。
还值得一提的是,即使它也配置为指向http://localhost:8042
,我也无法使用AWS NoSQL Workbench工具连接到DynamoDB的本地实例。
我想念什么吗?任何帮助将不胜感激。如果还没有的话,我可以提供更多的信息:D
谢谢。
我最近发现了DynamoDB Local,并开始将其构建到我的项目中以进行本地开发。我决定采用docker映像路由(与可下载的.jar文件相反。也就是说...
SDK配置更改,例如区域或端点,不会追溯应用到现有客户端(常规DynamoDB客户端或文档客户端)。