AzureのBlobにテキストを追加します
-
05-10-2019 - |
質問
ブロブに関するこのチュートリアルを見た後: チャンネル9, 、私はブロブコンテナを使用して、たくさんのツイートを保存することを考えていました(各ツイートのJSONを保存します)。理想的には、1日ごとにBLOBリファレンスを作成し、このBLOBが入っているときに新しいツイートを追加したいと思います。問題は、Method UploadText(String)が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)
解決
ページブロブ このニーズのために行く方法です。 (vsブロックブロブ)
Put Blob操作でBlobを作成します。http://msdn.microsoft.com/en-us/library/dd179451.aspx
次に、PUTページ操作を使用して「ページ」を追加できます。http://msdn.microsoft.com/en-us/library/ee691975.aspx
Page Blobsは、従来のファイルシステムをより正確に模倣して、すぐにプットを使用して追加されたページを修正します。
ブロックブロブは、よりRidigの建設を期待しており、2フェーズの提出/コミット構築が必要です。コンパイルしたら、上書きしてブロブに補強する必要があります。ブロックブロブは、静的(緩い定義)コンテンツをストリーミングするために設計されており、vsは読み取り/書き込みストアとしてです。これらのシナリオをサポートするために、ページブロブが追加されました。
他のヒント
Azureがサポートしています ブロブを追加します. 。新しいブロブを作成するときは、付録ブロックとして定義する必要があります。既存のブロックブロブに追加することはできません。
使用できる簡単なコードを次に示します。
追加:
CloudAppendBlob appendBlob = container.GetAppendBlobReference("myblob.txt")
appendBlob.AppendText("new line");
読む:
appendBlob.DownloadText()
TechNetには優れたチュートリアルが含まれています 件名に。また 公式のAzureドキュメント Append Blobを使用するためのヘルプが含まれるようになりました。
あなたは、コミットされたブロックのリストを経由して取得することができます cloudblockblob.downloadblockList() メソッドを使用して、新しいコンテンツを介して追加します cloudblockblob.putblock().