Azure Queue队列存储(1)

来源:互联网 发布:市场营销模拟平台软件 编辑:程序博客网 时间:2024/06/15 23:31

继前面介绍了一些关于Table和Blob等的存储之外, 今天再给大家介绍一下Queue队列存储。和以往一样, 这篇文章的示例还是以C#代码以及Azure Storage Client for .NET. 来做介绍。

首先我们来介绍一下什么是Queue(队列)存储

Azure Queue存储是一种比较常用且功能强大的存储服务,人们可以通过HTTP或者HTTPS的方式从世界各地来访问Azure大量存储信息的一种服务。一个queue消息可以最大到64KB, 而且一个queue可以存储数百万的消息, 直到达到一个存储账户的最大限度。 一个存储账户可以存储最大到500TB的blob, queue或者table数据。

常用的Queue存储包括:

  • 创建一系列异步处理作业

  • 从一个Azure Web role传递信息到另一个Azure Worker role

Queue服务概念
这里写图片描述

  • URL格式: Queues可以通过下面的URL格式来访问:
 http://<storage account>.queue.core.windows.net/<queue>
  • 下面的URL地址是上面的图片里所显示的地址
 http://myaccount.queue.core.windows.net/imagesToDownload
  • 存储账户: 所有的访问都是基于存储账户的

  • Queue队列: 一个queue包含一系列的消息。 所有的消息必须在一个queue里

  • Message: 一条消息可以是各种格式, 但是不能超过64KB

创建一个Azure存储账户

您可以参考前面的文章来创建一个Azure存储账户。 既可以登录Azure Management Portal来新建一个账户, 也可以从过Azure PowerShell或者Azure CLI来创建, 或者使用Azure Storage Resource Provider REST API.

建立一个存储连接串

.NET版Azure存储客户端库支持使用存储连接串来配置结点和密码来访问存储服务。 这里推荐您把这个链接串存储在一个配置文件里, 而不是直接把它直接写到您的代码里。 你可以用下面两种方式来保存您的连接串。

如果您的应用在Azure云服务里面, 您可以用Azure配置系统来保存您的连接串(.csdef和.cscfg)

如果您的应用在Azure虚拟机里, 或者您的.NET应用不在Azure里面。 您可以在.NET配置系统里面保存连接串(web.config或者app.config)

从Azure云服务中来配置连接串
Azure云服务在管理界Portal上提供了一个特别的配置算法来动态的修改您的配置文件而不需要从新部署您的应用。

下面我们来介绍一下如何做:

1.. 在Visual Studio的Solution Explorer里, 在Azure Development Project里的Roles文件夹, 右键点击你的web role或者worker role, 然后点击Properties。

这里写图片描述

2.. 点击Settings, 然后点击Add Setting。

这里写图片描述

一个Setting1就被新建出来了。

3..在Setting1的Type下拉菜单里, 选择Connection String。

这里写图片描述

4.. 然后点击…按钮。 然后Storage Account Connection String对话框就会打开。

5.. 选择你是否想要使用storage emulator(微软Azure在您本机上模拟的存储)或者是远程的Azure存储账号。 您可以使用emulator来降低存储的开销。
如果你选择云端的远程Azure存储账户, 你需要输入primary access key。

这里写图片描述

6..修改NameSetting1以便更方便记住

这里写图片描述

通过.NET配置文件来配置您的连接串

如果您的程序不是Azure云服务, 包括Azure网站, Azure虚拟机,和一些不在Azure里面运行的服务。 建议您使用.NET来配置, 格式如下

<configuration>    <appSettings>        <add key="StorageConnectionString" value="DefaultEndpointsProtocol=https;AccountName=account-name;AccountKey=account-key" />    </appSettings></configuration>

例子如下, 可能和您自己的config文件类似:

<configuration>    <appSettings>        <add key="StorageConnectionString" value="DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=nYV0gln9fT7bvY+rxu2iWAEyzPNITGkhM88J8HUoyofpK7C8fHcZc2kIZp6cKgYRUM74lHI84L50Iau1+9hPjB==" />    </appSettings></configuration>

接下来在配置完成后, 我们就可以来完成我们的任务了。

0 0
原创粉丝点击