在Azure中将文本附加到Blob

jle*_*ard 4 windows azure blobs azure-storage

在看了关于blobs的这个教程:第9频道之后,我正在考虑使用blob容器来保存一堆推文(存储每条推文的json).理想情况下,我想为一天中的每个小时创建一个blob引用,并在它们进入时向这个blob添加新的推文.问题是,方法UploadText(字符串)会覆盖blob的现有内容,是否容易将文本追加到现有blob的方法?

谢谢!

        fun (json:string) ->  
                    let account = CloudStorageAccount.Parse(RoleEnvironment.GetConfigurationSettingValue("DataConnectionString"))
                    let blobs = account.CreateCloudBlobClient();
                    let tempBlob = blobs.GetBlobReference("tweets/2010-9-26/17/201092617.txt")
                    tempBlob.Properties.ContentType <- "text/plain"
                    tempBlob.UploadText(json)
Run Code Online (Sandbox Code Playgroud)

Mik*_*nen 8

Azure现在支持Append Blobs.创建新blob时,必须将其定义为Append Block.您无法附加到现有块blob.

这里有一些你可以使用的简单代码.

附加:

CloudAppendBlob appendBlob = container.GetAppendBlobReference("myblob.txt")
appendBlob.AppendText("new line");
Run Code Online (Sandbox Code Playgroud)

读:

appendBlob.DownloadText()
Run Code Online (Sandbox Code Playgroud)

Technet包含有关该主题的优秀教程.此外,官方Azure文档现在包含使用Append Blob的帮助.

  • 似乎有必要在“ AppendText()”之前调用“ appendBlob.CreateOrReplace()” (2认同)