【发布时间】:2019-06-09 13:02:16
【问题描述】:
在我们的 Azure 门户中,我创建了一个存储帐户,并在其中创建了一个 blob 容器,其中一个 blob 只是一个简单的文本文件。我还在此处看到的 blob 上设置了一些随机元数据字段。
在我的 java 代码中,当我通过 Azure SDK 访问 Blob 时,我可以打印 Blob 的内容,我可以访问 Etag 等 Blob 属性,并且我可以访问容器元数据。但我无法打印上面看到的 blob 元数据字段。具体来说,从示例页面获取的这段代码不会打印任何内容,因为从 blob.getMetadata() 方法接收到的 HashMap 是空的。
System.out.println("Get blob metadata:");
HashMap<String, String> metadata = blob.getMetadata();
Iterator it = metadata.entrySet().iterator();
while (it.hasNext()) {
Map.Entry pair = (Map.Entry) it.next();
System.out.printf(" %s = %s%n", pair.getKey(), pair.getValue());
it.remove();
}
如果我改为对 blob 进行 REST API 调用并要求提供元数据字段,我会将它们作为 HTTP 标头返回。但是,如果可能的话,我想通过 SDK 访问它们。
【问题讨论】:
标签: java azure azure-storage azure-blob-storage azure-sdk