簡體   English   中英

使用 React 更新 Dynamo 數據庫表

[英]Update Dynamo db table using react

我有一個 dynamodb 表,列為 id(分區鍵)和日期。 我正在嘗試更新 id=2 的日期,但我得到以下錯誤作為響應:

message: "The provided key element does not match the schema"
__type: "com.amazon.coral.validate#ValidationException"

下面是我的代碼:

import * as AWS from 'aws-sdk'
AWS.config.update({
    region: 'us-east-1',
    accessKeyId: 'MY_ACCESS_KEY',
    secretAccessKey: 'MY_SECRET_KEY'
});
const docClient = new AWS.DynamoDB.DocumentClient()

export const updateData = (tableName : any, id : any, date : any) => {
        let params = {
            TableName: tableName,
            Key:{
                "id": id
            },
            UpdateExpression: `set date = :date`,
            ExpressionAttributeValues: {":date": date},
        };
        docClient.update(params, function(err, data) {
            if (!err) {
                console.log(data);
            }else{
                console.log(err)
            }
        })
    }

我這樣打電話給 function:

updateData("mytable","2","2023-01-10")

我有人確認我在這里做錯了什么嗎?

dateDynamoDB 中的保留關鍵字

您需要使用ExpressionAttributeNames參數:

        let params = {
            TableName: tableName,
            Key:{
                "id": id
            },
            UpdateExpression: `set #date = :date`,
            ExpressionAttributeValues: {":date": date},
            ExpressionAttributeNames: {"#date":"date"}
        };

至於例外情況,請確保您的表分區鍵為id且類型為 String,並且該表沒有排序鍵,否則您還需要添加排序鍵。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM