• C# Azure 存储-队列


    1.前言

      本篇文章是根据Azure的官网document总结,如果想直接跳过本文章,可以点击下面的链接进入。

      https://www.azure.cn/zh-cn/documentation/articles/storage-dotnet-how-to-use-queues/

    2.介绍

      Azure 队列存储是一项可存储大量消息的服务,用户可以通过经验证的调用,使用 HTTP 或 HTTPS 从世界任何地方访问这些消息。一条队列消息的大小最多可为 64 KB,一个队列中可以包含数百万条消息,直至达到存储帐户的总容量限值。

    • 存储帐户:对 Azure 存储空间的所有访问都要通过存储帐户来完成。有关存储帐户容量的详细信息,请参阅 Azure 存储空间可伸缩性和性能目标

    • 队列:一个队列包含一组消息。所有消息必须位于相应的队列中。请注意,队列名称必须全部小写。有关命名队列的详细信息,请参阅命名队列和元数据

    • 消息:一条消息(不管采用何种格式)的最大大小为 64 KB。消息可以保留在队列中的最长时间为 7 天

    3.开始用portal界面创建存储

    1)登录portal网站

    https://portal.azure.cn

    2)新建

    新建—>Data+Storage—>存储账户

    image

    随便填写自己的名称与资源组,并且选择自己要创建的资源。点击【创建】

    image

    3)进入到刚才我们新建的ceslighttest

    image

    进入到【访问秘钥】菜单,我们建立连接时要用到名字&秘钥,请把他复制出来。

    image

    界面到此结束

    4.用代码创建队列

    1)首先,导入包,在包管理器上面分别输入下面的命令:

    Install-Package WindowsAzure.Storage

    Install-Package Microsoft.WindowsAzure.ConfigurationManager

    2)创建代码如下:

                 string connStr ="DefaultEndpointsProtocol=https;AccountName=ceslighttest;AccountKey=cp3JXYFXu6XhV18oVQW2q7urHOhxhm9Guwl6uElTBWd9n3xxxxxxxxxxxxxxx;EndpointSuffix=core.chinacloudapi.cn";
                    //建立连接
                    CloudStorageAccount storageAccount = CloudStorageAccount.Parse(connStr);
                    CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();
    
                    //创建队列名字,注意这里的名字一定要为全部小写,不然返回400错误
                    CloudQueue queue = queueClient.GetQueueReference("testnouimage");
                    //创建队列如果不存在
                    queue.CreateIfNotExists();

    3)创建完成后,可以从portal界面上看到队列了

    image

    3)对消息的增删改查等操作

      a. 扫视一下消息,不对消息做任何操作,只是看一下

    CloudQueueMessage message = queue.PeekMessage();

      b. 取得队列里面有多少消息

    queue.FetchAttributes();
    //得到队列的消息数
    int count = queue.ApproximateMessageCount;

      c. 取得消息,然后删除消息。因为取出消息,默认不做删除的操作,30秒后,会自动将取出的消息放到队列后面

    CloudQueueMessage retrievedMessage = queue.GetMessage();
    //删除消息。因为取出消息,默认不做删除的操作,30秒后,会自动将取出的消息放到队列后面
    queue.DeleteMessage(retrievedMessage);

      d. 删除队列

    queue.Delete();

    5.结束

    队列的介绍到此结束了,后面会有修改与修补此文章。

  • 相关阅读:
    [置顶] 图书推荐:SQL Server 2012 T-SQL基础 Itzik Ben-Gan
    UVA1366-----Martian Mining------DP
    动态规划——最长公共子序列(LCS)
    需求分析挑战之旅(疯狂的订餐系统)(3)——背景-需要-需求规格
    JavaScript学习笔记(四十四) 装饰器
    C中的volatile用法
    Java注解Annotation学习
    非常好!讲逻辑回归的,讲得很透彻
    RPC的学习 & gprotobuf 和 thrift的比较
    僵尸进程学习 & 进程状态列表 & Linux信号学习
  • 原文地址:https://www.cnblogs.com/alunchen/p/5765700.html
Copyright © 2020-2023  润新知