Hatena::Groupsubtech

ういはるかぜの化学

Friday, August 06, 2010

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

Development Storageでとりあえず試してみたいそんなかんじ。

cscfgに以下追加。

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

csdefに以下追加。

<Setting name="DataConnectionString" />

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

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

エンティティを定義

    public class TestTableEntity : TableServiceEntity
    {
        public String Value1 { get; set; }
        public Int32 Value2 { get; set; }

        public TestTableEntity(){}
        public TestTableEntity(String partitionKey, String rowKey, String value1, Int32 value2)
        {
            PartitionKey = partitionKey;
            RowKey = rowKey;

            Value1 = value1;
            Value2 = value2;
        }
    }

どっかで以下のコードを実行。

// Windows Azure Storage へのアカウント設定を読みだす
var account = CloudStorageAccount.FromConfigurationSetting("DataConnectionString");
// アカウント設定から Table クライアントを作る
var tableClient = account.CreateCloudTableClient();
// ”Test" テーブルがなければ作る
tableClient.CreateTableIfNotExist("Test");

// ”Test" テーブルにエンティティを登録する
var ctx = tableClient.GetDataServiceContext();
ctx.AddObject("Test", new TestTableEntity("Partition1", DateTime.Now.Ticks.ToString(), "Hauhau", 0));
ctx.SaveChanges();

var q = ctx.CreateQuery<TestTableEntity>("Test");
                
foreach (var entity in q.Take(10))
{
    Trace.WriteLine(entity.Value1);
}

最速 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