Поддерживает ли AppSync вложенную одиночную мутацию?
Я хочу вызвать одну мутацию, которая будет вставлять записи в две таблицы, например: таблицы User и Roles в DynamoDB.
Что-то вроде этого, например:
createUser(
input: {
Name: "John"
Email: "[email protected]"
LinesRoles: [
{ Name: "Role 1" }
{ Name: "Role 2" }
]
}) {
Id
Name
LinesRoles {
Id
Name
}
}
Нужно ли мне создавать два преобразователя в AppSync для User и Roles, чтобы вставлять записи в обе таблицы?





Я могу придумать три способа добиться этого:
ConditionExpressionRoles, а другая — для таблицы User. Однако вы должны быть в порядке с потенциально противоречивыми сценариями, когда запись была вставлена в одну таблицу, но не в другую.Когда вы используете BatchPutItem, вы должны указать весь элемент для обеих таблиц одновременно. Итак, в вашем случае вам нужно знать идентификатор пользователя перед вставкой, может быть, использовать UUID?
Чтобы использовать BatchPutItem, как получить новый вставленный идентификатор пользователя перед созданием ролей в таблице ролей? Нужен ли мне 1 или 2 резольвера для этого случая?