繁体   English   中英

AWS Amplify-更新DynamoDB中的列

[英]AWS Amplify - updating a column in a DynamoDB

我试图弄清楚如何使用“ aws-amplify” API更新Dynamo表中的列。

如果不使用 Amplify(仅使用AWS开发工具包),则可以这样进行:

const docClient = new AWS.DynamoDB.DocumentClient();
let params = {
        TableName:table,
        Key:{
            "year": year,
            "title": title
        },
        UpdateExpression: "set info.rating = :r, info.plot=:p, info.actors=:a",
        ExpressionAttributeValues:{
            ":r":5.5,
            ":p":"Everything happens all at once.",
            ":a":["Larry", "Moe", "Curly"]
        },
        ReturnValues:"UPDATED_NEW"
    };

    docClient.update(params, function(err, data) { ....

我使用此处的文档设置了后端/ api(使云API能够执行CRUD操作) https://docs.aws.amazon.com/aws-mobile/latest/developerguide/web-access-databases.html

就创建新记录等的“ put / get”方法而言,一切正常

import Amplify, { API } from 'aws-amplify';
....
const path = '/MyTable';
const newRecord = {.......}
const apiResponse = await API.put('MyTableCRUD', path, newRecord);

但是,关于上述更新之类的更高级技术的文档很少,我不知道如何/如何使用Amplify实现此目的。

希望有人已经做到了! 谢谢

您可以在数据库的云API(通常位于awsmobilejs/backend/cloud-api/INSERT_TABLE_NAME )中创建自定义路由。 除非您过去修改了数据库的云API,否则指定API的所有路由的主文件应为awsmobilejs/backend/cloud-api/INSERT_TABLE_NAME/app.js ,或者在您的情况下为awsmobilejs/backend/cloud-api/MyTable/app.js

有关在云API和一些示例中创建自定义路由的更多信息,请查看示例应用程序的云APIexpress API参考

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM