PHP SDK for Windows Azure
遅いフォローになりますが、PHP SDK for Windows Azure の CTP1 が、CodePlex で公開されています。
とりあえず、Blob のみではあるのですが、簡単に利用できるようになりました。Table は 7月、Queue は 8月に対応予定のようなので、PHP で Windows Azure を評価して頂ける方は、ご期待下さい。
ちなみに、中にテスト用コードが入っていますので、それを参考に画像ファイルのアップロード、ダウンロード、表示を行うと、以下のようになります。なお、事前の環境設定としては、(3) FastCGI を利用した PHP アプリケーション開発や、Azure Services Training Kit の PHP の lab を参考にして下さい。
※cURL を利用しているため、cURL のエクステンションも追加して下さい(追加していないとエラーになるので、すぐにわかると思いますが)
<?php require_once 'Microsoft/Azure/Storage/Blob.php'; /** Azure 情報(デバッグ環境, キーはデバッグ用のキーを指定)*/ define('TESTS_BLOB_HOST', '127.0.0.1:10000'); define('TESTS_STORAGE_ACCOUNT', "devstoreaccount1"); define('TESTS_STORAGE_KEY', "xxxxxxxxxxxxxxxx"); /** リソース名定義*/ define('TESTS_BLOB_CONTAINERNAME', 'phpazuretest'); define('TESTS_BLOB_FILENAME', 'testimage.jpg'); /** コンテナを取得*/ $storageClient = new Microsoft_Azure_Storage_Blob(TESTS_BLOB_HOST, TESTS_STORAGE_ACCOUNT, TESTS_STORAGE_KEY, false, Microsoft_Azure_RetryPolicy::retryN(10, 250)); try { $storageClient->deleteContainer(TESTS_BLOB_CONTAINERNAME); } catch (Exception $ex) { } $storageClient->createContainer(TESTS_BLOB_CONTAINERNAME); /** ブロブへ画像ファイルをアップロード*/ $result = $storageClient->putBlob(TESTS_BLOB_CONTAINERNAME, TESTS_BLOB_FILENAME, TESTS_BLOB_FILENAME); /** temp ファイルへ画像ファイルをダウンロード*/ $fileName = tempnam('', 'jpg'); $storageClient->getBlob(TESTS_BLOB_CONTAINERNAME, TESTS_BLOB_FILENAME, $fileName); /** 画像ファイルを出力*/ header("Content-Type: image/jpeg"); readfile($fileName); ?> |