Question

Après avoir regardé ce tutoriel sur blobs: le canal 9 , je pensais à l'aide d'un récipient de tâches de couleur pour enregistrer une bande de gazouillis (le stockage de la json de chaque bip qui est). Idéalement, je voudrais créer une référence blob pour chaque heure de la journée, et ajouter de nouveaux tweets à ce blob comme ils entrent en jeu. La question est que la méthode Uploadtext (string) remplace le contenu existant du blob, est-il facile façon d'ajouter du texte à un blob existant?

Merci!

        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)
Était-ce utile?

La solution

Blobs sont la voie à suivre pour ce besoin. (Vs blobs de blocs)

Vous créez le blob avec une opération Blob Mettre: http://msdn.microsoft.com/en-us/library/dd179451.aspx

Vous pouvez ensuite ajouter « pages » à l'aide d'une page Put opération: http://msdn.microsoft.com/en-us/library/ee691975.aspx

Page Blobs modifiera la page (s) ajouté avec un put immédiatement, mimer avec plus de précision les systèmes de fichiers traditionnels.

blobs BLOCK va attendre une construction plus ridig, et nécessitent un soumettre / validation à deux phases de construction. Une fois compilé, vous devez écraser à ammend au blob. blobs blocs sont conçus pour la diffusion de contenu statique (définition lâche), vs comme un magasin de lecture / écriture. Page Blobs ont été ajoutés pour soutenir ces scénarios.

Autres conseils

Azure prend en charge maintenant Append Blobs . Lorsque vous créez un nouveau blob, vous devez le définir comme un bloc Append. Vous ne pouvez pas ajouter à blobs de blocs existants.

Voici un code de simples que vous pouvez utiliser.

Append:

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

Lire:

appendBlob.DownloadText()

Technet contient un bon tutoriel sur le sujet. De plus, le documentation officielle Azure comprend maintenant l'aide pour l'utilisation Append Blob.

Vous pouvez essayer d'obtenir la liste des blocs engagés par le CloudBlockBlob.DownloadBlockList () , puis méthode append le nouveau contenu via CloudBlockBlob.PutBlock () .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top