Innerworks
- Upload (Request): Capped at 2 MB. This includes the total serialized JSON size of all 100 items in your batch.
- Download (Response): Capped at 4 MB. This allows the server to send back a more detailed response (including metadata and eTags for every item) than what you originally sent.
Ports
CosmosDB uses dynamic port assigned, checkout SNAT https://learn.microsoft.com/en-us/azure/cosmos-db/nosql/troubleshoot-dotnet-sdk
API Features
https://learn.microsoft.com/en-us/azure/cosmos-db/resource-model
Do not be mistaken this is API, not that the feature is not there.
- etag only exists in NoSQL (use for consistency)
- Anything not (id) are only defined for NoSQL.
- Cassandra do not do indexing
- Change Feed is available for NoSQL, MongoDB, Cassandra, and Gremlin APIs (Table doesn't have it natively without some workarounds).
- TTL vs Analytical TTL (only NoSQL and MongoDB has this)
The ttl property is the user-defined time-to-live for a document in seconds.
The _ts property is the system-generated timestamp representing the epoch time of the last update. The system evaluates document expiration by comparing _ts + ttl against the current time.
Reserve keys/field name
Reserve keys in NoSQL
id Field (User-Defined Unique Key): - This is the only property required when you insert a new document. - The value of id must be unique within the set of documents that share the same partition key value. - If you don't specify a partition key, id must be globally unique within the entire container. - In SDK/Data Explorer this is auto-generated, but not if you use REST directly. - Cosmos DB automatically indexes the id property.
_rid Field (Resource ID): - This is a system-generated unique identifier for the resource (document, stored procedure, etc.). - It is unique across the entire database account. - It is read-only and immutable. You cannot set or change it. - It's used internally by Cosmos DB.
_self Field (Self-Link): - This is a system-generated URI used to address the resource. - It's read-only and immutable.
_etag Field (Concurrency/Optimistic Locking): - This is a system-generated value used for optimistic concurrency control (checking if a document has been modified by someone else since you read it).