在使用 AWS AppSync 将对象推送到 DynamoDB 中的 "items" 键下,可以按以下步骤操作:
首先,确保你已经创建了一个包含 "items" 键的 DynamoDB 表。
在 AWS AppSync 控制台中创建一个数据源,使其与 DynamoDB 表关联。
在 AWS AppSync 控制台中创建一个类型定义,指定对象的结构,包括 "items" 键。
例如,假设你有一个包含 "id"、"name" 和 "description" 字段的对象,可以创建一个类型定义如下:
type Item {
id: ID!
name: String!
description: String!
}
type Mutation {
createItem(item: ItemInput!): Item
}
input ItemInput {
id: ID!
name: String!
description: String!
}
例如,对于 "createItem" 操作,你可以创建一个解析器如下:
{
"version" : "2017-02-28",
"operation" : "PutItem",
"key" : {
"id" : $util.dynamodb.toDynamoDBJson($ctx.args.item.id)
},
"attributeValues" : $util.dynamodb.toMapValuesJson($ctx.args.item),
"condition" : {
"expression" : "attribute_not_exists(id)"
}
}
上述解析器将将传入的对象保存到 DynamoDB 表的 "items" 键下,并使用 "id" 字段作为主键。
例如,使用 AWS Amplify:
import { API } from 'aws-amplify';
// ...
const createItem = async (item) => {
try {
const result = await API.graphql({
query: `
mutation CreateItem($item: ItemInput!) {
createItem(item: $item) {
id
name
description
}
}
`,
variables: {
item: item
}
});
console.log(result.data.createItem);
} catch (error) {
console.error(error);
}
};
// 调用 createItem 函数
createItem({
id: '1',
name: 'Item 1',
description: 'This is item 1'
});
上述代码将调用 AWS AppSync 中的 "createItem" 操作,并将传入的对象保存到 DynamoDB 表的 "items" 键下。
通过以上步骤,你可以使用 App Sync 将对象推送到 DynamoDB 中的 "items" 键下。请根据你的具体需求进行相应的调整和修改。