PHP から Azure の BLOB ストレージに大きなファイルをアップロードする方法

Windows Azure でストレージにファイルをアップロードすることができる. PHP の場合は下記のライブラリを使える.

https://github.com/WindowsAzure/azure-sdk-for-php/

使い方の例

How to use the Blob service from PHP

http://www.windowsazure.com/en-us/develop/php/how-to-guides/blob-service/?fb=ja-jp#UploadBlob

BLOB ストレージは 200GB まで保存できるが,REST API などで一度に送信することが出来るのは 4MB となっている模様.

http://msdn.microsoft.com/en-us/library/windowsazure/ee691964.aspx

Each block can be a different size, up to a maximum of 4 MB. The maximum size for a block blob is 200 GB

上記のサンプルだと一回のリクエストしか送信することができないので 4MB 程度のファイルしかアップロード出来ない. 4MB 以上の大容量ファイルをアップロードする方法もおそらくドキュメントを精査すると方法がわかるのかもしれないけど,ぱっとサンプルが合ったほうがわかりやすいはずなので,下記リポジトリのソースを見るといいと思う.

https://github.com/saurabharora90/Windows-Azure-Blob-Storage-Examples