CodeZine(コードジン)

特集ページ一覧

Windows Azure Storageを利用したアプリケーションの作成(準備編)

Windows Azureで作成するアプリケーションの基礎(3)

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2009/09/11 14:00
目次

ブロブを使用したサンプルの作成

 それでは、これから実際にWindows Azure Storageを使用したサンプルアプリケーションを作成してみましょう。シンプルな画像共有アプリケーションを、REST APIとブロブストレージを用いて作成します。

 作成するサンプルは、画像ファイルのアップロード、一覧表示の機能を持っています。画像ファイルをアップロードする際に、タイトルも合わせて入力します。画像ファイルをブロブとして、タイトル情報をブロブのメタデータとして、ブロブストレージに登録します。

サンプルの画面キャプチャ
サンプルの画面キャプチャ

アプリケーションのローカル環境での実行

 コードの説明に入る前に、まずはサンプルアプリケーションの実行方法について説明します。最初に、開発用のローカル環境で実行してみましょう。

 Windows Azure SDKには、Windows Azure Storageのシミュレーション環境であるDevelopment Storageというツールが含まれています。ローカル環境のストレージアクセスは、このDevelopment Storageに対して行なわれます。

Development Storage
Development Storage

 サンプルに含まれるサービス構成ファイル(ServiceConfiguration.cscfg)は、Development Storage用になっています。Development Storage用のストレージアカウント、ストレージへのアクセスの認証に使用する認証キー(詳細は後編で説明します)、エンドポイントはどのアプリケーションでも共通の固定値となっていますので、ここでもそのまま使用できます。

 サンプルをビルドして実行してみてください。既定のブラウザに、先程のサンプルの画面キャプチャのような画面が表示されるはずです。加えて、タスクトレイにはDevelopment Storageが表示されているはずです。ローカル環境でのストレージアクセスは、このDevelopment Storageに対して行なわれます。

アプリケーションのクラウド上への配置

 次にクラウド上にサンプルを配置してみましょう。シリーズ第2回の記事で、アプリケーションをクラウド上に配置する方法について扱いましたが、クラウド上のWindows Azure Storageを使用したアプリケーションの場合には、ストレージへのアクセスのためのストレージアカウントや認証キーなどの情報を取得し、本番環境に合わせてサービス構成ファイル(.cscfg)を変更する必要があります。

 以下に手順を記します。

[1]Azure Services Developer Portalにサインインした後、左上の[New Project]をクリックし、さらに[Storage Account](ストレージアカウント)をクリックします。

Azure Services Developer Portal
Azure Services Developer Portal

[2]画面の指示に沿って、プロジェクトラベルやサービス名を入力し、[Create]をクリックしてストレージアカウントを作成します。

[3]作成したストレージアカウントの[Summary](サマリ)が表示されます。この画面に表示されている「Endpoints:」の情報がクラウド上のストレージのエンドポイントに、[Primary Access Key:]の情報が認証キーの情報となります。

[4]サービス構成ファイル(ServiceConfiguration.cscfg)を、クラウド環境用に修正します。「AccountName」キー(※1)には、取得したストレージアカウントを設定します。「AccountSharedKey」キー(※2)には認証キー情報を、「BlobStorageEndpoint」キー(※3)にはブロブのエンドポイントの値を設定します。

[リスト1]サービス構成ファイル(ServiceConfiguration.cscfg)
<?xml version="1.0"?>
<ServiceConfiguration serviceName="AzureStorageSample" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration">
  <Role name="WebRole">
    <Instances count="1"/>
    <ConfigurationSettings>

      <!-- Windows Azure Storageを使用するための設定として、以下を追加 -->

      <!--
            Windows Azureのアカウント名
            ローカル環境(Development Storage)では「devstoreaccount1」固定
      -->
      <Setting name="AccountName" value="devstoreaccount1" />  <!-- ※1 -->

      <!--
            Windows Azure Storageの認証キー(HMACSHA256暗号化の共有キー)
            ローカル環境(Development Storage)では
            「Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==」固定
      -->
      <Setting name="AccountSharedKey" value="Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==" />  <!-- ※2 -->

      <!--
            Blobストレージのエンドポイント
            クラウド環境では「http://<ストレージアカウント>.blob.core.windows.net」を指定
            ローカル環境(Development Storage)では「http://127.0.0.1:10000」固定
      -->
      <Setting name="BlobStorageEndpoint" value="http://127.0.0.1:10000"/>  <!-- ※3 -->

    </ConfigurationSettings>
  </Role>
</ServiceConfiguration>

[5]最後に、サンプルのサービスパッケージファイル(AzureStorageSample.cspkg)と修正したサービス構成ファイル(ServiceConfiguration.cscfg)を、クラウド上に配置します。配置方法の詳細については、シリーズ第2回を参照してください。

まとめ

 今回は、Windows AzureのストレージサービスであるWindows Azure Storageの概要について扱いました。また、サンプルのローカル環境での実行と、クラウド上に配置する際の手順まで説明しました。

 次回の後編では、サンプルの具体的なコードについて説明します。特に、REST APIを使用したWindows Azure Storageへのアクセス方法について、詳しく説明する予定です。次回をお楽しみに。



  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:Windows Azureで作成するアプリケーションの基礎

著者プロフィール

  • 山田 祥寛(ヤマダ ヨシヒロ)

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XM...

  • WINGSプロジェクト 土井 毅(ドイ ツヨシ)

    <WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂...

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5