在我们的Azure门户中,我创建了一个存储帐户,并在内部创建了一个blob容器,在其中创建了一个blob,它只是一个简单的文本文件。我还在此处看到的Blob上设置了一些随机元数据字段。
在我的Java代码中,当我通过Azure SDK访问blob时,可以打印blob的内容,可以访问blob属性(例如Etag),并且可以访问容器元数据。但是我无法打印上面看到的Blob元数据字段。具体地说,由于从$(".video").on("click", "img", function(e) {
console.log( $(this).closest('.video') )
})
方法接收到的HashMap为空,因此从示例页面获取的此代码不会打印任何内容。
blob.getMetadata()
如果我改为对Blob进行REST API调用并询问元数据字段,则会将它们作为HTTP标头返回。但是,我想尽可能通过SDK访问它们。
答案 0 :(得分:1)
在blob.getMetadata()
之前,使用blob.downloadAttributes()
此方法填充Blob的系统属性和用户定义的元数据。在读取或修改Blob的属性或元数据之前,请调用此方法或其重载以从Microsoft Azure存储服务中检索Blob的属性和元数据的最新值。