Azure blob存储 - 自动生成唯一的blob名称

时间:2013-01-14 13:29:43

标签: azure naming azure-storage-blobs auto-generate

我正在为Windows Azure编写一个小型Web应用程序,它应该使用blob存储来显然存储blob。

是否有功能或方法为插入时的blob自动生成唯一名称?

4 个答案:

答案 0 :(得分:7)

您可以使用Guid

string blobName = Guid.NewGuid().ToString();

答案 1 :(得分:4)

除了 Sandrino 所说的(使用具有非常低的重复概率的GUID),您可以考虑一些生成无冲突标识符的第三方库示例:Flake ID Generator

修改

Herve 指出了非常有效的Azure Blob功能,应该考虑使用任何blob名称,即 Azure存储负载平衡和blob分区

Azure将所有blob保留在分区服务器中。应使用哪个分区服务器来存储特定blob,这取决于blob容器和blob文件名。不幸的是,我无法找到和描述用于blob分区的算法的文档。

有关Azure Blob架构的更多信息,请参阅Windows Azure Storage Architecture Overview文章。

答案 2 :(得分:4)

没有任何内容可以“插入”生成唯一名称;你需要提前提出这个名字。

在选择blob的名称时,在使用任何生成某种序列号的算法时(在blob名称的开头或末尾)要小心。 Azure存储依赖于名称进行负载平衡;使用顺序值可能会在访问/写入Azure Blob时产生争用,因为它可能会阻止Azure正确地对其存储进行负载平衡。每个节点(即服务器)获得60MB /秒。因此,为了确保正确的负载平衡并在多个存储节点上利用60MB /秒,您需要为blob使用随机名称。我通常使用Guids来避免这个问题,正如Sandrino所推荐的那样。

答案 3 :(得分:0)

这是一篇过时的文章,但这是“ azure storage blob唯一ID”搜索中显示的第一个匹配项。

看起来生成的' metadata_storage_path '属性是唯一的,但是它不可过滤,因此对于某些目的可能没有用。

enter image description here

enter image description here