Amazon dynamodb AppSync+;DynamoDB:由所有者过滤
我正在尝试为按所有者筛选的扫描编写一个解析器模板 以下是我迄今为止尝试的内容(这是我的请求模板): 此模板失败,因为Amazon dynamodb AppSync+;DynamoDB:由所有者过滤,amazon-dynamodb,aws-appsync,resolver,dynamodb-queries,Amazon Dynamodb,Aws Appsync,Resolver,Dynamodb Queries,我正在尝试为按所有者筛选的扫描编写一个解析器模板 以下是我迄今为止尝试的内容(这是我的请求模板): 此模板失败,因为owner是保留关键字。但是,我不知道如何处理AppSync 如何使用AppSync处理保留字?有没有比我的硬编码扫描更好的方法来写这个扫描?所以我在硬编码时解决了它: #set( $identityValue = $util.defaultIfNull($ctx.identity.claims.get("username"), $util.defaultIfNull($ctx.i
owner
是保留关键字。但是,我不知道如何处理AppSync
如何使用AppSync处理保留字?有没有比我的硬编码扫描更好的方法来写这个扫描?所以我在硬编码时解决了它:
#set( $identityValue = $util.defaultIfNull($ctx.identity.claims.get("username"),
$util.defaultIfNull($ctx.identity.claims.get("cognito:username"), "___xamznone____")) )
#set( $ScanRequest = {
"version": "2017-02-28",
"operation": "Scan",
"filter": {
"expression": "#owner = :owner",
"expressionValues": {
":owner": { "S": $identityValue }
},
"expressionNames": {
"#owner": "owner"
}
}
} )
$util.toJson($ScanRequest)
如果有人能给出一个非硬编码的答案,例如动态设置过滤器,如下所示:
#if( $context.args.filter )
#set( $ListRequest.filter = $util.parseJson("$util.transform.toDynamoDBFilterExpression($ctx.args.filter)") )
#end
虽然仍然由所有者过滤,但我很乐意接受这个答案
#if( $context.args.filter )
#set( $ListRequest.filter = $util.parseJson("$util.transform.toDynamoDBFilterExpression($ctx.args.filter)") )
#end