Amazon dynamodb AWS Appsync-查询DynamoDB以获取空索引

Amazon dynamodb AWS Appsync-查询DynamoDB以获取空索引,amazon-dynamodb,aws-appsync,Amazon Dynamodb,Aws Appsync,我想获取一个DynamoDB表,该表附加到AppSync架构的查询,用于仅获取具有全局二级索引(GSI)的属性的null或空值 我尝试了以下方法,但没有得到结果: 抛出[在KeyConditionExpression:或中使用的运算符无效]: 抛出[KeyConditionExpression中使用的运算符无效:属性\u不\u存在]: 抛出[一个或多个参数值无效:条件参数类型与架构类型不匹配]: 如何编写查询文档过滤掉字符串属性的非空值默认情况下,全局二级索引是稀疏的 对于表中的任何项,Dyna

我想获取一个DynamoDB表,该表附加到AppSync架构的
查询
,用于仅获取具有全局二级索引(GSI)的属性的null或空值

我尝试了以下方法,但没有得到结果:

抛出[在KeyConditionExpression:或中使用的运算符无效]:

抛出[KeyConditionExpression中使用的运算符无效:属性\u不\u存在]:

抛出[一个或多个参数值无效:条件参数类型与架构类型不匹配]:


如何编写查询文档过滤掉字符串属性的非空值默认情况下,全局二级索引是稀疏的

对于表中的任何项,DynamoDB将只写入相应的 全局二级索引的条目(如果索引键值存在于 这个项目。对于全局二级索引,这是索引分区 键及其排序键(如果存在)。如果索引键值不正确 如果出现在每个表项中,则称索引是稀疏的

如果需要在GSI表中包含
myAttr
attribute null值,可以设置一个伪值(例如“null”),然后查询该值。请注意,所有表项现在都将包含在GSI表中,这将增加您的成本

有关详细信息:

我继续添加了一个默认值,而不是空值/空值。由于GSI不太多,但只有一个,因此目前成本不会是一个大问题。谢谢
"operation" : "Query",
"index" : "myAttrIndex",
"query" : {
    "expression" : "attribute_not_exists(myAttr) or myAttr = :null",
    "expressionValues" : {
        ":null" : { "NULL" : null }
    }
}
"operation" : "Query",
"index" : "myAttrIndex",
"query" : {
    "expression" : "myAttr = :null",
    "expressionValues" : {
        ":null" : { "NULL" : null }
    }
}
"operation" : "Query",
"index" : "myAttrIndex",
"query" : {
    "expression" : "myAttr = :null",
    "expressionValues" : {
        ":null" : { "NULL" : null }
    }
}