Azure 发布和查询值列表的最简单方法

Azure easiest way to publish and query a list of values

我正在寻找使用 Azure 发布要由我的应用程序查询的值列表的最简单和最便宜的方法。我目前正在使用 Azure Application Insights 发送遥测事件并尝试使用类似的机制来满足我的需要。 我尝试使用 Azure Application Insight query 和标签,但找不到存储值列表的好方法。

我想知道休息 API 是否是正确的前进方式,或者是否有更简单的方法?该系统与撤销列表非常相似:

  1. 列表发布时没有安全措施(例如,只需使用 API 密钥)
  2. C# 客户端启动并检索列表并在列表成功检索时执行一些操作。

欢迎任何建议。

Application insights 不是存储此类数据的好地方。它会增加很多额外的列,查询结果不是很友好,可能会花费你很多时间来解析它。

对于 azure table storage,您可以将 the key and value pair 存储到 2 个不同的列中,例如 mykeyColumn / myvalueColumn,然后您可以轻松使用 table storage sdk(它适用于 azure table storageazure cosmos db 服务)在一个查询命令中查询记录(一个或多个)。

为了更好的性能,我建议您可以使用相同的 partition key 存储这些键值对,然后在您的代码中,您可以像下面这样定义查询过滤器:

TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, "xxx")

这个过滤器会return指定partition key中的所有键值对,接下来,你可以很容易地得到每一个

关于sdk的使用Microsoft.Azure.Cosmos.Table, please refer to this doc.

关于query filter的用法,你可以看看this doc(可能使用旧的sdk,但是query filter是一样的)

并且如果键值对不会更新或者不会添加新键值对,也可以考虑以json格式存储,使用blob存储。