首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更新ValidationException时收到DynamoDB

更新ValidationException时收到DynamoDB
EN

Stack Overflow用户
提问于 2022-02-24 10:24:40
回答 1查看 56关注 0票数 0

我在dynamodb中创建了一个项,然后我的nodejs函数将继续更新这个项中的access_token值。下面是模式

代码语言:javascript
复制
{
  "service": {
    "S": "perform"
  },
  "access_token": {
    "S": "xxxxxxxxxx"
  }
}

下面是我将发送给dynamodb更新函数的dynamodb参数

代码语言:javascript
复制
{
    "TableName": "Access-Token",
    "Key": {
        "service": "perform"
    },
    "UpdateExpression": "set access_token = :token",
    "ExpressionAttributeValues": {
        ":token": "xxxxxxxxxxxx"
    },
    "ReturnValues": "UPDATED_NEW"
}

但是,当我运行lambda函数时,我收到以下错误。在这方面需要帮助和指导

ValidationException:提供的键元素与模式

不匹配

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-24 10:52:37

很可能您正在尝试插入一个没有所有关键元素的记录。

如果主键是分区/散列键和范围/排序键的组合,则需要在update或put参数的key属性中同时包含这两个键。

看起来,密钥service是您的分区密钥,而键access_token是您的排序密钥

要执行更新,需要同时发送两个键:

代码语言:javascript
复制
"Key": {
    "service": "perform",
    "access_token": "token"
}

这样,如果尝试更新access_token,您将无法实现,因为access_token属性是键的一部分。

如果要更新access_token,则需要创建另一个没有/或具有不同排序键的表,并使用access_token作为属性。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71250470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档