如何检查元数据是不是为空
Posted
技术标签:
【中文标题】如何检查元数据是不是为空【英文标题】:How to check if metadata is empty如何检查元数据是否为空 【发布时间】:2022-01-24 00:43:45 【问题描述】:我创建了一个 addMetadata 类来将元数据添加到存储在 Azure 容器中的 BLOB。但在我想添加新的元数据之前,我想检查现有的元数据,并且只有在没有元数据的情况下我才想做一些事情。我尝试了以下代码:
if (properties.Metadata == null)
// Do stuff...
其中 properties 是由 BlobClient.GetPropertiesAsync() 生成的 BlobProperties 变量。但是这似乎不起作用,有人有其他建议吗?
非常感谢!
【问题讨论】:
嗨@fooourierou,如果下面的答案有帮助,您可以接受它作为答案(单击答案旁边的复选标记将其从灰色切换为已填充。)。这对其他社区成员可能是有益的。谢谢 【参考方案1】:我在我的系统中尝试过
尝试使用blob.Metadata.Count
如果元数据数据未设置则返回整数值返回0否则返回blob中元数据的计数值。然后检查计数值是否为0添加新的元数据数据
CloudStorageAccount storageAccount = CloudStorageAccount.Parse("Connection String");
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference("test // container name");
CloudBlockBlob blob = container.GetBlockBlobReference("caseno.txt //blob name");
blob.FetchAttributes();
Console.WriteLine("Blob metadata:");
// Enumerate the blob's metadata.
Console.WriteLine(blob.Metadata);
//Check the blobs metadata
if (blob.Metadata.Count == 0)
blob.Metadata.Add("docType", "textDocuments");
// Add metadata to the blob by using key/value syntax.
blob.Metadata["caseno"] = "caseno";
blob.SetMetadata();
foreach (var metadataItem in blob.Metadata)
Console.WriteLine("\tKey: 0", metadataItem.Key);
Console.WriteLine("\tValue: 0", metadataItem.Value);
输出
【讨论】:
以上是关于如何检查元数据是不是为空的主要内容,如果未能解决你的问题,请参考以下文章