Üblicherweise erfolgen Zugriffe auf Windows Azure Blob Storage über die REST-API (bzw. die entsprechenden API-Aufrufe in .NET, Java etc.). Es gibt allerdings auch Szenarien, in denen ein Zugriff via FTP gewünscht wird. Für die Umsetzung eines solchen Szenarios gibt es ein sehr interessantes Projekt auf CodePlex: die so genannte FTP to Azure Blob Storage Bridge. Dabei handelt es sich um einen Windows Azure Cloud Service, der eine einzelne Worker Role umfasst. In dieser ist die FTP-Schnittstelle implementiert. In der Konfiguration der Worker Role ist darüber hinaus festgelegt, dass die Ports 21 und 59860 geöffnet sind. Darüber wird die FTP-Kommunikation abgewickelt, d.h. ein entsprechender FTP-Client kann hierüber FTP-Aufrufe initiieren. Die FTP-Bridge setzt diese Aufrufe dann in entsprechende Speicherzugriffe im Blob Storage um. Die Architektur der Lösung wird in folgender Abbildung skizziert.
Abb 1: Architektur der FTP-Bridge-Lösung
Im folgenden sollen die Schritte beschrieben werden, mit denen die FTP to Azure Blob Storage Bridge konfiguriert und in Windows Azure installiert werden kann.
Die FTP-Bridge-Lösung kann von CodePlex sowohl als fertiges Deploymentpaket als auch als Visual Studio Solution herunter geladen werden. in beiden Fällen erhält man ein ZIP-Paket.
Für die Datenablage kann ein neuer Storage Account angelegt oder auch ein bestehender verwendet werden. zum Anlegen eines neuen Storage Accounts führen Sie bitte folgende Schritte durch:
Im heruntergeladenen Deplyomentpaket befindet sich die Datei ServiceConfiguration.cscfg. In dieser müssen alle erforderlichen Konfigurationsparameter entsprechend der folgenden Tabelle gesetzt werden.
Legen Sie nun einen Cloud Service an. Rufen Sie hierzu im Management Portal den Menüpunkt Cloud Service und dann das Icon New auf.
Wechseln Sie nach dem Anlegen in das Cloud-Service-Dashboard und wählen Sie dort den Menüpunkt Upload a new Production Deployment. Es öffnet sich der Deploymet-Dialog, über den Sie die beiden Dateien des Deploymentpakets in den Cloud Service laden und dann starten können.
Bestätigen Sie Ihre Eingabe mit dem Klick über die Bestätigungsschaltfläche. Mit der Bestätigung werden die beiden Deploymentdateien nach Windows Azure geladen, eine neue virtuelle Maschine mit der Worker-Role-Konfiguration provisioniert und die FTP-Bridge installiert. Der Vorgang dauert ca. 5-8 Minuten.
Sobald dass Management Portal den Abschluss des Deployments meldet, sind Installation und Setup der Windows Azure Ressourcen abgeschlossen. Jetzt kann das Ganze mit einem beliebigen FTP-Client getestet werden. Ich habe versuchsweise mal mit FileZilla getestet. Dort kann man sich unmittelbar mit den oben konfigurierten Benutzerdaten mit dem Cloud Service verbinden. Das Ergebnis siehe in folgender Abbildung:
Über diesen Weg lassen sich nun komfortabel Dateien zwischen einem lokalen Filesystem und Windows Azure Blob Storage austauschen. Selbstverständlich bleibt die Möglichkeit des direkten Zugriffs auf den Blob Storage via http(s) erhalten. Inhalte können also beispielsweise über den Storage Explorer ausgelesen werden.