Hatena::Groupsubtech

ういはるかぜの化学

Friday, August 06, 2010

最速 Windows Azure Storage (Blob) お試しメモ 19:40  最速 Windows Azure Storage (Blob) お試しメモ - ういはるかぜの化学 を含むブックマーク はてなブックマーク -  最速 Windows Azure Storage (Blob) お試しメモ - ういはるかぜの化学

Development Storageでとりあえず試してみたいそんな(略)。

cscfgに以下追加。

<Setting name="DataConnectionString" value="UseDevelopmentStorage=true" />

csdefに以下追加。

<Setting name="DataConnectionString" />

WebRole の OnStart メソッドに以下のブロックを追加。

            // cscfgの設定を読むのに必要
            CloudStorageAccount.SetConfigurationSettingPublisher((configName, configSetter) =>
                                                                 {
                                                                     configSetter(
                                                                         RoleEnvironment.GetConfigurationSettingValue(configName)
                                                                     );
                                                                 });

ファイルを用意する。ここでは C:\Users\Tomoyo\Pictures\Uiharu.jpg に用意した画像アップロードする。

// Windows Azure Storage へのアカウント設定を読みだす
var account = CloudStorageAccount.FromConfigurationSetting("DataConnectionString");
// アカウント設定から Blob クライアントを作る
var blobClient = account.CreateCloudBlobClient();
// コンテナ "testcontainer" (小文字のみ) の参照を得る
var containerRef = blobClient.GetContainerReference("testcontainer");
// コンテナがなかったら作る
containerRef.CreateIfNotExist();
// コンテナに公開パーミッションをつける
var perms = containerRef.GetPermissions();
perms.PublicAccess = BlobContainerPublicAccessType.Container;
containerRef.SetPermissions(perms);
// ファイルをブロブとしてアップロードするためにファイル名で参照を得る
var blobFile = containerRef.GetBlobReference("Uiharu.jpg");
// ファイルをアップロードする
blobFile.UploadFile(@"C:\Users\Tomoyo\Pictures\Uiharu.jpg");
// Content-Type を設定する
blobFile.Properties.ContentType = "image/jpeg";
blobFile.SetProperties(); // プロパティをセット

で、 http://127.0.0.1:10000/devstoreaccount1/testcontainer/Uiharu.jpgアクセスする(かVisual StudioサーバーエクスプローラからBlobの中身を見る)。

トラックバック - http://subtech.g.hatena.ne.jp/mayuki/20100806