【问题标题】:Getting a complete list of all column names from Azure Table storage programmatically以编程方式从 Azure 表存储中获取所有列名的完整列表
【发布时间】:2015-02-27 17:16:54
【问题描述】:

我正在编写一个与 Azure 交互的门户网站。

我想拉出并显示一个 Azure 表存储 (nosql) 的内容

我正在使用:

CloudTable table = TableClient.GetTableReference(tableName);
IEnumerable<DynamicTableEntity> results = table.ExecuteQuery(new TableQuery());

这会获取表和实体。

每个返回的 DynamicTableEntity 仅列出具有值的属性。 没有所有表属性的列表会使在视图上显示数据很麻烦。

有没有办法使用 Microsoft.WindowsAzure.Storage 以编程方式获取表的所有列名。

【问题讨论】:

  • 晚了,但您可以利用无模式数据库的性质:添加一行、PartitionKey Metadata 和 RowKey Schema_entityName - 存储 entityName 可能具有的每一列的示例值。我知道这并不理想,特别是如果您正在与第三方数据库交互(创建某种管理服务),您对架构一无所知 - 但它可能会对某人有所帮助。当然,您也可以爬取该架构的数据库和索引列,然后添加它(或请求用户手动添加架构行)。

标签: c# .net azure azure-table-storage nosql


【解决方案1】:

在 Azure 存储中,表将数据存储为实体集合。一个实体有一个主键和一组属性。但是,表服务不会为表强制实施任何架构,因此同一个表中的两个实体可能具有不同的属性集。

因此,如果客户端应用程序不强制使用模式,则没有简单的方法可以查询表中所有实体的所有属性的并集。

【讨论】:

  • 感谢您的回复。我最终只是提取了我想要显示的数据并在联合上做了一个不同的操作。不是最有效的方法,但可以快速解决。
猜你喜欢
  • 2011-07-17
  • 2013-09-29
  • 2020-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-12
相关资源
最近更新 更多