我正在使用AWS AppSync Web控制台,我从头开始创建了一个新API。
我创建了这样的新资源:
type ToDo {
id: ID!
title: String!
}
AWS AppSync创建DynamoDB表和架构后,如果我想更新架构并添加新字段怎么办?
type ToDo {
id: ID!
title: String!
completed: Boolean
}
我知道AWS Amplify有一个命令amplify api gql-compile
,然后是amplify push
,它将更新架构和DynamoDB表。
是否可以通过AWS AppSync web console执行此操作?
答案 0 :(得分:2)
如果您使用AWS AppSync控制台向导来创建它。您将需要执行以下操作:
type ToDo {
id: ID!
title: String
completed: Boolean # add here
}
input UpdateToDoInput {
id: ID!
title: String
completed: Boolean # add here
}
input CreateToDoInput {
title: String
completed: Boolean # add here
}
input TableToDoFilterInput {
id: TableIDFilterInput
title: TableStringFilterInput
completed: Boolean # add here
}
现在它们应该是控制台右上角的橙色按钮“ Save Schema”。如果按此键,它将保存您的新架构,并且可以对您的AWS AppSync API运行一些新查询。
转到查询窗口,然后将完成的添加到您的突变和listToDos选择集中。
# Click the orange "Play" button and select the createToDo
# mutation to create an object in DynamoDB.
# If you see an error that starts with "Unable to assume role",
# wait a moment and try again.
mutation createToDo($createtodoinput: CreateToDoInput!) {
createToDo(input: $createtodoinput) {
id
title
completed
}
}
# After running createToDo, try running the listToDos query.
query listToDos {
listToDos {
items {
id
title
completed
}
}
}
更新查询变量,以包含已完成的值
{
"createtodoinput": {
"title": "Hello, world!",
"completed":true
}
}
这应该是您为简单属性所做的全部工作。