Причина в том, что каждый раз, когда вы вызываете GetRootDirectoryReference()
, вы создаете новый экземпляр FileItem
, в результате чего в его свойствах инициализируется его значение по умолчанию, такое же поведение, как при использовании GetBlockBlobReference()
.
Вам нужно позвонить по этому номеру FetchAttributes
, чтобы заполнить все свойства.
Обратите внимание, что при получении свойств вам не нужно создавать новый экземпляр вашего объекта.
вы можете следить за этим постом , который ссылается на BLOB-объекты, но также касается и вашей ошибки.
Пример, который вы запросили, будет:
public static void ListContainerMetadataAsync(CloudBlobContainer container)
{
// Fetch container attributes in order to populate the container's
properties and metadata.
container.FetchAttributes();
// Enumerate the container's metadata.
Console.WriteLine("Container metadata:");
foreach (var metadataItem in container.Metadata)
{
Console.WriteLine("\tKey: {0}", metadataItem.Key);
Console.WriteLine("\tValue: {0}", metadataItem.Value);
}
}
Вы можете прочитать больше на docs.microsoft .