技术开发 频道

Azure Services探索:存储之队列存储

  最后的有关队列的简单规则

  看到“mymessage090120”这个队列名了吗? 这是我想告诉的另外一个注意事项,那就是Azure Container的命名规则,队列名,表名这些在Azure中都算是一个容器(Container)的标示,容器名必须是一个有效的DNS (Domain Name System)的名称,并遵守下面规则

  规则1:队列、Blob容器和表的名称的命名规则

  ·名称必须以数字或字母开头,并且有字母,数字,. 符号(period)和-符号(dash)组成

  ·所有的字母必须是小写

  ·名称的长度在3-63个字符之间

  ·在. 符号后面不能直接跟-符号

  简单说来,就是必须符合这个正则表达式 ^([a-z]|\d){1}([a-z]|-|\d){1,61}([a-z]|\d){1}$,另外一个是表名的约束ValidTableNameRegex = @"^([a-z]|[A-Z]){1}([a-z]|[A-Z]|\d){2,62}$"

  我一开始没有注意到这些,使用了大写字母,结果 Debug了折腾了一圈才找到错误。

  规则2 :一个队列能够包括无数个消息,每个消息的大小不能超过8K(MaxMessageSize = 8 * 1024),消息在队列中的最大存活时间为7天(MaxTimeToLive = 7 * 24 * 60 * 60)

  相关的信息,可以在Queue.cs 和RESThelpers.cs 中找到一些。

  规则3:队列存储是跟随和绑定在一个Azure平台的帐号下的,队列存储中包含无限量的消息。从REST的路径上可以看出http://<Account>.queue.core.windows.net/<QueueName>

  规则4:Azure队列服务提供的是可靠的队列化的消息服务,它能确保消息至少被接收到一次,适合在异步的任务分发和查询场景中,并且只要Azure平台的帐号不变,队列存储本身是可靠和持久性的存储(Durable Storage)。

0
相关文章