0

我正在尝试使用 DynamoDB Local。使用 AWS CLI 可以正常工作,但是当我尝试将它与 Node 中的 AWS 开发工具包一起使用时,我不断收到“不允许的方法”错误。相同的代码在真正的 DynamoDB 上运行得非常好,所以我知道这不是代码的问题。

这就是我设置 SDK 的方式。我的理解是该区域被忽略,所以没关系。

new DocumentClient({
    region: 'local',
    endpoint: 'http://localhost:8000',
    sslEnabled: false,
})

节点只是给了我:

UnknownError: Method Not Allowed
    at Request.extractError (/.../node_modules/aws-sdk/lib/protocol/json.js:51:27)
    at Request.callListeners (/.../node_modules/aws-sdk/lib/sequential_executor.js:106:20)
    at Request.emit (/.../node_modules/aws-sdk/lib/sequential_executor.js:78:10)
    at Request.emit (/.../node_modules/aws-sdk/lib/request.js:683:14)
    at Request.transition (/.../node_modules/aws-sdk/lib/request.js:22:10)
    at AcceptorStateMachine.runTo (/.../node_modules/aws-sdk/lib/state_machine.js:14:12)
    at /.../node_modules/aws-sdk/lib/state_machine.js:26:10
    at Request.<anonymous> (/.../node_modules/aws-sdk/lib/request.js:38:9)
    at Request.<anonymous> (/.../node_modules/aws-sdk/lib/request.js:685:12)
    at Request.callListeners (/.../node_modules/aws-sdk/lib/sequential_executor.js:116:18)

我正在使用 Java 在 macOS 10.14.6 上运行 DynamoDB Local:

java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)

但我也尝试过使用亚马逊的 Docker 镜像,但仍然出现同样的错误。

4

2 回答 2

3

该端口正被另一个应用程序使用。并且 Java 在启动 DynamoDB 本地服务器时也懒得提...

但这并不能解释 AWS CLI 工作的原因。现在我很困惑...

于 2019-08-14T15:36:43.993 回答
0

放置任何有效区域,例如“us-east-1”而不是“local”。

于 2019-08-13T13:57:05.733 回答