使用 AWS AppSync 进行输入验证

Input validation with AWS AppSync

是否可以在不添加另一个 "layer" 交互的情况下使用 AWS AppSync 进行输入验证?

我觉得添加 lambda 函数会破坏它的目的。

我想完成的是至少对字符串进行一些正则表达式验证。

如果没有,那么使用 AppSync 或类似解决方案 (firebase) 的人是如何做到的?

如果只是正则表达式验证而不必根据数据源中的数据检查输入,那么您可以在解析器请求映射模板中预先添加一些验证逻辑。

请参阅下面的示例,检查输入字段是否匹配来自 myvaliddomain.com 的电子邮件。如果它未通过验证,我们将中止并在该字段中出错。

#set($valid = $util.matches("^[a-zA-Z0-9_.+-]+@(?:(?:[a-zA-Z0-9-]+\.)?[a-zA-Z]+\.)?(myvaliddomain)\.com", $ctx.args.input))
#if (!$valid)
    $util.error("$ctx.args.input is not a valid email.", "ValidationError")
#end

## Rest of your request mapping template below