如何在 Azure 表存储中存储任意键值对?

2024-02-02

背景

我从客户端收到 CSV 数据文件,其中包含大量我不需要的数据和少量我需要的数据。将来我可能需要访问这些数据,虽然我正在存档原始数据文件,但我希望有一些更容易查询的东西。我希望找到一个并不意味着数据文件保持相同格式的解决方案 - 即客户端可以添加/删除列,并且我不希望我的实现放弃丢失的数据或无法归档其他数据。

当我在 Azure 中构建应用程序时,Azure 表存储对我来说看起来是正确的 - 我可以读取数据文件,然后将我读取的任何键/值对存储到数据存储中。

Upshot

我想知道如何存储Dictionary<K, V> or Hashtable或 Azure 中的一些其他键/值对。


通过重写从 TableEntity 派生的类上的 ReadEntity 和 WriteEntity 方法,可以存储其他属性。

这是我天真的实现

public class TestEntity : TableEntity {

    public TestEntity(string a, string b) {
        PartitionKey = a;
        RowKey = b;
        DataItems = new Dictionary<string, string>();
    }

    public Dictionary<string, string> DataItems { get; set; }

    public override IDictionary<string, EntityProperty> WriteEntity(OperationContext operationContext) {
        var results = base.WriteEntity(operationContext);
        foreach (var item in DataItems) {
            results.Add("D_" + item.Key, new EntityProperty(item.Value));
        }
        return results;
    }

    public override void ReadEntity(IDictionary<string, EntityProperty> properties, OperationContext operationContext) {
        base.ReadEntity(properties, operationContext);

        DataItems = new Dictionary<string, string>();

        foreach (var item in properties) {
            if (item.Key.StartsWith("D_")) {
                string realKey = item.Key.Substring(2);
                ItemData[realKey] = item.Value.StringValue;
            }
        }
    }
}

我注意到,Azure 表存储总共只能存储 255 个键/值对,或者考虑到 PartitionKey 等后,只能存储 252 个自定义键/值对,因此也必须在某个地方进行处理。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Azure 表存储中存储任意键值对? 的相关文章

  • 如何通过 Kudu Api 动态运行手动部署在门户上的 azure 函数?

    我在门户上部署了一个时间触发器天蓝色功能 每天上午 10 00 运行 然而 现在要求函数也应该在其他时间动态调用和运行 我知道如何使用上述答案中的步骤通过 Kudu Api 动态设置 function json 文件中的触发器here ht
  • 在实体框架 6 中使用 SqlQuery>

    我正在尝试在 EF 6 中执行 SQL 查询 select查询返回两个字符串列 例如select a b 并且可以有任意数量的行 我想将结果映射到字典 但我无法摆脱以下错误 错误 1 无法将类型 System Data Entity Inf
  • xmlns 元素的顺序重要吗

    我不知道如何在 google 中搜索此内容 但是 xmlns 元素的问题在 XML 文件中重要吗 我正在 ASP NET VB 中使用 XMLWriter 创建一个 XML 文件 并且尝试匹配我提供的示例
  • Thread.sleep vs Monitor.Wait vs RegisteredWaitHandle?

    以下项目有不同的目标 但我很有趣知道它们如何 暂停 问题 Thread sleep 它会影响系统性能吗 它是否会占用线程的等待时间 关于什么Monitor Wait 他们 等待 的方式有何不同 他们的等待会占用一个线程吗 关于什么Regis
  • 如何避免用户帐户控制或在Win7中始终以管理员模式运行Windows应用程序

    在 WinForms 应用程序中 当我的应用程序启动时 将出现 用户帐户控制 对话框 仅在 Windows 7 中 任何人都可以建议我如何以编程方式避免这种情况 也就是说我的应用程序应该始终以管理模式启动 或者是否有任何选项可以阻止此对话框
  • 将 MVC 操作结果发送到打印机

    我有一个带有操作的控制器 SomeController ActionToBePrinted ActionToBePrinted 返回一个 html 视图 当按下按钮时 从普通的 mvc razor 视图调用此操作 当按下按钮时 我将如何将视
  • msal.js 访问令牌中的自定义声明

    我使用 msal js 保护了我的 Angular 7 应用程序 我创建了一个自定义策略 该策略返回 id token 和 access token 中的自定义声明类型 为了实现这一目标 我一直在遵循本教程 https learn micr
  • .net 运行时 - Silverlight 运行时 =?

    我用 google 搜索了一下 但没能找到 net CLR 中的哪些类未包含在 CoreCLR 又名 Silverlight 中的详细列表 Windows net Framework 中缺少什么 Silverlight 另外 是否存在 Si
  • Azure 时区和 javascriptserializer 对象

    我有一个基于预测的应用程序 位于 Windows Azure 上 http ipredikt com http ipredikt com 据我所知 Azure 的时钟已与 GMT 时区同步 这是我遇到的一个问题 假设我有一个名为 Creat
  • 当格式字符串包含“{”时,String.Format 异常

    我正在使用 VSTS 2008 C Net 2 0 执行以下语句时 String Format 语句抛出 FormatException 有什么想法是错误的吗 这是获取我正在使用的 template html 的位置 我想在 templat
  • 需要从 Xamarin 中的选取器中选择至少一项

    在我的应用程序中 有一个选择器和按钮 我想要两件事 需要从选取器中选择至少一项 否则将无法单击按钮 例如就像HTML 中的必需属性 如果值为提供者1 然后导航到此页面 否则如果提供商2 然后导航至此页面 视图中选择器和按钮的代码
  • C# 最小化所有打开的窗口

    我在论坛上看到了这个 C 代码 它最小化了所有打开的窗口 define MIN ALL 419 define MIN ALL UNDO 416 int main int argc char argv HWND lHwnd FindWindo
  • 在音频文件中查找音频样本(频谱图已存在)

    我正在努力实现以下目标 使用 Skype 拨打我的邮箱 有效 输入密码并告诉邮箱我要录制新的欢迎信息 有效 现在 我的邮箱告诉我在嘟嘟声后录制新的欢迎消息 我想等待蜂鸣声然后播放新消息 不起作用 我如何尝试实现最后一点 使用 FFT 和滑动
  • CLR 无法在 UWP 中创建基于 .NET 的 COM 对象

    我创建了一个类库 NET Framework 4 7 1 它实现了文本服务 ITfTextInputProcessorEx等 中TSF https msdn microsoft com en us library windows deskt
  • 从 WCF REST 获取错误详细信息

    我有一个由 Net WCF 客户端使用的 REST 服务 遇到错误时 REST 服务会返回 HTTP 400 错误请求 响应正文包含 JSON 序列化详细信息 如果我使用 Fiddler Javascript 或直接从 C 执行请求 我可以
  • platformnotsupportedException :XSLCompiledTransform.Load(xslt) 未在 .net Core 2.1 目标框架中加载带有 的 xslt 文件

    我有一个 xml 文件 需要将其转换为 txt 为此我使用了 xslt 转换 我的 xslt 转换文件包含一些支持 javascript 函数 如果我在 net Framework 4 5 及更高版本中运行代码 我可以成功转换文件 但相同的
  • Guid.NewGuid().GetHashCode() 用于数据库

    这对于用作数据存储 SQL Server 的 ID 可靠吗 我会使用 guid 但我更喜欢数字值 A guid更有可能代表一个记录uniquely than a numeric value 随着 GUID 确保全球唯一性 GUID 可以跨数
  • Azure 网站服务器时区数据错误

    我来自俄罗斯 1 5 天前 10 月 26 日凌晨 2 点 我们的时区 好吧 我们时区的偏移量 发生了变化 从 UTC 4 变为 UTC 3 请不要问为什么现在 政府已经退出了 但它改变了 我家的Win 8 1机器自动更新 但我的 Azur
  • 如何对使用 Controller.User 变量的控制器操作进行单元测试?

    我有一个控制器操作 如果用户已经登录 它会自动重定向到新页面 User Identity IsAuthenticated 针对这种情况编写单元测试以确保重定向发生的最佳方法是什么 我一直在使用以下 Mocks 和 Moq 来允许在我的单元测
  • .Net Reactive Extensions Framework (Rx) 是否考虑拓扑顺序?

    Net 反应式扩展框架是否按拓扑顺序传播通知以最大限度地减少更新量 就像 Scala Rx 所做的那样 Net 反应式扩展 Rx 是否可以 https github com lihaoyi scala rx wiki How it Work

随机推荐

  • 具有泛型构造函数的泛型类? [复制]

    这个问题在这里已经有答案了 我有一个通用类 构造函数需要接受一个参数 该参数是同一类的另一个实例 问题是另一个实例可以具有不同的泛型类型 看起来 C 允许我拥有一个具有自己的泛型类型的方法 但这对于构造函数来说似乎是不允许的 public
  • SwiftUI TextField 货币格式问题

    我在使用 TextField 输入货币金额时遇到了 SwiftUI 最终用户的可用性问题 绑定字段是双精度型 初始设置为 0 当显示文本字段时 提示为 0 00 问题是 当用户想要输入一个值时 他们必须手动使用退格键删除 0 00 另外 如
  • Oracle XE查询日志

    在 Postgres 中 您可以打开查询日志记录 从而生成一个包含任何客户端发出的所有查询的文件 Oracle XE 中是否有类似的可能性 如何打开它以及在哪里可以找到生成的文件 你会 更改会话设置 sql trace true 跟踪文件将
  • 为本机 iOS 应用程序创建 Jitsi Meet 框架并集成到 Xcode 项目中

    我已经从 Jitsi meet 网站和 git repo 检查了详细信息 以在本机应用程序中实现它 执行构建命令后 我无法在提到的位置找到框架 我也无法识别符号位置 如建议的那样 如何获取需要包含在本机应用程序中的框架 以使 jitsi m
  • 带声音的图像按钮不起作用

    我在android studio中制作了一个程序 其中有10个图像按钮 每个图像按钮单击时都会产生声音 但是 当我在模拟器上运行它们时 只有前 7 个图像按钮会发出声音 不在乎我单击的按钮的顺序 我对此很陌生 请帮助我 这是我的代码 pub
  • 如何在 ASP.NET 中找到当前页面的(文件)名称?

    如何在后面的代码中找到 default aspx 当前页面或Web控件的名称 我想编写一个使用这个名称的超类 你的意思是你想找到当前执行的对象的原始文件名 即 从您想要检索的控件 MyControl 内部MyControlOnDisk as
  • pythonunittestassertCountEqual使用'is'而不是'=='?

    我正在尝试使用 python 的unittest库来编写一些单元测试 我有一个返回对象的无序列表的函数 我想验证对象是否相同 并且我正在尝试使用断言计数等于 http docs python org py3k library unittes
  • 如何通过客户端 Java 代码获取 Google Web Toolkit 中的当前 URL?

    我试图读取 URL 的查询参数 https stackoverflow com questions 4514940 reading request parameters in google app engine with java在客户端
  • 处理 NULL 的最佳方法

    在我的函数顶部 我正在尝试用最好的方法来处理 C 中进入我的程序的 null 值 检查和处理空值的最佳方法是什么 为什么 我已经添加了我现在正在使用的完整代码 Resharper 告诉我使用选项 1 通常我会按照它所说的去做 因为我明白为什
  • 使用 JS 强制页面缩放至 100%

    我在 Canvas 中创建了一个小游戏 但遇到了问题 某些将默认缩放设置为 100 以外的用户无法看到整个游戏页面 我尝试过使用这个CSS zoom 100 这个 HTML 还有这个JS style zoom 75 有什么想法如何以编程方式
  • React Redux:获取 Props 并更新状态

    我是第一次尝试 React Redux JS 我对在组件中设置状态与让 redux 更新它有点困惑 我想单击一个按钮将 lightOn 设置为 true 并显示更新的 this props lightOn 值 我错过了一些基本的东西 但不确
  • JsonConverter如何反序列化为通用对象

    我通过 webapi 发送这个结构 DataContract public class PacketData public enum Opcodes Hello 0x00 Close 0x01 Serial 0x02 GPIO 0x04 D
  • 模型类未声明显式 app_label 并且不在 INSTALLED_APPS 中的应用程序中

    我正在使用 sphinx 并尝试为我的 Django 项目生成文档 我决定首先尝试记录模型 因此在我的 rst 文件中我这样做了 wdland models automodule wdland models members undoc me
  • 如何检测innerHTML何时完成

    我已经做了很多寻找这个问题的解决方案 但到目前为止还没有找到一个可以跨浏览器工作的解决方案 我需要的是一个原始的javascript函数 一旦innerHTML成功插入到dom中 它将接受一个元素并运行回调 e g var element
  • 对 CUBEVALUE 中的多个度量求和

    我尝试了多个不同的函数 CUBESET CUBEVALUE 等 但我似乎无法找到一种方法来在同一公式中对多个度量求和 关于如何完成这项工作有什么建议吗 我进行了大量搜索但找不到方法 想法如下 但这不起作用 CUBEVALUE Connect
  • org.webrtc.RTCPeerConnection 无法将视频发布到服务器

    我使用 webrtc 在会议中发送和获取视频 子主视频正常显示 但问题是视频没有发布到服务器 我检查方法 setlocalDescription 没有返回错误 这是我的sdp 有人可以帮忙吗 我搜索了很多解决方案 但我仍然不知道我的问题 我
  • Oracle PLSQL IN() 子句中的数组

    我将字符串数组 plcListchar 传递给存储过程 我想在 IN 子句中使用这个字符串数组 我不能在 IN 子句中直接使用 plcListchar 让我展示一下如何在 JAVA 中创建 plcListchar 字符串数组 String
  • github 操作workflow_run.conclusion 随机失败的任何解决方法吗?

    我在用着workflow run conclusion按照以下方式发送工作流程通知github 文档 https docs github com en actions using workflows events that trigger
  • Python 与电报机器人中的关键字“from”冲突

    我想使用 python telegram bot 在 Python 脚本中打印用户信息 参考this https core telegram org bots api user page 但是当我打字时 print update messa
  • 如何在 Azure 表存储中存储任意键值对?

    背景 我从客户端收到 CSV 数据文件 其中包含大量我不需要的数据和少量我需要的数据 将来我可能需要访问这些数据 虽然我正在存档原始数据文件 但我希望有一些更容易查询的东西 我希望找到一个并不意味着数据文件保持相同格式的解决方案 即客户端可