サンプルアプリケーションの作成
それでは、Windows Azureストレージ・クライアントライブラリを使用して、ブロブとテーブルにアクセスするサンプルを作成してみましょう。
サンプルの概要
次の図2のような、クラウド上の簡単なファイル共有サイトを作成します。
ユーザーは情報を入力して、画像やテキストやWordファイルなど種々のファイルをクラウド上にアップロードすることができます。また、アップロードされたファイルの一覧が表示されており、右側のリンクをクリックすることによりファイルをダウンロードすることができます。
アプリケーション内部では、ブロブとテーブルの2つのストレージを使用します。
アップロードファイルをブロブ(ブロブ名「uploadedfiles」)として追加し、ユーザー名やタイトルなどの入力情報やブロブの位置を示すURIなどの情報をテーブル(テーブル名「uploadedfileinfo」)に追加します。
次の表5に、サンプルで使用するテーブルエンティティのスキーマ定義を記します。テーブルは本来スキーマレスですが、アプリケーション側で固定スキーマを使用するという意味です。
プロパティ | 型 | 説明 |
---|---|---|
PartitionKey | String | サンプルではユーザー名 |
RowKey | String | サンプルではブロブ名 |
Title | String | タイトル |
OriginalFileName | String | オリジナルファイル名 |
BlobUri | String | ブロブURI |
UploadedAt | DateTime | アップロード日時 |
サンプルの作成
以下の手順で、サンプルを実際に作成します。
[1]管理者権限で、Visual Studioを起動する
Development FabricやDevelopment Storageなどの開発環境を起動する際に、管理者権限を必要としますので、Visual Studioを管理者として起動します。
[2]新しいプロジェクトを作成する
新規にプロジェクトを作成します。次の図3を参考にして、「新しいプロジェクト」ダイアログ中で、プロジェクトの種類は「Visual C#」、テンプレートは「Windows Azure Cloud Service」を選択します。プロジェクト名は任意ですが、ここでは「AzureStorageBlobAndTableSample」としておきます。
[3]ソリューションに、Webロールを1つ追加する
新しいプロジェクトを作成すると、次に「New Cloud Service Project」ダイアログが表示されます。左側のリストから「Visual C#」の「ASP.NET Web Role」を選択して、右側のリストに追加します。すると、次の図4のように「WebRole1」というデフォルト名で、Webロールが一つ追加されます(画面中で名前を変更することもできます)。最後に、[OK]ボタンをクリックします。
追加したWebロールには、次の3つのアセンブリが参照設定に加わっています(Workerロールの場合も同様)。
- Microsoft.WindowsAzure.Diagnostics
- Microsoft.WindowsAzure.ServiceRuntime
- Microsoft.WindowsAzure.StorageClient