Azure Queue队列存储(1)

原创 2015年06月23日 15:49:50

继前面介绍了一些关于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>

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

Windows Azure队列与服务总线队列的比较

《Windows Azure队列与服务总线队列的比较》作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszs在微软Azure云平台上,有两种队列实现,一种是Win...
  • chszs
  • chszs
  • 2014年05月06日 23:22
  • 3870

Azure Queue队列存储(2)

我们接上一篇来继续讨论queue存储, 在(1)中我们已经按步骤完成了配置和连接。 下面我们就来看如何来使用具体的存储。以编程方式访问Queue队列存储 获取组件您可以使用NuGet来获取Micr...
  • azurejack
  • azurejack
  • 2015年06月23日 16:55
  • 5851

Windows Azure队列与服务总线队列的比较

《Windows Azure队列与服务总线队列的比较》作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszs在微软Azure云平台上,有两种队列实现,一种是Win...
  • chszs
  • chszs
  • 2014年05月06日 23:22
  • 3870

Azure Queue队列存储(2)

我们接上一篇来继续讨论queue存储, 在(1)中我们已经按步骤完成了配置和连接。 下面我们就来看如何来使用具体的存储。以编程方式访问Queue队列存储 获取组件您可以使用NuGet来获取Micr...
  • azurejack
  • azurejack
  • 2015年06月23日 16:55
  • 5851

微软Azure PowerShell使用指南(1) - 连接订阅

这是我们Azure非官方的第一篇
  • Azure_NonOfficial
  • Azure_NonOfficial
  • 2014年07月24日 22:40
  • 2061

Azure Queue队列存储(1)

Azure Queue队列存储(1) 首先我们来介绍一下什么是Queue(队列)存储 Azure Queue存储是一种比较常用且功能强大的存储服务,人们可以通过HTTP或者HTTPS的...
  • u011394397
  • u011394397
  • 2017年02月28日 16:13
  • 151

[Azure]使用Powershell输出Azure订阅下所有虚拟机的ACL信息

这个脚本可以用来输出订阅下所有虚拟机的ACL信息,脚本内容: # 设置订阅ID Select-AzureSubscription -SubscriptionName "XXXXXX" # 获取当前默...
  • qwertyupoiuytr
  • qwertyupoiuytr
  • 2017年01月08日 22:05
  • 615

关于Azure的存储(Storage)服务类型

Azure的存储服务类型可以在Azure管理门户的仪表板中看到,目前有以下四种类型。Azure存储服务,其实是一个http / https的网络路径,可以进行权限控制。Azure存储服务并不依赖于任何...
  • Denny_Duan77
  • Denny_Duan77
  • 2015年02月26日 15:29
  • 1326

如何用Azure Web App Services接入微信公众号

注:本文提到的代码示例下载地址>如何用Azure Web App Services接入微信公众号 如何用Azure Web App Services接入微信公众号 简介 此示例演示如何创建Azu...
  • onecodeonescript
  • onecodeonescript
  • 2016年10月19日 13:34
  • 592

Azure Table存储(1)

承接前面的文章, 今天给大家介绍一下Table存储(表存储)服务。 还是老样子都是用C#的代码示例, 使用Azure存储客户端库。什么是Table服务Azure Table存储服务 主要用于存储大量的...
  • azurejack
  • azurejack
  • 2015年05月25日 12:34
  • 1158
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Azure Queue队列存储(1)
举报原因:
原因补充:

(最多只允许输入30个字)