我试图在本地运行DynamoDB,其中的说明如下:
http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.html
我已经下载了zip文件,并将所有内容解压缩到一个文件夹中.
我在Windows 10上.
在Powershell中,当我运行时在该目录中:
java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb
我明白了:
Error: Could not find or load main class .library.path=..DynamoDBLocal_lib
我已经读过这个非常相似 - 最接近我能找到,但它没有帮助: java.lang.UnsatisfiedLinkError:java.library.path中没有sqljdbc_auth
我不认为问题是它找不到类,它是不知道库是什么类的.
我安装了java:
C:\Dynamo> java -version
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b15)
Java HotSpot(TM) Client VM (build 25.91-b15, mixed mode)
在我的PATH中,我认为C:\ ProgramData\Oracle\Java\javapath是正确的.
我需要JDK吗?不仅仅是JRE?我做错了什么吗?
我认为示例中的路径可能不适用于Windows,但我不认为这是问题,我已经尝试了几十种不同的路径,但它们都说同样的事情.
我有一个包含几个字段的 Dynamodb 表 - my_id 是主键。在 API 网关中,我设置了一个带有参数的方法的响应{my_id}。
然后我有一个集成请求映射模板,它接受传入的参数并查询表以返回所有匹配的字段。
然后我有一个集成响应映射模板,可以按照我想要的方式清理返回的项目。
这一切都很完美。
我无法弄清楚如何做的是,如果传入的参数与表中的任何内容都不匹配,我该如何让它从 200 状态变为 404 状态?
据我所知,当传入的参数与任何内容不匹配时,它不会导致错误,它只是不返回任何内容。
似乎我需要更改集成响应上的映射模板以首先检查参数是否为空,然后以某种方式告诉它更改响应状态。
我可以通过使用 Lambda 的人找到有关此类事情的信息,但我没有使用 Lambda - 只是 Dynamodb 表和 API 网关。