2009-09-26 7 views
10

Ich habe gerade ein Projekt von mir für Testfälle auf Microsoft's Azure migriert.Wo können Sie Dinge wie Benutzerbilder mit Azure speichern? Blobspeicherung?

Aber für Funktionen ähnlich einem Avatar-Upload brauche ich Schreibzugriff auf die Dateien auf der Festplatte. Aber das ist eine Wolke, also ist das nicht möglich. Wie kann ich stattdessen solche Funktionen erstellen? Soll ich den Blob Storage verwenden oder gibt es eine bessere Lösung?

Ist es sinnvoll, alle Bilder der Website (z. B. Layoutbilder) im Blob Storage zu speichern? Also hätte ich eine Cookie-freie Domain für meinen statischen Inhalt?

+0

Was ist mit Blob vs einer SQL Azure-Tabelle? –

Antwort

11

Blob Speicher ist definitiv der Ort, um dynamische Bilder wie Avatare zu platzieren. Sie können zwar auf den Datenträger auf der VM schreiben, auf der Sie arbeiten, aber Sie können sich nicht darauf verlassen, dass dieser Speicher vorhanden ist. Wenn Ihre App auf einen anderen Computer verschoben wird (was aus verschiedenen Gründen passieren kann), wird dieser Speicher verwendet gelöscht werden.

Eine Sache, die Sie tun können, ist Ihre Bilder im BLOB-Speicher zu speichern und sie auf dem lokalen VM-Datenträger zwischenzuspeichern (unter Verwendung der Standard-Datei-IO-Mechanismen). Auf diese Weise erhalten Sie eine ziemlich gute Leistung und sparen bei einigen Speichertransaktionen, während Sie immer noch sicherstellen, dass Sie nicht im flüchtigen Speicher speichern.

Wenn Sie statische Bilder haben, die vollständig statisch sind, werden diese nur mit Ihrer Anwendung gebündelt und können wie eine normale Datei referenziert werden. Wenn Sie diese jedoch jemals ändern müssen, müssen Sie die Anwendung erneut bereitstellen. Verwenden Sie diese Technik daher nur für Bilder, die nicht geändert werden müssen.

0

"Ist es sinnvoll, alle Bilder der Website (z. B. Layoutbilder) im Blob Storage zu speichern? Dann hätte ich eine Cookie-freie Domain für meinen statischen Inhalt?"

Ja, ich denke schon - das ist, was ich gerade jetzt ausrollen werde.

5

Beachten Sie, dass two types of Blobs in Windows Azure: Block Blobs und Page Blobs sind. Block-Blobs eignen sich für die Zustellung von Mediendateien, während Page Blobs für andere Arbeitsmuster optimiert sind.

Verwenden Sie auch die Azure Content Distribution Network (CDN) zum Verringern der Latenzzeit für Clients.

Azure verfügt auch über Streaming-Funktionen, die zusammen mit Silverlight Smooth Streaming (http://blog.smarx.com/posts/smooth-streaming-with-windows-azure-blobs-and-cdn, falls Interesse) funktionieren.