簡體   English   中英

在Azure中將文本附加到Blob

[英]Append text to Blob in Azure

在看了關於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)

Azure現在支持Append Blobs 創建新blob時,必須將其定義為Append Block。 您無法附加到現有塊blob。

這里有一些你可以使用的簡單代碼。

附加:

CloudAppendBlob appendBlob = container.GetAppendBlobReference("myblob.txt")
appendBlob.AppendText("new line");

讀:

appendBlob.DownloadText()

Technet包含有關該主題的優秀教程 此外, 官方Azure文檔現在包含使用Append Blob的幫助。

Page Blobs是滿足這種需求的方法。 (vs blob)

使用Put Blob操作創建blob: http//msdn.microsoft.com/en-us/library/dd179451.aspx

然后,您可以使用Put頁面操作添加“頁面”: http//msdn.microsoft.com/en-us/library/ee691975.aspx

Page Blobs將立即修改添加了put的頁面,更准確地模仿傳統文件系統。

塊blob將需要更多的構造,並且需要兩階段提交/提交構造。 編譯完成后,你必須覆蓋以修改blob。 塊blob設計用於靜態(松散定義)內容的流式傳輸,而不是讀/寫存儲。 添加了頁面Blob以支持這些方案。

您可以嘗試通過CloudBlockBlob.DownloadBlockList()方法獲取已提交塊的列表,然后通過CloudBlockBlob.PutBlock()附加新內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM