DynamoDB Local 抛出不允许通过 SDK 的方法
DynamoDB Local throws Method Not Allowed via SDK
我正在尝试使用 DynamoDB Local。它在使用 AWS CLI 时工作得非常好,但是当我尝试在 Node 中将它与 AWS SDK 一起使用时,我不断收到 "Method Not Allowed" 错误。相同的代码在真正的 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)
我是 运行 DynamoDB Local on macOS 10.14.6 Java:
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 图片,还是一样的错误。
输入任何有效区域,例如 "us-east-1" 而不是 "local"。
该端口正在被另一个应用程序使用。并且 Java 在启动 DynamoDB 本地服务器时懒得提及它...
但这并不能解释 AWS CLI 运行的原因。现在我很困惑...
我正在尝试使用 DynamoDB Local。它在使用 AWS CLI 时工作得非常好,但是当我尝试在 Node 中将它与 AWS SDK 一起使用时,我不断收到 "Method Not Allowed" 错误。相同的代码在真正的 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)
我是 运行 DynamoDB Local on macOS 10.14.6 Java:
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 图片,还是一样的错误。
输入任何有效区域,例如 "us-east-1" 而不是 "local"。
该端口正在被另一个应用程序使用。并且 Java 在启动 DynamoDB 本地服务器时懒得提及它...
但这并不能解释 AWS CLI 运行的原因。现在我很困惑...