javascript - getmetadata 用于 Azure Blob 存储 NodeJ 中选择的 Blob

标签 javascript node.js azure azure-blob-storage azure-functions

我正在开发一个 Azure 函数,该函数连接到 Azure 存储,以根据这些 Blob 上的特定元数据获取 Blob 元数据的选择性列表。例如,在存储中的所有 blob 上,都会有一个名为 type 的元数据,它存储新闻、变更通知、常见问题解答等值。我们可能有 50 个 blob 是新闻,另外 50 个是变更通知,另外 50 个是常见问题解答。

现在,我从函数中请求所有类型为 news 的 blob,该函数应以 json 形式返回所有包含 news 的 blob 的元数据,如下例所示:

value: [
{ object : abc.xml,
  data created : Mar 20,2018,
  type : news,
  creator name : john
}
{
   object : xyz.xml,
   data created: Mar 13,2018,
   type : news,
   creator name : Siva
}
{
   object : dce.xml,
   data created: Mar 20,2018,
   type : news,
   creator name : John
}

然后我必须根据元数据对数据进行排序。我看到了单个 blob 的 getmetadata 和 getproperties 选项,但我没有看到任何选项可以通过存储 sdk 获取上面提到的内容。是否可以使用 Blob 存储元数据来实现此目的?是否有任何 sdk 方法可以实现它?

[编辑] 获取 blob 的过滤器类型不会改变。

最佳答案

Is it possible to achieve this with Blob Storage metadata and Is there any sdk methods available to achieve it?

遗憾的是,Azure Blob 存储不支持您尝试完成的任务。您无法查询元数据(或任何其他属性,如上次修改日期、内容类型等)上的 blob 并执行服务器端过滤。

您需要做的是获取 blob 列表并在客户端进行过滤(在您的情况下在函数代码中)。

其他替代方案是使用其他服务,例如 Cosmos DB 或 Azure 表存储。借助 Cosmos DB 和 Azure 表存储,您可以将此元数据与 blob URL 一起存储在其中,并在这些存储中进行搜索以获得所需的结果。

关于javascript - getmetadata 用于 Azure Blob 存储 NodeJ 中选择的 Blob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49778689/

相关文章:

javascript - JQuery 验证表单但不是 `submit` 按钮

android lollipop 和 socket.io 不能一起工作

c# - 将匿名对象发送到 Azure 中的服务总线队列

Azure 开发运营 : work item type rules triggered by Board Column

javascript - 在钛的本地数据库中插入特殊字符

javascript - 找不到模块 '../constants/links' 的声明文件 | src/constants/links.js' 隐式具有 'any' 类型

javascript - 以编程方式删除 html 元素

node.js - 在企业代理 Node.js 后面访问 Github

node.js - 使用 Cloudformation 部署 Lamba,包括函数将有权访问的参数

azure - Kusto 中两个连续值之间的差异