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.

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

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 →

    Pull model as you suggests supports filtering on partition keys so #1 is Started and in preview and of course we will release that officially when it’s ready to GA.

    For #3 we will review. I should point out that this is very similar to EventGrid support which is another user voice request and already has quite a few votes. You can read more here. https://feedback.azure.com/forums/263030-azure-cosmos-db/suggestions/20615767-eventgrid-publisher-for-cosmosdb

    Thanks.

  2. sample

    $sample should return an actual random sample.

    Right now it returns the top/first N items. This is preventing us from porting code over the Cosmos DB.

    1 vote
    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 →
  3. slice projection not working mongodb

    User.findById({ _id: req.params.id }).slice('blacklistGroup', [0, 2]).then((res) => { outputs slice must be an integer error. More details here https://stackoverflow.com/q/61290693/2683814

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  0 comments  ·  MongoDB API  ·  Flag idea as inappropriate…  ·  Admin →
  4. With Emulator, ReadDocumentAsync() doesn't distinguish between missing document and missing collection

    Our service needs to be able to distinguish between a missing document and a missing collection. With the Cosmos DB Emulator and the .net SDK, DocumentClient.ReadDocumentAsync() throws an identical exception in either case. The exception message starts with 'Message: {"Errors":["Resource Not Found"]}'. Conversely, when using the Cosmos DB service, if a document doesn't exist, the exception message starts with 'Entity with the specified id does not exist in the system.'

    While it's possible to work around this by writing a query for the document instead of using ReadDocumentAsync(), I don't really like having to change a basic function in the…

    2 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Emulator  ·  Flag idea as inappropriate…  ·  Admin →
  5. Allow saving queries to disk in Azure portal

    There is a nice feature in the Azure portal to open queries from disk but the workflow is rather awkward because you can't then save the changes back to disk.

    I'd like to be able to edit my query files and save them directly from the portal.

    I realise you can save them to another Cosmos DB but I don't want the cost of another database in each environment and I want to save my personal queries.

    2 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 →
  6. Tail() Gremlin step support

    Create an empty graph and add the following with partition as a.

    g.addV('person').property('a','1').property('name','person 1').property('number',1)
    g.addV('person').property('a','1').property('name','person 2').property('number',2)
    g.addV('person').property('a','1').property('name','person 3').property('number',3)

    Then run the following:
    g.V().order().by('number')
    returns: person 1, person 2, person 3
    g.V().order().by('number').tail(1)
    returns: person 1

    ​This is not expected result as it should return person 3. But when the property is used to run the same thing or use the query with fold()/unfold() before .tail()

    g.V().order().by('number').properties('name')
    returns: person 1, person 2, person 3
    g.V().order().by('number').properties('name').tail(1)
    returns: person 3

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  0 comments  ·  Gremlin API  ·  Flag idea as inappropriate…  ·  Admin →
  7. Partition keys should propagate to newly created vertices

    Assume a pre-existing graph whose vertices are on different partitions (and thus have different partition keys).

    Now, consider adding new vertices through new edges in bulk through the Gremlin API, e.g. like this:

    g.V().addE('l').to(__.addV('newVertex').property('PartitionKey', 'p')

    This would work just fine but it would possibly place the source and sink vertices into different partitions. If we would want them to remain on the same partition, we're currently lost with CosmosDB.

    The Tinkerpop API allows the property-step to specify a traversal, so the following query is actually possible in the Tinkerpop reference implementation and would solve the issue:

    g.V().as('source').addE('l').to(.addV('newVertex').property('PartitionKey', .select('source').id())

    This…

    2 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  0 comments  ·  Gremlin API  ·  Flag idea as inappropriate…  ·  Admin →
  8. cosmosdb graph make input query multiline

    Please replace the single line textbox of the cosmosdb graph data explorer query filter to a multiline textbox! As of today it is impossible to use even with the simplest gremlin queries.

    13 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Portal  ·  Flag idea as inappropriate…  ·  Admin →
  9. Please add the none step.

    When we create or update vertices and edges, we don't need the results from the traversal. Having the results filtered out server-side saves resources.

    3 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 →
  10. Multi-line Graph/Gremlin query textbox in the portal

    In the Azure Portal, the graph query text box allows pasting of multi-line queries, but if the query is longer than the query textbox, you have to scroll horizontally (using arrow keys). I frequently debug queries using this interface, but I usually end up having a separate text editor open so I can view the entire query, copying/pasting back and forth.

    Allowing for at least a few lines of text with a vertical scrollbar would be great (like we have now for SQL queries). Optional word-wrap would make it even better.

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  0 comments  ·  Portal  ·  Flag idea as inappropriate…  ·  Admin →
  11. [Gremlin] Paging Support

    Please add paging support for Cosmos Graph DB via the Gremlin API. Traversing the whole graph for a large set of vertices can be very expensive. Paging would allow better efficiency when targeting a subset of a large set of vertices.

    44 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  1 comment  ·  Gremlin API  ·  Flag idea as inappropriate…  ·  Admin →
  12. TTL default value needs to be blank for mishandling

    When TTL selected "On", default value in the text box should be blank to prevent from user's mishandling to unintentionally delete data.
    I did it and had deleted data.. So I strongly request this.
    I think little tweak can achieve my request.

    18 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  0 comments  ·  Portal  ·  Flag idea as inappropriate…  ·  Admin →
  13. 1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  0 comments  ·  Gremlin API  ·  Flag idea as inappropriate…  ·  Admin →
  14. Update documentation on enabling Gremlin queries on HDInsight via CosmosDB connector

    The documentation on how to enable Gremlin queries on HDInsight via the CosmosDB Spark connector should be brought up-to-date.

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Other  ·  Flag idea as inappropriate…  ·  Admin →
  15. Managing local account and authentication for accessing database and collection

    We are using Cosmos DB with Mongo API .We are unable to restrict the user to collection or database level. The only option available is read write keys and read only keys which works on the DB account level.

    7 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Security  ·  Flag idea as inappropriate…  ·  Admin →
  16. Support Math functions in the graph

    simple arthimatic (like computing %s) have to be done after extracting the data. pl support math step

    31 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Gremlin API  ·  Flag idea as inappropriate…  ·  Admin →
  17. Better documentation and examples for Azure Cosmos DB Data Migration tool

    I would like better documentation for the Azure Cosmos DB Data Migration tool to ease migration to Cosmos DB from other data sources as these impedes migration of brownfield developments.

    If you are mapping LEFT joins from sql to arrays or collections of objects this documentation is missing from instructions. The below post is the only starting point for some

    https://stackoverflow.com/questions/45981322/how-to-import-documents-that-have-arrays-with-the-cosmos-db-data-migration-tool/45994471#45994471

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Other  ·  Flag idea as inappropriate…  ·  Admin →
  18. Azure mongodb timeout after 30 mins

    Currently azure closes mongodb connection after 30 mins and doesn't inform the webapp. So after 30 mins app uses same connection it gets error.
    See details in

    https://stackoverflow.com/questions/48464455/connection-to-cosmosdb-through-mongo-api-fails-after-idle

    Any plan to fix this or work around ?

    24 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    4 comments  ·  MongoDB API  ·  Flag idea as inappropriate…  ·  Admin →
  19. Change feed support for SQL API Python SDK

    See issue https://github.com/MicrosoftDocs/azure-docs/issues/5251.

    Customer says "I am looking for python code example to listen to change feed and process each item. Pointer to any relevant code would be helpful."

    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 →
  20. Support strategies on graph traversals

    Currently, the graph traversal in Cosmos DB graph (usually referenced by 'g') does not support the 'withStrategies'-method that is normally part of a Tinkerpop implementation. 'withStrategies' allows e.g to enhance the traversal with custom vertex- and edge-filtering on every step (by a SubgraphStrategy).

    46 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    5 comments  ·  Gremlin API  ·  Flag idea as inappropriate…  ·  Admin →
← Previous 1
  • Don't see your idea?

Feedback and Knowledge Base