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. Transaction support in client SDKs

    it would be useful if documentdb transactions are supported in .net, rather than just storedprocs and triggers.
    using trans = newtrans()
    try
    db.addsomething()
    db.save() //ok
    db.addother()
    db.save() //fail
    catch
    trans.rollback
    end try
    end using

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

    We recently released support for client-side transactions in our .NET SDK.

    https://devblogs.microsoft.com/cosmosdb/introducing-transactionalbatch-in-the-net-sdk/

    We would like to get your feedback on this to understand if this meets your needs for transaction support. Please read our announcement and/or feel free to try our new support then please respond to this one question survey.

    https://forms.office.com/Pages/ResponsePage.aspx?id=v4j5cvGGr0GRqy180BHbR_Lrg0nxRBtErN-GyphxUs9UQ0c1STlJTDVOT1JXUzhYVkYzU1JZSU5BTi4u

    Thank you.

  2. Better handling of "request limit too large"

    Here (https://docs.microsoft.com/en-us/azure/cosmos-db/performance-tips) you can see that when you have exceeded your RU/s quota, Cosmos DB will respond with HTTP Status 429 with an HTTP header x-ms-retry-after-ms telling you when you can make the next request. It also says that the request will be retried automatically, if you use the SQL API.

    For the MongoDB API, requests will not be retried automatically and there is nothing telling the user how long to wait before retrying. Instead you have to catch a MongoCommandException, look at the Code property for 16500 and guess when to retry,

    I'd like the same support…

    307 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    10 comments  ·  MongoDB API  ·  Flag idea as inappropriate…  ·  Admin →
  3. Support TTL indexes on any field

    Please add support for TTL indexes on any field, not just the internal and inaccessible _ts field. We need document specific TTLs.

    https://docs.mongodb.com/manual/tutorial/expire-data/

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

    Per document TTL is now available in Preview for customers to try.

    To enable and test this feature access your MongoDB API account for Cosmos DB in the Azure Portal, click Preview tab on left hand side, then click Enable to test Per-document TTL.

    You will can also enable and try Aggregation Pipeline and MongoDB 3.4 support from here as well.

    Please try TTL and all these features and please feel free to give us feedback.

    Thank you for your suggestion and your votes.

  4. PowerShell module for the management plane

    Hi

    It would be great if there was a supported PowerShell module for the CosmosDB management plane, in the same vein as the other Az modules. The Az PowerShell team have already done the vast majority of the work with their Autorest project so you'd just need to provide them with a Swagger/OpenAPI definition file and they can help you generate the majority of the code for it.

    24 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Management  ·  Flag idea as inappropriate…  ·  Admin →
  5. 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.

    8 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Monitoring  ·  Flag idea as inappropriate…  ·  Admin →
  6. Add more options for GraphSONMode

    Currently I am using the GraphSONMode.Normal to get adjcency information of a 'vertex' but then I only use the outgoing edge information and ignore the incomming edge information.

    From optimization point of view we should add more options to have more fine-grained control on the output format of the gremlin query.

    I would like to suggect that we add 'IncludeOutE' option for GraphSONMode to return GraphSON format including only Outgoing edge information and 'IncludeInE' option to return GraphSON format including only Incomming edge information.

    7 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 →
  7. Base metrics of the "Average RU/S" on the whole selected period

    In the troughtput Metrics the indicator about Average RU/S should be modified as follows:
    •The label/tooltip should be clear about the fact that the average refers to the last hour and not the selected period
    OR
    •The calculation should be done on the whole selected period (From-To or Last Week)

    6 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Monitoring  ·  Flag idea as inappropriate…  ·  Admin →
  8. Graph DB - more query tabs

    You should add more query tabs on CosmosDB for Gremlin, so that users can run different queries and compare the result without deleting every time the content of the textbox

    1 vote
    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 →
  9. cosmos db metric not raising/recording http 401/403 response

    cosmos db metric not raising/recording http 401/403 response.
    It will be helpful if this is included as part of metrics

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Monitoring  ·  Flag idea as inappropriate…  ·  Admin →
  10. array_contains for empty array should not use high RU

    A trivial query like

    SELECT * FROM c WHERE c.partitionKey = '***' and arraycontains([], c.id)

    will not return any results, but it does take COSMOS a lot of RU to determine this.

    E.g. On a partition with 6k small documents this consumes 622RU!

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

Feedback and Knowledge Base