博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Windows Azure Storage (25) Azure Append Blob
阅读量:6502 次
发布时间:2019-06-24

本文共 2307 字,大约阅读时间需要 7 分钟。

  《》

  

  在笔者之前的文章中,我们介绍了Azure Blob 有两种:Block Blob和Page Blob。

  在这里笔者介绍Blob的第三种:Append Blob。

 

  概念:

  1.Append Blob概念类似于Block Blob,因为都是由块组成的

  2.单个Block Blob可以包含最多50000个块,每个块最大100MB,总大小大约4.75TB (100MB * 50000)。

  3.Append Blob针对追加操作进行了优化,特别适合与日志记录方案

  4.Append Blob可以包含最多50000个块,每个块最大4MB。总大小约为195GB

  5.Append Blob不支持修改和删除,每个对Append Blob的操作,都会追加到Append Blob的末尾。

 

  我们这里写一个.NET的Sample Code:

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using Microsoft.WindowsAzure.Storage;using System.Configuration;using Microsoft.WindowsAzure.Storage.Blob;using System.IO;namespace WindowsFormsApplication1{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        private void button1_Click(object sender, EventArgs e)        {            CloudStorageAccount cloudStorageAccount = CloudStorageAccount.Parse(ConfigurationManager.AppSettings["AzureStorageConnectionString"]);            CloudBlobClient cloudBlobClient = cloudStorageAccount.CreateCloudBlobClient();                        //Container Name必须为小写            CloudBlobContainer cloudBlobContainer = cloudBlobClient.GetContainerReference("appendblobcontainer");            cloudBlobContainer.CreateIfNotExists();            CloudAppendBlob cloudAppendBlob = cloudBlobContainer.GetAppendBlobReference("helloworld.txt");            //如果不存在,则创建该文件            if(!cloudAppendBlob.Exists())            {                 cloudAppendBlob.CreateOrReplace();            }            var tasks = new Task[100];            for (int i = 0; i < 100; i++)            {                var message = string.Format("Appending log number {0} to an append blob.\r\n", i);                var bytes = Encoding.UTF8.GetBytes(message);                var stream = new MemoryStream(bytes);                tasks[i] = cloudAppendBlob.AppendBlockAsync(stream);            }            Task.WaitAll(tasks);            string appendBlobContent = cloudAppendBlob.DownloadText();        }    }}

  如果我们执行代码两次,然后通过Azure Storage Explorer查看这个TXT文件,就可以看到文件被追加到Azure Append Blob里面了。

本文转自Azure Lei Zhang博客园博客,原文链接:http://www.cnblogs.com/threestone/p/7904706.html,如需转载请自行联系原作者

你可能感兴趣的文章
【Node】简单快捷的图片压缩脚本
查看>>
ZooKeeper系列一:基本概念
查看>>
分布式消息中间件MQ简单介绍
查看>>
React和Redux的连接react-redux
查看>>
Java虚拟机内存管理(五)-垃圾收集器
查看>>
亚洲诚信联合又拍云升级云端SSL证书服务
查看>>
感恩节那天,亚洲诚信收到了一封来自客户的致谢信……
查看>>
网上看到的“12个非常有用的JavaScript技巧”
查看>>
Find系列回归背后,OPPO的探索精神有了新定义?
查看>>
“媒体艺术”如何在自我时代存活
查看>>
SAP CRM和C4C数据同步的两种方式概述:SAP PI和HCI
查看>>
java资深架构师分布式技术分享
查看>>
React as a UI Runtime(二、React元素和入口)
查看>>
前端_JavaScript_Vue
查看>>
【跃迁之路】【723天】程序员高效学习方法论探索系列(实验阶段480-2019.2.13)...
查看>>
高性能mongodb之利用javascript函数式编程玩转mongodb shell
查看>>
情人节来了!程序员应该如何优雅的度过?
查看>>
时间复杂度与空间复杂度分析
查看>>
Markdown常用标记使用
查看>>
Centos7下一键安装LNMP环境脚本
查看>>