问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎么使用Windows Azure Queue Storage 服务

发布网友 发布时间:2022-04-23 15:01

我来回答

1个回答

热心网友 时间:2022-04-12 10:30

什么是Windows Azure Queue Storage 队列存储

Windows Azure Queue
Storage存储大量的信息,可以在世界任何地方通过验证的调用,使用HTTP或HTTPS访问的服务。一个单一的队列信息可高达64KB的大小,队列
可以包含数百万条消息,每个存储帐户(storage account)*的总容量高达100TB。队列存储的常见用途包括:

创建异步处理积压的工作
从Windows Azure的Web角色的消息传递到Windows Azure Worker角色

基本概念

队列服务包含以下组件:

URL 格式:队列服务,是通过REST来访问的,基于URL地址访问。格式如下:

http://<storage account>.queue.core.windows.net/<queue>

上面图表的Queue的URL为:

http://myaccount.queue.core.windows.net/imagesToDownload

存储账户(Storage Account):Azure Storage访问是通过REST方式,使用对称加密方式(Symmetric)。一个账户能访问所有的云存储(Blob、Table、Queue)。

队列(Queue):一个队列能存储大量的信息。存储队列不能保证FIFO,而且还能多次读取同一个消息。

消息(Message):能存储字符串或者字节数组,一个消息不能大于64k(包括除message信息的其他信息,传递的信息大小不能超过49152字节)。

创建存储账户

在使用云存储前,得需要到云管理平台上创建存储账户。

构建访问存储连接字符串(StorageConnectionString)

连接字符串包含三个部分:DefaultEndpointsProtocol,AccountName,AccountKey

EndpointsProtocol只能是https和http,再次说明他是基于REST方式访问的(REST over http or https)。

AccountName和AccountKey可以到云管理平台查询到

连接窜组成格式如下:

DefaultEndpointsProtocol=https;AccountName=[AccountName];AccountKey=[AccountKey]

配置文件

部署云服务需要两个文件,分别是*.cspkg和*.cscfg。

前者其实是一个zip压缩文件,包含所有部署的配置信息。

后者包含webrole和worker role的工作的具体信息。

我们可以把连接字符串写在*.cscfg里面,也就是开发时云服务项目的*.cloud.cscfg、*.local.cscfg、*.csdef文件里面。

<configuration>
<connectionStrings>
<add name="StorageConnectionString"
connectionString="DefaultEndpointsProtocol=https;AccountName=[AccountName];AccountKey=[AccountKey]" />
</connectionStrings>
</configuration>

怎样开发访问队列

需要的程序集如下:

Microsoft.WindowsAzure.Storage.dll

开发代码:

// 通过连接字符串解析CloudStorageAccount实例
// Endpoint "http://storageacount.queue.core.windows.net"
CloudStorageAccount cloudStorageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageConnetionString"));

#region 队列操作
// 创建客户端存储队列实例
CloudQueueClient queueClient = cloudStorageAccount.CreateCloudQueueClient();

// 通过队列名称获取服务端存储队列实例
// Endpoint "http://storageaccount.queue.core.windows.net/eric-queue-1".
// 队列名称必须为小写
CloudQueue cloudQueue = queueClient.GetQueueReference("eric-quque-1");
//也可以直接创建
//CloudQueue cloudQueue = new CloudQueue(new Uri("http://storageaccount.queue.core.windows.net/eric-queue-1"), new Microsoft.WindowsAzure.Storage.Auth.StorageCredentials(accountName, keyValue));

// 如果队列不存在就创建一个
cloudQueue.CreateIfNotExists();

// 清除队列,清除可视、不可视和过期的所有消息。
cloudQueue.Clear();

// 删除队列,这个队列就不存在了
cloudQueue.Delete();
#endregion

#region 队列消息操作

// 发送消息,消息可以为字符串或者字节数组,最大为64K, TTL最大为7天,visibilityDelay必须小于TTL
cloudQueue.AddMessage(new CloudQueueMessage("Hello world!"), new TimeSpan(0, 0, 10), new TimeSpan(0, 0, 1), null, null);

// 获取消息, 获取从队头开始第一个可视的消息,就是nextVisibilityTimeout到了的消息
// 输入的参数visibilityTimeout是这个消息下次可视的时间间隔
// 通过Get方式获取的消息,能够更新(update)和删除(delete)
CloudQueueMessage message = cloudQueue.GetMessage(new TimeSpan(0, 0, 10));

// 修改消息,修改消息的内容和下次可视时间间隔, 也可以只修改下次可视时间间隔
message.SetMessageContent("Hello Eric Wen!");
cloudQueue.UpdateMessage(message, new TimeSpan(0, 0, 10), MessageUpdateFields.Content | MessageUpdateFields.Visibility);
cloudQueue.UpdateMessage(message, new TimeSpan(0, 0, 10), MessageUpdateFields.Visibility);

// 删除消息, 通过Get方式获取的消息,它的Id和PopReceipt有值,有这两个值才能修改和删除消息
cloudQueue.DeleteMessage(message);
cloudQueue.DeleteMessage(message.Id, message.PopReceipt);

// 查看消息,只能查看可视的消息,获取从队头开始第一个可视的消息。
// 查看消息不会改变CloudQueueMessage的DequeueCount和NextVisibleTime属性
// 这个消息是只读消息,不能更新和删除操作
message = cloudQueue.PeekMessage();

// 获取批量消息, 一次只能最多获取32条消息
IEnumerable<CloudQueueMessage> query = cloudQueue.GetMessages(32);
query = cloudQueue.PeekMessages(32);

#endregion
怎么使用Windows Azure Queue Storage 服务

import com.microsoft.windowsazure.services.core.storage.*;import com.microsoft.windowsazure.services.queue.client.*;设置Windows Azure 存储连接字符串Windows Azure 存储客户端使用存储连接字符串来存储用于访问数据管理服务的终结点和凭据。在客户端应用程序中运行时,必须提供以下格式的存储连接字符串,并对 AccountNa...

原生ip - StormProxies

StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,IP纯净高匿;2、覆盖全球20...

怎么使用Windows Azure Queue Storage 服务

存储账户(Storage Account):Azure Storage访问是通过REST方式,使用对称加密方式(Symmetric)。一个账户能访问所有的云存储(Blob、Table、Queue)。队列(Queue):一个队列能存储大量的信息。存储队列不能保证FIFO,而且还能多次读取同一个消息。消息(Message):能存储字符串或者字节数组,一个消息不能...

Windows Azure虚拟机的存储交易为什么消耗这么快?是什么计算法?如图...

1.存储交易也就是存储事务包括对存储区的读操作和写操作。跟存储服务相关的任何操作,都是通过调用REST Api的方式发送请求,所以每一个针对Blob,Table或者Queue发起的REST API的调用都是一个存储交易。例如:我们要从存储中获取一个Block Blob文件,需要调用GetBlob API,一次GetBlob的调用就是一次存储交...

Windows Azure的进化史是怎样的

Azure Storage很早就提供了blob,table,queue三种形式。SQL Azure主要还是把原来SQL Server改来改去搞出来的。从用户角度,用SQL Azure相对比较熟悉,原有代码更容易迁移上去,Azure Storage这种方式更适合全新的开发。那段时候用户满意度不是很好,SQL Azure的reliability(可用性)有点差,时不时抽个风就conn...

golang写游戏后端?

它带有强大的映射语言,易于部署和监控,并且可以作为静态二进制文件、docker映像或无服务器函数放入您的管道,使其成为云原生。 Benthos是完全声明性的,流管道在单个配置文件中定义,允许您指定连接器和处理阶段列表: ApachePulsar,AWS(DynamoDB,Kinesis,S3,SQS,SNS),Azure(Blobstorage,Queuestorage,Tablestorage),Cassandra...

c++builder xe2 是什么

Delphi与C++Builder还带有FireMonkey,这是一个新的平台,用于针对Windows、Mac OS X与iOS创建HD与3D动画。这些原生应用利用CPU与GPU来绘制动画,并且可以通过LiveBindings与任意数据类型进行连接。Delphi与C++Builder应用可以部署到Amazon EC2与Windows Azure上,同时支持Amazon Simple Storage Service API、Queue ...

aws(亚马逊WEB服务)详细资料大全

可以利用NAT使得子网不暴漏区域网路IP,公用一个IP位址与外界通讯。通过NAT设定访问控制,保护数据安全性。 存储类: S3 (Simple Storage Service) : 亚马逊简单存储服务(S3)是一种网路存储服务,可为用户提供持久性、高可用性的存储。用户可以将本地存储迁移到Amazon S3,利用 Amazon S3 的扩展性和按使用付费的优势...

golang写游戏后端?

它带有强大的映射语言,易于部署和监控,并且可以作为静态二进制文件、docker映像或无服务器函数放入您的管道,使其成为云原生。 Benthos是完全声明性的,流管道在单个配置文件中定义,允许您指定连接器和处理阶段列表: ApachePulsar,AWS(DynamoDB,Kinesis,S3,SQS,SNS),Azure(Blobstorage,Queuestorage,Tablestorage),Cassandra...

c++builder xe2 是什么

Delphi与C++Builder还带有FireMonkey,这是一个新的平台,用于针对Windows、Mac OS X与iOS创建HD与3D动画。这些原生应用利用CPU与GPU来绘制动画,并且可以通过LiveBindings与任意数据类型进行连接。Delphi与C++Builder应用可以部署到Amazon EC2与Windows Azure上,同时支持Amazon Simple Storage Service API、Queue ...

windows终止服务怎么办 window怎么使用 Windows10使用说明 如何使用windows10 广泛使用的windows windows打开服务 windows停止服务 启动Windows安全中心服务 windows删除服务
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
庐山的原名叫什么 庐山的命名由来和文化传说有哪些? 怎样轻松运营本地资讯网站 微信发图片怎么突然模糊了 怎么将excel表格中的数字去掉怎么将excel表格中的数字去掉一个_百度... ...由于没有工作经验,求职会计和出纳都是石沉大海,怎么办? 我想找一种测试工具。工作范围:软件测试,产品功能测试,电子相关器件... 有一个小米手机推荐游戏,我想不起来名字是英文的 音乐超级带感 好像... 怎么样吃石榴最爽? 石榴怎么吃?像吃西瓜一样吗? 微信收到信息对方已添加我为通讯录好友,我还未验证同意,为什么对方就能... 微信别人把我添加到通讯录里面。我没有添加他。那我添加他的时候他那边会显示我添加了吗 吗? 微软 云存储计算,服务器在中国吗 开外卖店是先办手续和执照还是先租商铺? 云存自动快进是怎么回事 在家做外卖如何办理营业执照? 有哪些值得推荐的云存储服务?理由是什么 做家庭式外卖怎么办营业执照? 微软云怎么样 在家做外卖需要什么执照? 微软的云存储Skydrive怎么关闭开机启动呀 微软的onedrive的云存储图片为什么下载查看时不清晰? goodnotes云存储为什么登录不上OneDrive? 我想做美团外卖,需要办理营业执照怎么弄 微软公司的云计算服务有哪些? OneDrive是做什么用的? 我移动宽带上网!网页游戏打不开!l联不上37玩的服务器!要用网络加速度器!有没有那个有免费的上网加速度器! 有哪个音乐电台是全国都能收听的啊? l联合国秘书长是谁? 请问全国各地都能收听到的中央人民广播电台的频率是多少 Win10怎么关闭云存储服务OneDrive 微信,对方把我加人通讯录,我没有加他,他可以给我发信息吗 微信明明是对方加的我,我这微信好友来源却显示通过手机通讯录添加,没有对方二_百度问一问 微信别人添加我为好友提示“XX刚刚把你添加到通讯录” 微信对方请求添加我为好友, 显示是来自通讯录的好友 但又没有显示对方手机号 本人又不认识 请问这个 为什么微信别人不认识的人加我全是通过通讯录加?全都不显示在新的朋友那里 微信对方请求添加我为好友时显示:“来自通讯录的好友”,是指对方的通讯录还是我的通讯录? 手机qq无法登录怎样更改密保手机号? 为什么有人通过手机联系人添加我微信,我这边不显示有人加我??? 为什么微信通讯录里显示有人加我好友?我点进去却还是添加呢?为什么不是接受呢? 假如微信对方加入了我通讯录,对方知道我手机号所以加入了我通讯录,不过我不知道对方手机号的,后来这对 qq没有登陆的情况下怎样改密保手机号 怎么在不登qq的情况下,修改密保手机号码 《谁懂我的心》这部电视剧,主要讲的是什么? 电视剧《谁懂我的心》中的卫娜是谁扮演的?她还演过哪些电视剧? 谁懂我的心? 谁懂我的心是哪年拍摄的? 电视剧 谁懂我的心 的女主角叫什么?有资料吗? 电视剧 谁懂我的心 里的司徒夏是谁演的啊? 电视剧《谁懂我的心》的下载地址。