AWS Amplify - 更新 DynamoDB 中的列
AWS Amplify - updating a column in a DynamoDB
我正在尝试弄清楚如何使用 'aws-amplify' API 更新 Dynamo table 中的列。
如果没有 Amplify,(仅使用 AWS SDK),可以这样做:
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) { ....
我使用此处的文档设置了一个 backend/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);
但是关于像上面的更新这样的更高级技术的文档太少了,我不知道if/how如何使用 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 和一些示例,请查看 example app's cloud API and the express
API reference。
我正在尝试弄清楚如何使用 'aws-amplify' API 更新 Dynamo table 中的列。
如果没有 Amplify,(仅使用 AWS SDK),可以这样做:
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) { ....
我使用此处的文档设置了一个 backend/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);
但是关于像上面的更新这样的更高级技术的文档太少了,我不知道if/how如何使用 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 和一些示例,请查看 example app's cloud API and the express
API reference。