azure - 如何检测 Azure 表存储中的新实体

标签 azure azure-functions azure-table-storage azure-node-sdk

我有一个现有系统,可以根据我们产品的使用情况将实体上传到 Azure 表存储。我的任务是通过 Azure 表存储中存储的所有实体的副本保持单独的分析系统处于最新状态。

我编写了一个流程来列出 Azure 上的所有现有实体并将它们导入分析系统。这使我能够将 Azure 表数据一次性导入到分析系统中。这是有效的,我已经完成了一次性导入。

我现在需要在新项目上传到 Azure 表存储时使系统保持最新状态。

我曾希望运行 Azure 函数来响应添加到表存储中的新项目,但看起来 Azure Table Storage cannot be used as a trigger for Azure functions .

我正在考虑的下一个方法是以某种方式列出表存储中的所有新项目。我可以轻松访问添加到分析系统的实体的最新分区键、行键和时间戳,但我找不到使用 NodeJS Azure SDK 列出时间戳大于某些给定时间戳的任何实体的方法。如果我可以列出新实体,那么我将能够定期查询新实体并将它们添加到分析系统中。

是否有办法收到新上传到表存储的通知?或者列出给定时间戳之后创建的任何项目?

最佳答案

这似乎不可能,但您可以考虑的一个选择是将您的解决方案迁移到使用 CosmosDb Table API ,其中 CosmosDb 确实支持通过 Change Feed 触发函数功能。

来自文档:

Specifically, the .NET Azure Tables SDK Azure.Data.Tables offers the latest features supported by the API for Table. The Azure Tables client library can seamlessly target either Azure Table storage or API for Table service endpoints with no code changes.

应该可以进行迁移,以便客户端代码无法区分差异。

为了解决您关于查询的观点 - 为什么不能这样做?这似乎与任何其他过滤器查询一样简单 using the SDK as described 。我不熟悉 Node SDK,但根据我使用 .NET SDK 的经验,我没有理由认为它不会受到支持。

关于azure - 如何检测 Azure 表存储中的新实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75567336/

相关文章:

Azure ServiceBusQueue 函数未在本地触发

azure - Function App 的用户分配托管标识,用于访问其自己的(托管)存储

node.js - Azure Devops 管道在安装 Node js 时抛出错误

c# - 无需 Visual Studio 即可运行 Azure 计算模拟器和存储并启动网站

.net - Azure Blob 存储作为网站图像源

c# - 功能管理、功能切换、功能标志不适用于 Azure 应用程序配置存储

c# - 从 Azure Keyvault c# 获取带私钥的 X509 证书

azure - 访问 Azure 表存储表时使用字符串名称

python-2.7 - Azure 存储表 [Python] - 批处理不会失败

c# - 删除并重新创建 Windows Azure 存储表的正确方法 = 错误 409 冲突 - 代码 : TableBeingDeleted