【发布时间】:2015-11-20 01:58:58
【问题描述】:
我有以下场景
- 网站
- Azure Blob 存储(用于图像)
- Azure 表存储(用于图像的元信息)
虽然是这样 用户上传图片和我
- 使用生成的 RowKey(整数)将有关图像的信息保存到表存储中
- 将图像保存到 Blob 存储(图像名称 = 表 RowKey,因为我需要知道哪个表记录属于哪个 Blob 图像)
问题是我不知道如何获取最后插入的 RowKey 或最后插入的 BlobName。
我需要分离表和 Blob,因为 Blob 将移动到另一个存储,但 Web 应用程序仍需要读取图像信息。
这个天蓝色的基础设施是否适合我的场景,或者我必须使用其他一些存储,例如 DocumentDB,我相信这会解决我的问题,因为我可以使用标准 SQL 命令?
因为这是我能想到的最简单的场景,我还不想拒绝 Azure Tables。我尝试了类似
var table = storageAccount.CreateCloudTableClient().GetTableReference("Requests"); table.CreateIfNotExists();
var query = new TableQuery<RequestEntity>()
.Where(TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, "RequestEntity"))
.Max(r => r.RowKey);
Console.WriteLine(query.ToString());
Console.ReadLine();
但我得到的错误是
TableQuery Generic Type must provide a default parameterless constructor.
我能得到最大值吗?还有一个问题是我连接到 azure 两次,一次用于获取最大 ID,第二次用于插入具有新最大 ID 的新行。
你觉得呢?最好尝试 Azure Tables 或切换到 DocumentDB 或 SQL Server ?
【问题讨论】:
标签: azure-storage