在我们的Azure门户中,我创建了一个存储帐户,在其中创建了一个blob容器,在其中创建了一个blob,它只是一个简单的文本文件。我还设置了这里看到的blob上的一些随机元数据字段。
在我的Java代码中,当我通过Azure SDK访问BLB时,我可以打印BLB的内容,我可以访问BETB属性,比如ETAG,我可以访问容器元数据。但我无法打印上面看到的blob元数据字段。具体来说,从示例页面获取的代码不会打印任何内容,因为从
blob.getMetadata()
方法为空。
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访问它们。