Frage

Nach dem in diesem Tutorial auf Blobs suchen: Kanal 9 , dachte ich einen Blob Behälter mit einem Bündel von tweets zu speichern (die json jeden tweet speichert, ist). Im Idealfall würde Ich mag einen Klecks Referenz für jede Stunde des Tages zu schaffen, und append neue Tweets zu diesem Blob, wie sie kommen in. Das Problem ist, dass die Methode UploadText (string) überschreibt den vorhandenen Inhalt des Blobs, ist es eine einfache Möglichkeit, Text zu einem vorhandenen blob anhängen?

Danke!

        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)
War es hilfreich?

Lösung

Seite Blobs ist der Weg für diesen Bedarf zu gehen. (Vs Block-Blobs)

Sie erstellen den Blob mit einem Put Blob Betrieb: http://msdn.microsoft.com/en-us/library/dd179451.aspx

Dann können Sie „Seiten“ mit einem Put-Seite Betrieb hinzufügen: http://msdn.microsoft.com/en-us/library/ee691975.aspx

Seite Blobs wird die Seite (n) ändert sofort mit einer Put hinzugefügt, genauer gesagt herkömmliche Dateisysteme nachgeahmt wird.

Block-Blobs wird eine mehr ridig Konstruktion erwarten und erfordert ein zweiphasiges einreichen / commit Bau. Einmal zusammengestellt, müssen Sie auf den Blob ammend überschreiben. Block-Blobs ist für das Streaming von statischem (loser Definition) Inhalt entworfen, vs als Schreib- / Lesespeicher. Seite Blobs wurden hinzugefügt, um diese Szenarien zu unterstützen.

Andere Tipps

Azure unterstützt jetzt Anfügen Blobs . Wenn Sie einen neuen Blob erstellen, müssen Sie es als Append-Block definieren. Sie können nicht auf bestehende Block Blobs anhängen.

Hier ist ein einfacher Code, die Sie verwenden können.

Anfügen:

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

Lesen:

appendBlob.DownloadText()

Technet enthält ein gutes Tutorial zu diesem Thema. Auch die offizielle Azure Dokumentation nun auch Hilfe für die Verwendung Anhängungs.

Sie können versuchen, die Liste der engagierten Blöcke immer über die CloudBlockBlob.DownloadBlockList () Methode und dann fügen Sie den neuen Inhalt über CloudBlockBlob.PutBlock () .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top