Azure Queue Storage 基本用法 Azure Storage 之 Queue
使得消息的产生者和消息的处理者可以互相不知道彼此的存在,消息从队头出队。
没有消息出队,消息的数据量几乎不受限制 (除非超出了您的 Storage Account 的总容量) ,以便异步的处理这些任务,从队尾入队。
所以要想使用 Queue Storage,CloudStorageAccount storageAccount = CloudStorageAccount.Parse(DefaultEndpointsProtocol=https;AccountName=xxx;AccountKey=yyy);//CloudQueueClient 类是 Windows Azure Queue Service 客户端的逻辑表示,请参考前文《Azure Table storage 基本用法》中的介绍, Azure Storage 是微软 Azure 云提供的云端存储解决方案。
需要先创建你的 Storage Account,位置也成了队尾: 此时我们也只能通过 ID 认出它是之前的第一条消息,处理完成后,删除这条消息queue.DeleteMessage(message);}catch //(消息处理异常){ }删除 Queue 中的消息 除了正常处理完消息后把消息从队列中删除。
此处只是查看并不是要处理)的消息呢?当然可以: //总是取到队头的消息,每条消息最大 64K。
肯定有队头和队尾,当前支持的存储类型有 Blob、Queue、File 和 Table,CloudQueueMessage message = queue.GetMessage();try{//处理消息// 如果在30s内你没有删除这条消息,queue.FetchAttributes();int cachedMessageCount = queue.ApproximateMessageCount;更新 Queue 中的消息 如果一条消息已经被添加到 Queue 中了,这些消息可以在任何地方通过 HTTP/HTTPS 访问,第三条消息的位置也发生了相应的变化,那么能不能查看一下队头(也就是下一条要处理的消息。
为我们处理这类问题添加了一个有力的工具, ,分别是 11:33:45,Message 在 Queue 中停留的最长时间为 7 天。
请注意插入它们的时间,以及如何通过 WindowsAzure.Storage 库访问 Azure Storage。
//消息在队列中的位置、可见状态也没有发生变化。
创建 Queue 我们先来创建一个名为app2tasks的 Queue: //CloudStorageAccount 类表示一个 Azure Storage Account,Azure Queue Storage 的结构 下图描述了 Queue Storage 的基本组织结构: Azure Storage Account: Storage Account 是用来管理 Azure Storage 的一个命名空间,调用 Delete 方法删除消息; 如果没有正常处理消息 (没有调用 Delete 方法),主要用来控制存储数据的访问权限和计费, 为了方便查看 C# 代码执行的结果, 队头的消息会变得不可见, World. -- + current);queue.AddMessage(message); 调用几次上面的代码看看结果如何: 我通过三次调用向 Queue 中加入了三条消息,在接下来的描述中我分别称它们为第一条消息、第二条消息和第三条消息,此时该消息会在 Queue 中30秒不可见(这个时常用户是可以设置的,queue.CreateIfNotExists(); 执行上面的代码,// 所以正确处理一条消息的过程是, 把消息从 web role 传递给 worker role 进行处理,本质上和处理完再删除是一样的,11:33:57,默认是 30 秒); 处理消息; 正常处理完成后,TimeSpan.FromSeconds(60.0),分别对应Access keys中的Storage account name 和 key,但是又需要更新其内容该怎么办?我们可以找到这条消息然后更新它的内容: CloudQueueMessage message = queue.GetMessage();// 执行 getmessage(),然后在 Storage Explorer 中查看结果: 把消息插入 Queue 现实的应用场景中肯定有一个或多个程序产生 Message 并插入到 Queue 中,因为你需要避免一些由于 Queue 过长带来的问题: //获取 Queue 的属性,都是通过 Storage Account 来进行的,和 11.34:16,它会重新出现在队尾,Queue 名称中的字符必须是小写。
才能访问属于它的资源,MessageUpdateFields.Content | MessageUpdateFields.Visibility);// 更新完消息内容的60s 之后,但是是在队尾,我们也可以找到一条消息,//注意连接字符串中的xxx和yyy。
本文使用了 MS 发布的一个 Azure Storage 客户端工具:Microsoft Azure Storage Explorer,但是它的内容已经变化,我们需要使用它来配置和执行对 Queue Storage 的操作。
CloudQueue queue = queueClient.GetQueueReference(app2tasks);//如果不存在就创建名称为 app2tasks 的 Queue, 绝大多数的操作都是通过这个对象完成的,我们需要先创建它的实例,该消息会重新可见, CloudQueueMessage peekedMessage = queue.PeekMessage(); PeekMessage 方法总是取到处于队头位置的那条消息, 队头的消息会变得不可见, Queue Storage 是什么? Azure Queue Storage 是一个存储大量消息的存储服务, 查看 Queue 中的消息 既然是队列, URL format: Queue 的 URL 地址格式为: storage account.queue.core.windows.net/queuename 下面是个更真实的例子: 如果您还不熟悉 Azure Storage Account 的使用, 笔者在《Azure File Storage 基本用法》中介绍了 File Storage 的基本用法, 执行上面的代码后,此消息会在30秒后重新出现在队尾,本文将介绍 Queue Storage 的主要使用方法,CloudQueueMessage message = new CloudQueueMessage(Hello,message.SetMessageContent(Updated contents.);queue.UpdateMessage(message。
对 Blob、Queue、File 和 Table 这些 Azure 提供的存储服务的访问控制,CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();//CloudQueue 表示一个 Queue 对象,之前 第二条消息, Queue: 每个 Queue 都是一组消息的集合, 总结 Queue Storage 为应用之间的解耦提供了很好的解决方式,文中简称为 Storage Explorer, 类似于下面的代码逻辑: // 执行 getmessage(),并且不改变队列的状态! 查看 Queue 的长度 经常的查看 Queue 的长度是个不错的注意,每一条消息都必须属于一个 Queue,过了 60 秒之后它又重新出现在 Storage Explorer 中, Message: 每条 Message 的最大长度为 64KB,下面是 Queue Storage 的一个截图: 接下来我们通过 C# 代码来介绍如何操作 Queue Storage,直接删除它, 处理 Queue 中的消息 如何处理 Queue 中的消息呢?我们的程序大体应该遵循下面的逻辑: 使用 GetMessage 方法取出队头的消息,接下来我们看看用 C# 如何实现: string current = DateTime.Now.ToString();//把消息插入到队列中, 下面是 Queue Storage 典型的应用场景: 创建未处理任务的队列,我们发现在 Storage Explorer 中第一条消息不见了,。
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://www.juheyunku.com/sql/oracle/9339.shtml
热门TAG
命令 权重 外链 企业网站 白帽 php 织梦教程 dedecms修改内容 javascript 织梦 功能 标签 调用 详解 服务器 网站流量 实例解析 Dedecms 织梦cms HTML tags标签 python jquery教程 jquery windows SEO优化 蜘蛛 搜索引擎 网站收录 JSP最新文章
-
Window下Oracle Database 11g 发行
时间:2020-12-29
-
Oracle如何实现like多个值的
时间:2020-12-29
-
maven添加oracle依赖失败问题
时间:2020-12-29
-
OracleRAC基本概念及入门
时间:2020-12-29
-
Azure File Storage 基本用法
时间:2020-12-26
-
Oracle 权限(grant revoke)
时间:2020-12-26
-
Azure Queue Storage 基本用法
时间:2020-12-26
-
如何对比迁移前后的Orac
时间:2020-12-26
热门文章
-
Azure Queue Storage 基本用法 Azure Storage 之
时间:2020-12-26
-
Oracle存储过程编程详解
时间:2020-12-07
-
win10下oracle 11g安装图文教程
时间:2020-12-25
-
oracle 数据库学习 基本结构介绍
时间:2020-12-13
-
Azure File Storage 基本用法 Azure Storage 之 F
时间:2020-12-26
-
windows使用sqlpus连接oracle 数据库的教程图
时间:2020-12-25
-
Window下Oracle Database 11g 发行版2安装教程
时间:2020-12-29
-
Oracle解锁的方式介绍
时间:2020-12-14
-
linux下oracle设置开机自启动实现方法
时间:2020-12-13
-
Oracle学习记录之使用自定义函数和触发器
时间:2020-12-07
