我正在使用DynamoDB使用以下命令查询表
QueryRequest request = new QueryRequest
{
TableName = "Events",
ExclusiveStartKey = startKey,
KeyConditions = keyConditions,
IndexName = "Title-index" // Specify the index to query against
};
// Issue request
QueryResponse result = client.Query(request);
Run Code Online (Sandbox Code Playgroud)
ExclusiveStartKey和Keyconditions是预定义的
问题是QueryResult结果变量没有解析为我的本机对象,当我使用DynamoDB.Context时,你使用期望的类型转换方法,但在这种情况下我需要解析QueryResult ...还有其他方法去做这个?或者我应该解析对象?
Lee*_*unn 20
我最终使用了类似的东西:
// Issue request
QueryResponse result = AmazonDynamoDBClient.Query(request);
var items = result.Items.FirstOrDefault();
var doc = Document.FromAttributeMap(items);
var myModel = DynamoDBContext.FromDocument<MyModelType>(doc);
Run Code Online (Sandbox Code Playgroud)
查看使用适用于 .NET 的 AWS 开发工具包低级 API 查询表文档中的示例
在你的处理方法中
var response = client.Query(request);
var result = response.QueryResult;
foreach (Dictionary<string, AttributeValue> item in response.QueryResult.Items)
{
// Process the result.
PrintItem(item);
}
Run Code Online (Sandbox Code Playgroud)
PrintItem实现
private static void PrintItem(Dictionary<string, AttributeValue> attributeList)
{
foreach (KeyValuePair<string, AttributeValue> kvp in attributeList)
{
string attributeName = kvp.Key;
AttributeValue value = kvp.Value;
Console.WriteLine(
attributeName + " " +
(value.S == null ? "" : "S=[" + value.S + "]") +
(value.N == null ? "" : "N=[" + value.N + "]") +
(value.SS == null ? "" : "SS=[" + string.Join(",", value.SS.ToArray()) + "]") +
(value.NS == null ? "" : "NS=[" + string.Join(",", value.NS.ToArray()) + "]")
);
}
Console.WriteLine("************************************************");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3547 次 |
| 最近记录: |