
そして今、私はクラウドアプリケーションを作成した最初の経験を共有したいと思います。 それは単純な画像ホスティングになります。
Windows Azureが何であるかをまだ知らない場合は、記事「 Azure Services Platformとは何ですか? 」を読むことをお勧めします。 »英語またはウィキペディアのロシア語の簡単な説明 。
それでは始めましょう。
Windows Azure CTPには次の制限があります。
- 合計計算時間:2000時間(24時間365日モードで約83日)
- ストレージ容量:50 GB
- 最大ストレージトラフィック:20 GB /日
- ストレージアカウント-大量の構造化および非構造化情報の分散ストレージ、
- Hosted Servicesは、クラウドアプリケーションをホストしているAzure Services Platformの64ビットコンピューティングクラウドです。

イメージをホストすることが決定されたため、このタスクでは1つのデータウェアハウス(Storage1)と1つのクラウド(Cloud1)を作成する必要がありました。
Visual Studio 2008でWindows Azureを使用するには、以下をインストールする必要があります。
- Windows Azure SDK (7.3 MB)
- Microsoft Visual Studio用Windows Azureツール (1.3 MB)
たとえば、データをBlobストレージにロードするコードは次のようになります。
//
BlobStorage blobStorage = BlobStorage.Create(StorageAccountInfo.GetDefaultBlobStorageAccountFromConfiguration());
// "photogallery"
BlobContainer blobContainer = blobStorage.GetBlobContainer( "photogallery" ).CreateContainer( null , ContainerAccessControl.Public);
//
BlobProperties props = new BlobProperties( "NameOfFileInContainer" ) { ContentType = upload.PostedFile.ContentType };
//
blobContainer.CreateBlob(props, new BlobContents(upload.FileContent), true );
Visual StudioにWindows Azureツールをインストールすると、新しいタイプのプロジェクトが表示されます。

Worker Cloud Serviceを作成します。 これはクラウドで動作し、画像のプレビューを生成するサービスになります。
クラスのコードテンプレートの形式は次のとおりです。
ご覧のように、サービスは10秒ごとに動作していることをログに書き込みます。public class WorkerRole : RoleEntryPoint
{
public override void Start()
{
// This is a sample worker implementation. Replace with your logic.
RoleManager.WriteToLog( "Information" , "Worker Process entry point called" );
while ( true )
{
Thread.Sleep(10000);
RoleManager.WriteToLog( "Information" , "Working" );
}
}
public override RoleStatus GetHealthStatus()
{
// This is a sample worker implementation. Replace with your logic.
return RoleStatus.Healthy;
}
}
ストレージクラス(Microsoft.Samples.ServiceHosting.StorageClient)を使用して参照プロジェクトに接続します。

記事を脅さないために、サービスコードは提供しません。ここにリンクがあります。
サービスコードを記述した後、クラウドにアップロードする必要があります。 これを行うには、「公開」用のパッケージを準備します。

その後、クラウドにアップロードする必要がある2つのファイル(サービスコードと、サービスのノードの数を示す構成ファイルを含むパッケージ自体)が作成されます。

公開手順は2つの段階で構成されます。
公開後、画像は次のようになります。

これで、クラウドで動作するサービスとストレージができました。 最後に残っているのは、Webシェルを作成することです。
ここではすべてがより馴染みのあるものです。マスターホストからホスティングに配置した1つのaspxページ( Default.aspx 、 Default.aspx.cs )を使用してみましょう(これをクラウドに委託することもできました)。
ページにはUpdatePanelが1つあり、プレビューリンクを含むContentTemplateが含まれています。
UpdatePanelは5秒ごとに更新され、リポジトリで現在作成されているすべてのプレビューを受け取ります。 まあ非常にシンプルな画像ホスティング。 =)
すべて準備完了: tinyakov.net/img
楽しい部分、テストを開始できます!
ストレージの負荷スケジュールを随時更新します。

ご清聴ありがとうございました! =)
Window Azureプラットフォームに触れたい場合は、 こちらから招待に登録してください 。コメントであなたの質問に答えようとします。