На нашем портале Azure я создал учетную запись хранения и внутри создал контейнер больших двоичных объектов, а внутри этого большого двоичного объекта - простой текстовый файл. Я также установил несколько случайных полей метаданных в большом двоичном объекте, показанном здесь.
В моем Java-коде, когда я обращаюсь к большому двоичному объекту через Azure SDK, я могу распечатать содержимое большого двоичного объекта, я могу получить доступ к свойствам большого двоичного объекта, таким как Etag, и получить доступ к метаданным контейнера. Но я не могу распечатать поля метаданных blob, показанные выше. В частности, этот код, взятый со страницы примеров, ничего не печатает, поскольку полученный HashMap из метода 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();
}
Если я вместо этого сделаю вызов REST API для большого двоичного объекта и запрошу поля метаданных, я верну их в виде заголовков HTTP. Однако я хотел бы получить к ним доступ через SDK, если это возможно.