【问题标题】:DynamoDB returns 200 statusCode for deleteItem but it still exists on the consoleDynamoDB 为 deleteItem 返回 200 statusCode 但它仍然存在于控制台上
【发布时间】:2021-08-31 21:31:32
【问题描述】:

我的表有一个哈希键userId(没有范围键)。

我按如下方式调用 API(来自 Node.js):

dynamo.deleteItem({
    "TableName": 'my-table', 
    "Key": {
        "userId": '4ada7bbd-a8ac-4d29-94c6-e199a50430c9'
    }
}

我正在调用此 API,它返回的 statusCode 为 200 成功,但即使我使用刷新按钮进行了刷新,该项目仍然存在于 DynamoDB 控制台中。

这怎么可能?

【问题讨论】:

  • 也许你可以发布一些细节?比如你用来删除的代码,分区键和排序键的名字,可能是控制台的截图等等。
  • @AugustLilleaas 添加了详细信息

标签: node.js amazon-web-services amazon-dynamodb


【解决方案1】:

请记住,即使您删除了不存在的项目,DeleteItem 操作也会成功。在您的情况下,可能不存在键为“4ada7bbd-a8ac-4d29-94c6-e199a50430c9”的项目 - 名称中可能存在拼写错误或其他什么?

尝试使用GetItem 而不是DeleteItem 来获取项目 - 然后您将能够验证您认为使用此密钥存在的项目不存在。或者,使用GetItem DeleteItem 之后以这种方式验证该项目在删除后已消失。不要在同一个测试中混用代码和 UI,因为如果你不能粘贴独立的失败代码,就很难知道你做错了什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-18
    相关资源
    最近更新 更多