Storage

How can we improve Azure Storage?

You've used all your votes and won't be able to post a new idea, but you can still search and comment on existing ideas.

There are two ways to get more votes:

  • When an admin closes an idea you've voted on, you'll get your votes back from that idea.
  • You can remove your votes from an open idea you support.
  • To see ideas you have already voted on, select the "My feedback" filter and select "My open ideas".
(thinking…)

Enter your idea and we'll search to see if someone has already suggested it.

If a similar idea already exists, you can support and comment on it.

If it doesn't exist, you can post your idea so others can support it.

Enter your idea and we'll search to see if someone has already suggested it.

  • Hot ideas
  • Top ideas
  • New ideas
  • My feedback
  1. Deleting huge records of table storage

    Approach/way to delete huge number of records at time rather than deleting block of 1000 from a table storage.

    9 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Tables  ·  Flag idea as inappropriate…  ·  Admin →
  2. Provide Predicate Overload method for TableQuery Class

    Currently in Azure SDK 2.4, to query out Azure table with minimal columns along with predicate condition, we use to do like below

    string partitionKey = TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, period);
    string rowKey = TableQuery.CombineFilters(TableQuery.GenerateFilterCondition("RowKey", QueryComparisons.GreaterThanOrEqual, startRowKeyCompliance),
    TableOperators.And, TableQuery.GenerateFilterCondition("RowKey", QueryComparisons.LessThan, endRowKeyCompliance));
    string Condition = TableQuery.CombineFilters(partitionKey, TableOperators.And, rowKey);

    var query = new TableQuery<T>();
    query.SelectColumns = new list<string>("prop1",....); //the Property list of target Object.
    query.FilterString = Condition; //here condition is of string type , can we have option of Predicate type
    tableReference.ExecuteQuery(query);

    Above Query executes perfect.But ss there a way, where i can pass Expression<Func<T, bool>> predicate has Filter to TableQuery. We Tried by…

    9 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  1 comment  ·  Tables  ·  Flag idea as inappropriate…  ·  Admin →
  3. Mark TableEntity as Serializable

    There is no way to expose AzureTable data directly via WebAPI due to Serializable requirement. Unfortunately TableEntity class doesn't have that attribute and forces to create a duplicated class. Please mark TableEntity class as serializable.

    8 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  0 comments  ·  Tables  ·  Flag idea as inappropriate…  ·  Admin →
  4. 8 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Tables  ·  Flag idea as inappropriate…  ·  Admin →
    under review  ·  Jeff Irwin responded

    Can those who have voted for this feature please provide some more details about what specifically they would like to see added to these technologies?

  5. Add support for ScanIndexForward

    Add support for a query parameter like ScanIndexForward (like with Amazon DynamoDB). This parameter would allow us to scan a range from back to front without using a descending row key. This is not the same as an order by, this simply let's me control whether Azure Tables get results in forward or reverse order. The latter is often very useful when you do event sourcing.

    7 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  2 comments  ·  Tables  ·  Flag idea as inappropriate…  ·  Admin →
  6. Allow complex types in Azure tables storage

    Currently azure tables only support simple properties and flat entities. It would be great to make it more of a "object/graph" database with the ability to cascade entities, and do deep oData queries.

    You could just make RavenDB available on azure.

    7 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  0 comments  ·  Tables  ·  Flag idea as inappropriate…  ·  Admin →
  7. Provide backup Solution to Take the Backup of Entire Azure Storage Account to Avoid User Errors

    Provide backup Solution/ option in Azure Management Portal to Take the Backup of Entire Azure Storage Account to Avoid User Errors. This option should have recurring electable schedule.

    7 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Tables  ·  Flag idea as inappropriate…  ·  Admin →
  8. Bulk upload to table storage

    To have a fast way of uploading a large amount of data to a storage table. Trying to upload 5M entries (4M distinct partition keys) takes 20 to 60 hours (depending on where I run it) to upload single threaded.
    Batch operations don't help much as they are limited to one partition per batch. Relaxing the restriction on batches to allow multiple partition keys in one batch and making batches larger would both help.
    Alternatively uploading a CSV or JSON file as a single operation. It would be acceptable for this to create a new table.

    6 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Tables  ·  Flag idea as inappropriate…  ·  Admin →
  9. Query tables using ODataQuery object

    We can currently query Table Storage using OData via an HTTP call or programmatically via a TableQuery object.

    But we can't query programmatically using an ODataQuery object (Microsoft.Rest.Azure.OData.ODataQuery). Why not?

    This would offer the benefits and ease of OData while also permitting business rules to be implemented.

    5 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Tables  ·  Flag idea as inappropriate…  ·  Admin →
  10. Allow Azure AD authentication froman an application to manage Azure Table Storage

    Currently only Queues and Blobs support this type of login. Authentication for our automations can't be aligned since tables do not support this type of login. See:
    https://docs.microsoft.com/en-us/azure/storage/common/storage-auth-aad-app

    5 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Tables  ·  Flag idea as inappropriate…  ·  Admin →
  11. Metrics for the number of partitions

    Today we have a $MetricsCapacityBlob table, and we have metrics on transactions against tables and blobs: https://msdn.microsoft.com/en-us/library/azure/hh343264.aspx

    We would like get metrics for the number of partitions an Azure storage table is scaled over. This would help us scale the number of concurrent parallel reads we are doing against the table.

    4 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Tables  ·  Flag idea as inappropriate…  ·  Admin →
  12. Table storage garbage collection

    Would be awesome to have the ability to set a data expiration/garbage collection policy on table rows. We have to write workers to delete old data now.

    4 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  0 comments  ·  Tables  ·  Flag idea as inappropriate…  ·  Admin →
  13. aggregated data using REST call

    hi expert,

    I just want to know is there any way to get aggregated data using REST call form azure table storage.

    for example: In my table : test there are two properties Key and Value and suppose key have key= "CPU" and value = 10; or key ="Memory" and value = 90 and so on (similer key) ...so when i call using REST it response all data of CPU and Memory in XML but i want aggregate data from azure storage when i request call using REST . I dont want that first get all data locally then perform…

    4 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  2 comments  ·  Tables  ·  Flag idea as inappropriate…  ·  Admin →
  14. Support entity group operation but without transaction

    Current Table Storage supports only "Transaction" behavior (that is to say all or nothing). It's not possible to have a ContinueOnError behavior while processing entity group operation without transaction, which can be rather painful in some situations.

    4 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  0 comments  ·  Tables  ·  Flag idea as inappropriate…  ·  Admin →
  15. Performance of Azure Table Storage Degrades with More # of Columns in Azure Table

    Hi,

    When we are having Azure table with 150 + Columns performance of really degrades. For Example : If i have Customer table with 150 Columns and I need to transform Customer Table with specific 25 columns to CustomerDTO object,

    Here is the following code used to convert Table object to DTO Object

    public IEnumerable<T1> ExecuteQuery<T, T1>( string predicate )
    where T : TableEntity, IDomainData, new() //T is Customer Table Entity
    where T1 : new() //T1 is CustomerDTO
    {
    Type typeParameterType = typeof(T);
    CloudTable tableReference = tableClient.GetTableReference(typeParameterType.Name);
    var query = new TableQuery<T>();
    query.SelectColumns = typeof(T1).GetListOfPropertyNames();//Gets the Property list of target…

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Tables  ·  Flag idea as inappropriate…  ·  Admin →
  16. Implement the generic TableOperation.Retrieve<T>() in WinRT library

    Currently this methods is only supported in the full .NET 4.0 library. In WinRT version only TableOperation.Retrieve() exist. the Please consider to implement it too in the WinRT library.

    Thanks,

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  0 comments  ·  Tables  ·  Flag idea as inappropriate…  ·  Admin →
  17. Tool that can help migrate existing on-premise relational database to Azure table storage

    This tool should understand the on-premise relational database schema and generate equivalent tables in Azure table storage (with rowkeys as current primary keys and partitionkeys based on the indexes on the current relational table).

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  2 comments  ·  Tables  ·  Flag idea as inappropriate…  ·  Admin →
  18. Please have SAS URLs for a range of tables!

    I see people like myself resorting to stupid hacks in order to workaround the fact that there is no way to give access (including create table permission) to a *range* of similarly named tables within a storage account.

    I want to do e.g. table.GetSharedAccessSignature(urlPolicy,
    tablePrefix: "TablePrefix",
    startPartitionKey: _partitionKey,
    startRowKey: null,
    endPartitionKey: _partitionKey,
    endRowKey: null);

    Please could you just add a first-class way to do this with SAS tokens?

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  0 comments  ·  Tables  ·  Flag idea as inappropriate…  ·  Admin →
  19. Support $filter on merger, update.

    Supporting $filter on merge and update would reduce the number of roundtrips when doing conditional mutation of an entity based on properties in addition to PK and RK.

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  0 comments  ·  Tables  ·  Flag idea as inappropriate…  ·  Admin →
  20. Table Strorage JAVA SDK Performance Tuning

    Table Storage JAVA SDK does not provide concurrency option for any of its operation. We are getting TPS of around 500 for table insert queries but it is also because we have designed our data model such that.
    Async functionality is available for Table Storage C sharp SDK but not for JAVA SDK.
    It would be good if there is concurrency option for Table Storage Java SDK.

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Tables  ·  Flag idea as inappropriate…  ·  Admin →
  • Don't see your idea?

Feedback and Knowledge Base