はじめに
前回 までで、iOSデバイス+Windows Azureプラットフォームの開発における、技術概要と開発環境そして実際にサービスアプリケーションの作成までご紹介しました。今回から、今回は、前回作成したアプリケーションをVisual Studioから直接Windows Azureにデプロイする方法をご紹介いたします。
※来週公開予定の、スマホ×Windows Azure開発講座(Windows Phone編)第4回では、『 Windows Azure 管理ポータル』経由でアプリケーションをWindows Azureにデプロイする方法を紹介しています。
本記事では、Visual Studio 2010を使用して開発内容を説明していきます。第2回 で紹介したとおり、Visual Web Developer 2010 Expressでも開発可能です。以降、Visual Studioと表記しますので、適宜環境に合わせて読み替えてください。
デプロイには、Windows Live IDに紐付くWindows Azure Platformアカウント(以下、Azureアカウント)が必要になります。持っていない方は無料で評価版を使うことができますので、取得してください。
発行プロファイルの取得
Visual Studioからアプリケーションを発行するには、Azureアカウントの証明書となる発行プロファイルが必要です。
https://windows.azure.com/download/publishprofile.aspx にInternet Explorerでアクセスして、AzureアカウントのWindows Live IDでサインインすると、「 <アカウント名>-<年月日>-credentials.publishsettings」というファイルがダウンロードできます(図1 ) 。
図1 発行プロファイルのダウンロード
アプリケーションの発行
前回作成したソリューション「GihyoiOSAzureSample1」をVisual Studioで開きます。ソリューション エクスプローラーにある二つのプロジェクトのうち「GihyoiOSAzureSample1」を選択します。コンテキストメニューから[発行(B)…]をクリックします(図2 ) 。
図2 クラウドプロジェクトのコンテキストメニュー
発行ウィザード
コンテキストメニューから「Publish Windows Azure Application」ウィザードが開始されます。[Import…]ボタンをクリックして、先に取得した発行プロファイルを選択します。すると、図3 のように「Choose your subscription」にあなたのAzureアカウントが表示されます。[Next >]ボタンを押下して進めます。
図3 「 Publish Windows Azure Application - Sign in」
次に「Settings」では、「 Hosted service」をまず作成します。
図4 Create Windows Azure Services
「Create Windows Azure Services」ダイアログで名前に任意の値を入力し(ここでは「GihyoiOSAzure」としました。) 、「 Location」を選択します(ここでは「East Asia」にしました) 。図4 の状態で[OK]ボタンをクリックすると、のとおり「Common Settings」が表示されます。「 Environment」が運用環境の「Product」になっているので、ステージング「Staging」にしておきます(図5 ) 。
図5 「 Publish Windows Azure Application - Settings」
[Next >]ボタンをクリックすると、設定内容を確認する「Summary」が表示されます(図6 ) 。
図6 「 Publish Windows Azure Application - Summary」
[Publish]ボタンをクリックすると、デプロイが開始されます。
Visual Studioの下部ペインに「Windows Azure Activity Log」が開かれ、デプロイの進行状況が表示されます(図7 ) 。
図7 Windows Azure Activity Log - デプロイ中
デプロイが完了すると、図8 の状態になります。「 Status」が「Completed」となっていれば成功です。
図8 Windows Azure Activity Log - デプロイ完了
「Website URL」のリンクをクリックすると、そのサービスのルートがブラウザーで開きます。ここでパス追加して、前回作ったサービスを呼び出してみましょう。
URLに「http://<ユニークID>.cloudapp.net/Service/DivineService.svc/card/sagittarius」を入力してアクセスします。
JSONでCardクラスの内容が返ります。テキストエディタで開くと、下記のように表示されます。
{"desc":"This is a sample sagittarius Card.","rank":2}
サービスが正常にWindows AzureのWebロール上で実行されていることが確認できました。
サービスの削除
デプロイしたホステッド サービスをそのままにしておくと課金されてしまうので、不要になったら「削除」しましょう。「 停止」状態でもリソースを占有しているため、課金対象となります。サービスの削除などは、『 Windows Azure 管理ポータル 』から行ってください(図9 ) 。
図9 Windows Azure管理ポータル
最後に
本記事では、Windows Azureサービスを実際にWindows AzureのWebロール上にデプロイするまでの手順について、説明しました。次回以降は、クライアントとなるiOSアプリケーションを作成して、このクラウド上のサービスにアクセスしてみたいと思います。