Azure Cosmos DB

Have feedback for Azure Cosmos DB product? Submit your idea here or upvote other ideas. All feedback is monitored and reviewed by the Azure Cosmos DB team. 

This site is for feature suggestions only. For technical questions or issues, please submit them to StackOverflow,where we and the community can better help you.

Please use the following categories when submitting your idea.

SQL API: Query language features, syntax using SQL API, indexing, any other core features in Azure Cosmos DB.

Gremlin API: Graph features and capabilities using Gremlin API.

Cassandra API: Features and capabilities using Cassandra API.

MongoDB API: Features and capabilities using MongoDB API.

Table API: Features and capabilities using Table API.

Etcd API: Features related to using etcd as a configuration store for Kubernetes.

Azure Synapse Link: Features related to Azure Cosmos DBanalytical store and Azure Synapse Analytics run-time support

Built-in Notebooks: Features related to built-in Notebooks in Azure Cosmos DB.

SDK: Features related to Azure Cosmos DB SDKs for SQL API.

Change Feed: Features related to Change Feed.

Management: All management features, backup/restore,monitoring, ARM, PowerShell and CLI.

Portal: All features for Azure Portal and Cosmos DB Explorer.

Emulator: Features related to the Azure Cosmos Emulator.

Other: Features not related to any other category.

Security:
Authentication, authorization,permissions and encryption features.

Monitoring:
Metrics, monitoring, alerts,and diagnostics features.

Server-side: Stored procedures, Triggers,and User-Defined Functions.
  • Hot ideas
  • Top ideas
  • New ideas
  • My feedback
  1. Add Callback handler based on partition key, so polling is not needed/charged RUs


    1. ChangeFeedProcessorBuilder does not support subscribing only to certain PartitionKeys, so it'd be great if you supported that.


    2. If not, I can get by with GetChangeFeedIterator and manual polling (pull model), but that's in preview, so please release that officially.


    3. I believe even in #1, we are charged RUs for polling behind the scenes (correct me if I'm wrong.) So idle host instances are constantly consuming RUs. Is it possible to trigger Cosmos to call the registered callback handler only when something happens on the change feed --for the specified partition key. A trigger replaces polling. Then only charge RUs for…

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Change Feed  ·  Flag idea as inappropriate…  ·  Admin →
  2. Support for BATCH LOGGED across partitions

    Cassandra API does not currently support the BATCH LOGGED command across partitions.

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Cassandra API  ·  Flag idea as inappropriate…  ·  Admin →
  3. Be able to add an alias containing a space in Cosmos SQL

    It would be nice to be able to use syntax such as

    select 1 as 'hello world' from c

    {
    'hello world': 1
    }

    to be able to select an alias containing a space. Resulting in the json attribute containing a space. Currently this gives a

    'Syntax error, incorrect syntax near ''hello world''.

    exception

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  SQL API  ·  Flag idea as inappropriate…  ·  Admin →

    Hello and thank you for your suggest. We actually do support this but it’s rather complex to do it. We will add this to our back log to include in a future semester work item. For now I can provide you an example using our nutrition dataset from our docs on how you can write a query that does this.

    SELECT VALUE {’hello world’ : c.id, ‘words with spaces and all the characters I want !;28#)(*@#’: c.version}
    FROM c

    It produces:
    [
    {
    “hello world”: “10181”,
    “words with spaces and all the characters I want !;28#)(*@#”: 1
    },
    {
    “hello world”: “11987”,
    “words with spaces and all the characters I want !;28#)(*@#”: 1
    },
    {
    “hello world”: “07961”,
    “words with spaces and all the characters I want !;28#)(*@#”: 1
    },
    {
    “hello world”: “10180”,
    “words with spaces and all the characters I want !;28#)(*@#”: 1
    },
    {
    “hello world”: “11986”,…

  4. Custom role operation for Cosmos DB

    Add operations to read, write and delete of firewall rule for Cosmos DB.
    I could find some other services like SQL, MariaDB and PostgreSQL are having those kinds of operations,
    so I was wondering why Cosmos DB doesn’t.

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Security  ·  Flag idea as inappropriate…  ·  Admin →
  5. Support Cassandra 3.11.3 Features

    Currently the Cassandra API is not able to support usage with Zipkin Server.

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Cassandra API  ·  Flag idea as inappropriate…  ·  Admin →
  6. Support the same PartitionKey/RowKey sorting as Azure Table Storage

    The lack of this feature in Table API prevents a lot of apps to migrate from Azure Table storage to Cosmos DB because this is the only sorting functionality in tables and apps are actively using this feature.

    15 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Table API  ·  Flag idea as inappropriate…  ·  Admin →

    We have reviewed this request.

    While we are API compatible with Table storage we do not precisely match every behavior. Sorting is one of those. We do not have any current plans to support this but will put on our backlog.

    For a complete listing of where our implementation diverges from Table storage please see this article below.

    https://docs.microsoft.com/en-us/azure/cosmos-db/faq#where-is-table-api-not-identical-with-azure-table-storage-behavior

    Thank you.

  7. Gremlin bulk executor for python library

    Will the bulk executor be available for python?
    such as bulk (create / update / delete) vertices and edges

    11 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Gremlin API  ·  Flag idea as inappropriate…  ·  Admin →
  8. Add Select * without X capability (project-away)

    Add Select * without X capability (similar to project-away in Kusto). To be able to bring all documents, but without a nested field (that can be large array for example), and this in order to save RUs

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  SQL API  ·  Flag idea as inappropriate…  ·  Admin →
  9. Please add feature that can monitor and set alert about logical partition level data usage

    A single logical partition has an upper limit of 10 GB of storage.
    So, I want to monitor the data usage of each logical partition and set alert about that.
    So, Please add feature that can monitor and set alert about logical partition level data usage.

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Monitoring  ·  Flag idea as inappropriate…  ·  Admin →
  10. Data Explorer: Allow lazy loading collections to avoid perf overhead when tehre are many collections

    Currently all collections are shown in the Data Explorer. This takes quite some time when an account has many collections. An option to lazy load collections would be nice.

    9 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Portal  ·  Flag idea as inappropriate…  ·  Admin →
  11. Support Individual Item TTL from Table API

    Please add support for setting TTL on an individual item while using the Table API

    19 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Table API  ·  Flag idea as inappropriate…  ·  Admin →
  12. Support ST_Buffer Spatial Function

    This is a great function I use frequently in SQL Server. It lets you to generate an area around a point. It makes Radius Searches much easier and flexible. I like to see this in Cosmos DB to make radius searches better.

    2 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  SQL API  ·  Flag idea as inappropriate…  ·  Admin →
  13. Allow multiple PartitionKey objects in QueryRequestOptions or fix LinqQueryable PartitionKey

    QueryRequestOptions for SDK v3 does not seem to allow multiple PartitionKeys. This would be fine, except when using GetItemLinqQueryable and adding the PartitionKey to the Where clause, it does not actual use partitioning lookup. We know this because the exact same query in storage explorer is quick (couple seconds). When used with linq and no PartitionKey in QueryRequestOptions, it takes minutes to come back. If I add a PartitionKey to QueryRequestOptions, it is quick.

    6 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  SDK  ·  Flag idea as inappropriate…  ·  Admin →

    Hi John. Thanks for your suggestion. At this time we do not support putting multiple partition key values into the Query Request Options however you should be able to run this cross partition query by not setting that value and setting the Cross Partition option with just the partition key values in your where clause. You may also want to look at setting the degree of parallelism to tell the SDK to query each of the partitions simultaneously. Generally this should not take minutes to query.

    If you have additional questions or would like more help with this please feel free to contact us at askcosmosdb@microsoft.com and we can better assist you.

    Thanks.

  14. data explorer should not require IP exceptions

    data explorer should not require IP exceptions

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Portal  ·  Flag idea as inappropriate…  ·  Admin →
  15. Allow creating Index with weights

    It would be nice to have index capability with weights in Azure Cosmos Db through Mongo driver. Currently it says this feature isnt available. Something like how we do in MongoDB

    db.blog.createIndex( { name: "text", desc: "text", headername: "text" }, { weights: { content: 10, keywords: 5 }, name: "TextIndex" } )

    4 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  MongoDB API  ·  Flag idea as inappropriate…  ·  Admin →
  16. Expose index transformation progress in the portal

    When going to the Scale and Settings tab I can see in the browser dev tools that the header x-ms-documentdb-collection-index-transformation-progress is returned to the client however this information is not shown anywhere in the UI.

    It would be useful if this information was displayed in the portal (possibly only if less than 100/ a transformation is currently in progress)

    12 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Portal  ·  Flag idea as inappropriate…  ·  Admin →

    Thanks for your suggestion.

    The index transformation value use see in the header is actually not always an accurate value. There are four replicas in a replica set, each with it’s own copy of the index. When this header is returned it can from a different partition, each which may be at its own percentage of progress during an index rebuild.

    This is something we hope to provide at some point but is on our backlog. Will mark as unplanned for now and change if this moves in the future.

    thanks.

  17. DATA QUALITY: Please support graph transactions.

    Today, if a traversal fails at step n of m, figuring out what state the graph is in is quite a chore. As a result, all data modification traversals have to be written to support retries. Unfortunately, if the retrying component fails, the network fails, or something else fails, which prevents retry, the graph is left in an unknown state.

    2 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Gremlin API  ·  Flag idea as inappropriate…  ·  Admin →

    Hello and thank you for your suggestion.

    While Cosmos DB provides support for transactions within a partition, we do not have support multi-step, cross-partition or distributed transactions.

    We recommend to customers requiring transactions across multi-step operations to coordinate these using the consistency model and optimistic concurrency control.

    Thank you for your suggestion.

  18. DATA QUALITY: Please allow for properties to be set using a subquery

    The use case here is incrementing the reply count property on a post vertex. To increment, we have to fetch the post vertex, increment the reply count property within our API, then update the graph with the new property value. Unfortunately, if multiple users reply simultaneously using different instances of our API, the reply count value is set incorrectly. Sending a query to the database and letting the server make the updates by calculating the value would address the issue.

    6 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Gremlin API  ·  Flag idea as inappropriate…  ·  Admin →
  19. Integrate existing Janus GraphDB application with Azure Cosmos DB API for Gremlin and Open Service Broker for Azure

    I read a post on how to Integrate existing MongoDB application with Azure Cosmos DB API for MongoDB and Open Service Broker for Azure, https://docs.microsoft.com/en-us/azure/aks/use-cosmosdb-osba-mongo-app, and I start to think is it possible same technique could be adopt to janus graph->COSMOSDB graph?

    4 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    unplanned  ·  1 comment  ·  Gremlin API  ·  Flag idea as inappropriate…  ·  Admin →
  20. Add pre/post trigger support to Data Explorer

    Today, you can demo most of Cosmos DB to DBAs and IT Pros using the portal and Data Explorer.

    Unfortunately, to demo pre/post triggers, you would need to open an IDE and write an application and that loses most of the non-developer audience at a conference or user group talk.

    It would be great if we could, optionally select a pre/post trigger to run as part of the "New Document" experience in the Data Explorer.

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

Feedback and Knowledge Base