2

我试图弄清楚如何使用“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

就创建新记录的“放置/获取”方法等而言,一切正常

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

但是关于像上面的更新这样的更高级技术的文档很少,我不知道如何/如何使用 Amplify 来实现。

希望有人已经这样做了!谢谢

4

1 回答 1

0

您可以在数据库的云 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 和一些示例中创建自定义路由的更多信息,请查看示例应用程序的云 APIexpressAPI 参考

于 2018-03-16T18:38:41.933 回答