繁体   English   中英

.Net Core - DynamoDB ScanAsync 方法不返回特定记录的数据

[英].Net Core - DynamoDB ScanAsync method doesn't return data for specific records

我在尝试访问 a.Net core 6 API 中的数据时遇到了一个恼人的 AWS DynamoDB 问题。 这是通过 user_id 检索数据的代码部分

private readonly AmazonDynamoDBClient _amazonDynamoDB; // assigned by dependency injection through constructor) 
string tableName = _serviceConfiguration.AWS.DynamoDB.TableName;
var result = await _amazonDynamoDB.ScanAsync(new ScanRequest
{
    TableName = tableName,
    ExpressionAttributeValues = new Dictionary<string, AttributeValue>
    {
        {":user_id", new AttributeValue {S = userId_input}},
    },
    FilterExpression = "user_id = :user_id"
});

奇怪的是,对于某些特定的 userId_input,我得到 0 个数据(result.Count 为 0),而另一个 API 可以将新项目添加到 DynamoDB 数据库中,或者我可以从 AWS 界面扫描这些记录。 它只发生在一些 user_id 值上。

我想这可能没有足够的信息,但由于它是一个商业项目,我需要尽可能地覆盖。 但是,如果故障排除过程确实需要任何东西,我会尽力提供。 对于这个问题,您是否知道可能是哪个原因? 谢谢你。

结果是分页的。 你需要继续拉页面。 请参阅https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LowLevelDotNetScanning.htmlExclusiveStartKey

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM