Loading

Writing DynamicTableEntity to Azure Storage Table

There are ample of samples available to show how to insert an object/entity to Azure Storage Table. However, all the samples inherit from TableEntity

This sample shows how to insert custom entities to table when we don’t have a class that inherits from TableEntity.

 

void Main()
{
    var account = "";
    var key = "";
    var tableName = "";

    var storageAccount = GetStorageAccount(account, key);
    var cloudTableClient = storageAccount.CreateCloudTableClient();
    var table = cloudTableClient.GetTableReference(tableName);
    
    var partitionKey = "pk";
    var rowKey = "rk";
    
    //create the entity
    var entity = new DynamicTableEntity(partitionKey, rowKey, "*", 
        new Dictionary<string,EntityProperty>{
                {"Prop1", new EntityProperty("stringVal")},
                {"Prop2", new EntityProperty(DateTimeOffset.UtcNow)},
            });
    
    //save the entity
    table.Execute(TableOperation.InsertOrReplace(entity));
    
    //retrieve the entity
    table.Execute(TableOperation.Retrieve(partitionKey,rowKey)).Result.Dump();
}

static CloudStorageAccount GetStorageAccount(string accountName, string key, bool useHttps = true)
{
    var storageCredentials = new StorageCredentials(accountName, key);
    var storageAccount = new CloudStorageAccount(storageCredentials, useHttps: useHttps);
    return storageAccount;
}

This code makes use of DynamicTableEntity which can take properties and values as IDictionary.

posted @ 2017-05-12 18:41  Dhoopu  阅读(235)  评论(0编辑  收藏  举报