クラウドアプリケーションを作成する

画像 まず、昨日、Windows Azureのテストに参加するよう招待されました。

そして今、私はクラウドアプリケーションを作成した最初の経験を共有したいと思います。 それは単純な画像ホスティングになります。



Windows Azureが何であるかをまだ知らない場合は、記事「 Azure Services Platformとは何ですか? 」を読むことをお勧めします。 »英語またはウィキペディアのロシア語の簡単な説明



それでは始めましょう。



Windows Azure CTPには次の制限があります。 2種類のサービスコンポーネントを作成する機会があります。

新しいコンポーネントを作成するためのインターフェイスは次のとおりです。

Create_new_component.png - image uploaded to Picamatic



イメージをホストすることが決定されたため、このタスクでは1つのデータウェアハウス(Storage1)と1つのクラウド(Cloud1)を作成する必要がありました。



Visual Studio 2008でWindows Azureを使用するには、以下をインストールする必要があります。 SDKには、既製のサンプルを含むアーカイブが含まれています。 それらの1つ( サムネイル )は、私が基礎として採用しました。 また、SDKにはStorageClientプロジェクトがあります。これは、 ストレージを簡単に操作できるクラスで構成されています。 サービスへの参照として接続します。



たとえば、データを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ツールをインストールすると、新しいタイプのプロジェクトが表示されます。

VS_New_Projects.png - image uploaded to Picamatic



Worker Cloud Serviceを作成します。 これはクラウドで動作し、画像のプレビューを生成するサービスになります。

クラスのコードテンプレートの形式は次のとおりです。

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;

}

}





ご覧のように、サービスは10秒ごとに動作していることをログに書き込みます。



ストレージクラス(Microsoft.Samples.ServiceHosting.StorageClient)を使用して参照プロジェクトに接続します。

Add_reference.png - Picamatic - upload your images



記事を脅さないために、サービスコードは提供しません。ここにリンクがあります。



サービスコードを記述した後、クラウドにアップロードする必要があります。 これを行うには、「公開」用のパッケージを準備します。

PublishToCloud.png - Picamatic - upload your images



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

Package.png - Picamatic - upload your images



公開手順は2つの段階で構成されます。



公開後、画像は次のようになります。

Published.png - upload images with Picamatic



これで、クラウドで動作するサービスとストレージができました。 最後に残っているのは、Webシェルを作成することです。



ここではすべてがより馴染みのあるものです。マスターホストからホスティングに配置した1つのaspxページ( Default.aspxDefault.aspx.cs )を使用してみましょう(これをクラウドに委託することもできました)。

ページにはUpdatePanelが1つあり、プレビューリンクを含むContentTemplateが含まれています。

UpdatePanelは5秒ごとに更新され、リポジトリで現在作成されているすべてのプレビューを受け取ります。 まあ非常にシンプルな画像ホスティング。 =)



すべて準備完了: tinyakov.net/img



楽しい部分、テストを開始できます!



ストレージの負荷スケジュールを随時更新します。





ご清聴ありがとうございました! =)

Window Azureプラットフォームに触れたい場合は、 こちらから招待に登録してください

コメントであなたの質問に答えようとします。



All Articles