[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-microsoft-azure-cosmos-rust":3,"mdc--7reuga-key":43,"related-org-microsoft-azure-cosmos-rust":1454,"related-repo-microsoft-azure-cosmos-rust":1635},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":25,"repoUrl":26,"updatedAt":27,"license":28,"forks":29,"topics":30,"repo":38,"sourceUrl":41,"mdContent":42},"azure-cosmos-rust","build applications with Azure Cosmos DB","Azure Cosmos DB library for Rust (NoSQL API). Document CRUD, containers, and globally distributed data.\nTriggers: \"cosmos db rust\", \"CosmosClient rust\", \"document crud rust\", \"NoSQL rust\", \"partition key rust\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"microsoft","Microsoft","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fmicrosoft.png",[12,16,19,22],{"name":13,"slug":14,"type":15},"Cosmos DB","cosmos-db","tag",{"name":17,"slug":18,"type":15},"NoSQL","nosql",{"name":20,"slug":21,"type":15},"Database","database",{"name":23,"slug":24,"type":15},"Rust","rust",2804,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills","2026-07-31T05:54:27.021432","MIT",315,[31,32,33,34,35,36,37],"agent-skills","agents","azure","foundry","mcp","sdk","skills",{"repoUrl":26,"stars":25,"forks":29,"topics":39,"description":40},[31,32,33,34,35,36,37],"Skills, MCP servers, Custom Agents, Agents.md for SDKs to ground Coding Agents","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Ftree\u002FHEAD\u002F.github\u002Fplugins\u002Fazure-sdk-rust\u002Fskills\u002Fazure-cosmos-rust","---\nname: azure-cosmos-rust\ndescription: |\n  Azure Cosmos DB library for Rust (NoSQL API). Document CRUD, containers, and globally distributed data.\n  Triggers: \"cosmos db rust\", \"CosmosClient rust\", \"document crud rust\", \"NoSQL rust\", \"partition key rust\".\nlicense: MIT\nmetadata:\n  author: Microsoft\n  package: azure_data_cosmos\n---\n\n# Azure Cosmos DB library for Rust\n\nClient library for Azure Cosmos DB NoSQL API — document CRUD, containers, and globally distributed data.\n\nUse this skill when:\n\n- An app needs to store or query documents in Cosmos DB from Rust\n- You need CRUD operations on items with partition keys\n- You need key-based auth as an alternative to Entra ID\n\n> **IMPORTANT:** Only use the official `azure_data_cosmos` crate published by the [azure-sdk](https:\u002F\u002Fcrates.io\u002Fusers\u002Fazure-sdk) crates.io user. Do NOT use the unofficial `azure_cosmos` or `azure_sdk_for_rust` community crates. Official crates use underscores in names and none have version 0.21.0.\n\n## Installation\n\n```sh\ncargo add azure_data_cosmos azure_identity serde serde_json tokio\n```\n\n> If your code uses `azure_core` types directly (for example, `azure_core::credentials::TokenCredential`), add `azure_core` to `Cargo.toml`. If you only use `azure_data_cosmos` re-exports, direct `azure_core` dependency is optional.\n\n## Environment Variables\n\n```bash\nCOSMOS_ENDPOINT=https:\u002F\u002F\u003Caccount>.documents.azure.com\u002F # Required for all operations\n```\n\n## Authentication\n\nRust Azure SDK code must not use `DefaultAzureCredential`. The Rust identity crate does not provide that type.\n\n```rust\nuse azure_identity::DeveloperToolsCredential;\nuse azure_data_cosmos::{\n    CosmosClient, AccountReference, AccountEndpoint, RoutingStrategy,\n};\n\n#[tokio::main]\nasync fn main() -> Result\u003C(), Box\u003Cdyn std::error::Error>> {\n    \u002F\u002F Local dev: DeveloperToolsCredential. Production: use ManagedIdentityCredential.\n    let credential = DeveloperToolsCredential::new(None)?;\n    let endpoint: AccountEndpoint = \"https:\u002F\u002F\u003Caccount>.documents.azure.com\u002F\"\n        .parse()?;\n    let account = AccountReference::with_credential(endpoint, credential);\n    let client = CosmosClient::builder()\n        .build(account, RoutingStrategy::ProximityTo(\"East US\".into()))\n        .await?;\n    Ok(())\n}\n```\n\nPrefer the crate README\u002Fexamples when checking builder signatures and CRUD method shapes instead of reconstructing APIs from memory or generated internals.\n\n## Client Hierarchy\n\n| Client            | Purpose                   | Access                                          |\n| ----------------- | ------------------------- | ----------------------------------------------- |\n| `CosmosClient`    | Account-level operations  | `CosmosClient::builder().build(account).await?` |\n| `DatabaseClient`  | Database operations       | `client.database_client(\"db\")`                  |\n| `ContainerClient` | Container\u002Fitem operations | `database.container_client(\"c\").await`          |\n\n## Core Workflow\n\n```rust\nuse serde::{Serialize, Deserialize};\nuse azure_data_cosmos::CosmosClient;\n\n#[derive(Serialize, Deserialize)]\nstruct Item {\n    pub id: String,\n    pub partition_key: String,\n    pub value: String,\n}\n\nasync fn crud(client: CosmosClient) -> Result\u003C(), Box\u003Cdyn std::error::Error>> {\n    let container = client\n        .database_client(\"myDatabase\")\n        .container_client(\"myContainer\")\n        .await;\n\n    let item = Item {\n        id: \"1\".into(),\n        partition_key: \"pk1\".into(),\n        value: \"hello\".into(),\n    };\n\n    \u002F\u002F Create\n    container.create_item(\"pk1\", \"1\", item, None).await?;\n\n    \u002F\u002F Read\n    let resp = container.read_item(\"pk1\", \"1\", None).await?;\n    let mut item: Item = resp.into_model()?;\n\n    \u002F\u002F Update\n    item.value = \"updated\".into();\n    container.replace_item(\"pk1\", \"1\", item, None).await?;\n\n    \u002F\u002F Delete\n    container.delete_item(\"pk1\", \"1\", None).await?;\n    Ok(())\n}\n```\n\n### Patch Item\n\n```rust\nuse azure_data_cosmos::{PatchInstructions, PatchOperation};\n\nlet patch = PatchInstructions::from(vec![\n    PatchOperation::set(\"\u002Fvalue\", serde_json::json!(\"patched\")),\n]);\nlet patched: Item = container\n    .patch_item(\"pk1\", \"1\", patch, None)\n    .await?\n    .into_model()?;\nprintln!(\"Patched value: {}\", patched.value);\n```\n\n## Key Auth (Optional)\n\nEnable account key authentication with the feature flag:\n\n```sh\ncargo add azure_data_cosmos --features key_auth\n```\n\n## RBAC Roles\n\nFor Entra ID auth, assign one of these built-in Cosmos DB roles:\n\n| Role                                  | Access     |\n| ------------------------------------- | ---------- |\n| `Cosmos DB Built-in Data Reader`      | Read-only  |\n| `Cosmos DB Built-in Data Contributor` | Read\u002Fwrite |\n\n## Best Practices\n\n1. **Use `cargo add` to manage dependencies, never edit `Cargo.toml` directly.** Add and remove Rust SDK dependencies with cargo commands instead of manual manifest edits.\n2. **Add `azure_core` only when importing `azure_core` types directly.** If your code imports `azure_core::http::Url`, `azure_core::http::RequestContent`, or `azure_core::error::ErrorKind`, include `azure_core`; otherwise a direct dependency is optional.\n3. **Use `DeveloperToolsCredential`** for local dev, **`ManagedIdentityCredential`** for production — Rust does not provide a single `DefaultAzureCredential` type\n4. **Never hardcode credentials** — use environment variables or managed identity\n5. **Reuse `CosmosClient`** — clients are thread-safe; create once, share across tasks\n6. **Use `RoutingStrategy::ProximityTo`** — route to the nearest region for lowest latency\n7. **Always specify partition key** for item operations — Cosmos DB requires it for all CRUD\n8. **Run `cargo clippy -- -D warnings`** when the prompt, eval, or CI expects lint-clean output\n9. **Future-proof `#[non_exhaustive]` SDK models** — when constructing SDK model\u002Foptions structs, end the initializer with `..Default::default()` (add `#[allow(clippy::needless_update)]`) and use a `_` wildcard arm when matching SDK enums, so new service-added fields\u002Fvariants don't break your build\n\n## Reference Links\n\n| Resource      | Link                                                                               |\n| ------------- | ---------------------------------------------------------------------------------- |\n| API Reference | https:\u002F\u002Fdocs.rs\u002Fazure_data_cosmos\u002Flatest\u002Fazure_data_cosmos                         |\n| crates.io     | https:\u002F\u002Fcrates.io\u002Fcrates\u002Fazure_data_cosmos                                         |\n| Source Code   | https:\u002F\u002Fgithub.com\u002FAzure\u002Fazure-sdk-for-rust\u002Ftree\u002Fmain\u002Fsdk\u002Fcosmos\u002Fazure_data_cosmos |\n",{"data":44,"body":47},{"name":4,"description":6,"license":28,"metadata":45},{"author":9,"package":46},"azure_data_cosmos",{"type":48,"children":49},"root",[50,59,65,70,90,140,147,201,254,260,315,321,334,495,500,506,617,623,936,943,1029,1035,1040,1072,1078,1083,1138,1144,1369,1375,1448],{"type":51,"tag":52,"props":53,"children":55},"element","h1",{"id":54},"azure-cosmos-db-library-for-rust",[56],{"type":57,"value":58},"text","Azure Cosmos DB library for Rust",{"type":51,"tag":60,"props":61,"children":62},"p",{},[63],{"type":57,"value":64},"Client library for Azure Cosmos DB NoSQL API — document CRUD, containers, and globally distributed data.",{"type":51,"tag":60,"props":66,"children":67},{},[68],{"type":57,"value":69},"Use this skill when:",{"type":51,"tag":71,"props":72,"children":73},"ul",{},[74,80,85],{"type":51,"tag":75,"props":76,"children":77},"li",{},[78],{"type":57,"value":79},"An app needs to store or query documents in Cosmos DB from Rust",{"type":51,"tag":75,"props":81,"children":82},{},[83],{"type":57,"value":84},"You need CRUD operations on items with partition keys",{"type":51,"tag":75,"props":86,"children":87},{},[88],{"type":57,"value":89},"You need key-based auth as an alternative to Entra ID",{"type":51,"tag":91,"props":92,"children":93},"blockquote",{},[94],{"type":51,"tag":60,"props":95,"children":96},{},[97,103,105,111,113,122,124,130,132,138],{"type":51,"tag":98,"props":99,"children":100},"strong",{},[101],{"type":57,"value":102},"IMPORTANT:",{"type":57,"value":104}," Only use the official ",{"type":51,"tag":106,"props":107,"children":109},"code",{"className":108},[],[110],{"type":57,"value":46},{"type":57,"value":112}," crate published by the ",{"type":51,"tag":114,"props":115,"children":119},"a",{"href":116,"rel":117},"https:\u002F\u002Fcrates.io\u002Fusers\u002Fazure-sdk",[118],"nofollow",[120],{"type":57,"value":121},"azure-sdk",{"type":57,"value":123}," crates.io user. Do NOT use the unofficial ",{"type":51,"tag":106,"props":125,"children":127},{"className":126},[],[128],{"type":57,"value":129},"azure_cosmos",{"type":57,"value":131}," or ",{"type":51,"tag":106,"props":133,"children":135},{"className":134},[],[136],{"type":57,"value":137},"azure_sdk_for_rust",{"type":57,"value":139}," community crates. Official crates use underscores in names and none have version 0.21.0.",{"type":51,"tag":141,"props":142,"children":144},"h2",{"id":143},"installation",[145],{"type":57,"value":146},"Installation",{"type":51,"tag":148,"props":149,"children":154},"pre",{"className":150,"code":151,"language":152,"meta":153,"style":153},"language-sh shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","cargo add azure_data_cosmos azure_identity serde serde_json tokio\n","sh","",[155],{"type":51,"tag":106,"props":156,"children":157},{"__ignoreMap":153},[158],{"type":51,"tag":159,"props":160,"children":163},"span",{"class":161,"line":162},"line",1,[164,170,176,181,186,191,196],{"type":51,"tag":159,"props":165,"children":167},{"style":166},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[168],{"type":57,"value":169},"cargo",{"type":51,"tag":159,"props":171,"children":173},{"style":172},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[174],{"type":57,"value":175}," add",{"type":51,"tag":159,"props":177,"children":178},{"style":172},[179],{"type":57,"value":180}," azure_data_cosmos",{"type":51,"tag":159,"props":182,"children":183},{"style":172},[184],{"type":57,"value":185}," azure_identity",{"type":51,"tag":159,"props":187,"children":188},{"style":172},[189],{"type":57,"value":190}," serde",{"type":51,"tag":159,"props":192,"children":193},{"style":172},[194],{"type":57,"value":195}," serde_json",{"type":51,"tag":159,"props":197,"children":198},{"style":172},[199],{"type":57,"value":200}," tokio\n",{"type":51,"tag":91,"props":202,"children":203},{},[204],{"type":51,"tag":60,"props":205,"children":206},{},[207,209,215,217,223,225,230,232,238,240,245,247,252],{"type":57,"value":208},"If your code uses ",{"type":51,"tag":106,"props":210,"children":212},{"className":211},[],[213],{"type":57,"value":214},"azure_core",{"type":57,"value":216}," types directly (for example, ",{"type":51,"tag":106,"props":218,"children":220},{"className":219},[],[221],{"type":57,"value":222},"azure_core::credentials::TokenCredential",{"type":57,"value":224},"), add ",{"type":51,"tag":106,"props":226,"children":228},{"className":227},[],[229],{"type":57,"value":214},{"type":57,"value":231}," to ",{"type":51,"tag":106,"props":233,"children":235},{"className":234},[],[236],{"type":57,"value":237},"Cargo.toml",{"type":57,"value":239},". If you only use ",{"type":51,"tag":106,"props":241,"children":243},{"className":242},[],[244],{"type":57,"value":46},{"type":57,"value":246}," re-exports, direct ",{"type":51,"tag":106,"props":248,"children":250},{"className":249},[],[251],{"type":57,"value":214},{"type":57,"value":253}," dependency is optional.",{"type":51,"tag":141,"props":255,"children":257},{"id":256},"environment-variables",[258],{"type":57,"value":259},"Environment Variables",{"type":51,"tag":148,"props":261,"children":265},{"className":262,"code":263,"language":264,"meta":153,"style":153},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","COSMOS_ENDPOINT=https:\u002F\u002F\u003Caccount>.documents.azure.com\u002F # Required for all operations\n","bash",[266],{"type":51,"tag":106,"props":267,"children":268},{"__ignoreMap":153},[269],{"type":51,"tag":159,"props":270,"children":271},{"class":161,"line":162},[272,278,284,289,294,299,304,309],{"type":51,"tag":159,"props":273,"children":275},{"style":274},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[276],{"type":57,"value":277},"COSMOS_ENDPOINT",{"type":51,"tag":159,"props":279,"children":281},{"style":280},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[282],{"type":57,"value":283},"=",{"type":51,"tag":159,"props":285,"children":286},{"style":172},[287],{"type":57,"value":288},"https:\u002F\u002F",{"type":51,"tag":159,"props":290,"children":291},{"style":280},[292],{"type":57,"value":293},"\u003C",{"type":51,"tag":159,"props":295,"children":296},{"style":172},[297],{"type":57,"value":298},"account",{"type":51,"tag":159,"props":300,"children":301},{"style":280},[302],{"type":57,"value":303},">",{"type":51,"tag":159,"props":305,"children":306},{"style":172},[307],{"type":57,"value":308},".documents.azure.com\u002F",{"type":51,"tag":159,"props":310,"children":312},{"style":311},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[313],{"type":57,"value":314}," # Required for all operations\n",{"type":51,"tag":141,"props":316,"children":318},{"id":317},"authentication",[319],{"type":57,"value":320},"Authentication",{"type":51,"tag":60,"props":322,"children":323},{},[324,326,332],{"type":57,"value":325},"Rust Azure SDK code must not use ",{"type":51,"tag":106,"props":327,"children":329},{"className":328},[],[330],{"type":57,"value":331},"DefaultAzureCredential",{"type":57,"value":333},". The Rust identity crate does not provide that type.",{"type":51,"tag":148,"props":335,"children":338},{"className":336,"code":337,"language":24,"meta":153,"style":153},"language-rust shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","use azure_identity::DeveloperToolsCredential;\nuse azure_data_cosmos::{\n    CosmosClient, AccountReference, AccountEndpoint, RoutingStrategy,\n};\n\n#[tokio::main]\nasync fn main() -> Result\u003C(), Box\u003Cdyn std::error::Error>> {\n    \u002F\u002F Local dev: DeveloperToolsCredential. Production: use ManagedIdentityCredential.\n    let credential = DeveloperToolsCredential::new(None)?;\n    let endpoint: AccountEndpoint = \"https:\u002F\u002F\u003Caccount>.documents.azure.com\u002F\"\n        .parse()?;\n    let account = AccountReference::with_credential(endpoint, credential);\n    let client = CosmosClient::builder()\n        .build(account, RoutingStrategy::ProximityTo(\"East US\".into()))\n        .await?;\n    Ok(())\n}\n",[339],{"type":51,"tag":106,"props":340,"children":341},{"__ignoreMap":153},[342,350,359,368,377,387,396,405,414,423,432,441,450,459,468,477,486],{"type":51,"tag":159,"props":343,"children":344},{"class":161,"line":162},[345],{"type":51,"tag":159,"props":346,"children":347},{},[348],{"type":57,"value":349},"use azure_identity::DeveloperToolsCredential;\n",{"type":51,"tag":159,"props":351,"children":353},{"class":161,"line":352},2,[354],{"type":51,"tag":159,"props":355,"children":356},{},[357],{"type":57,"value":358},"use azure_data_cosmos::{\n",{"type":51,"tag":159,"props":360,"children":362},{"class":161,"line":361},3,[363],{"type":51,"tag":159,"props":364,"children":365},{},[366],{"type":57,"value":367},"    CosmosClient, AccountReference, AccountEndpoint, RoutingStrategy,\n",{"type":51,"tag":159,"props":369,"children":371},{"class":161,"line":370},4,[372],{"type":51,"tag":159,"props":373,"children":374},{},[375],{"type":57,"value":376},"};\n",{"type":51,"tag":159,"props":378,"children":380},{"class":161,"line":379},5,[381],{"type":51,"tag":159,"props":382,"children":384},{"emptyLinePlaceholder":383},true,[385],{"type":57,"value":386},"\n",{"type":51,"tag":159,"props":388,"children":390},{"class":161,"line":389},6,[391],{"type":51,"tag":159,"props":392,"children":393},{},[394],{"type":57,"value":395},"#[tokio::main]\n",{"type":51,"tag":159,"props":397,"children":399},{"class":161,"line":398},7,[400],{"type":51,"tag":159,"props":401,"children":402},{},[403],{"type":57,"value":404},"async fn main() -> Result\u003C(), Box\u003Cdyn std::error::Error>> {\n",{"type":51,"tag":159,"props":406,"children":408},{"class":161,"line":407},8,[409],{"type":51,"tag":159,"props":410,"children":411},{},[412],{"type":57,"value":413},"    \u002F\u002F Local dev: DeveloperToolsCredential. Production: use ManagedIdentityCredential.\n",{"type":51,"tag":159,"props":415,"children":417},{"class":161,"line":416},9,[418],{"type":51,"tag":159,"props":419,"children":420},{},[421],{"type":57,"value":422},"    let credential = DeveloperToolsCredential::new(None)?;\n",{"type":51,"tag":159,"props":424,"children":426},{"class":161,"line":425},10,[427],{"type":51,"tag":159,"props":428,"children":429},{},[430],{"type":57,"value":431},"    let endpoint: AccountEndpoint = \"https:\u002F\u002F\u003Caccount>.documents.azure.com\u002F\"\n",{"type":51,"tag":159,"props":433,"children":435},{"class":161,"line":434},11,[436],{"type":51,"tag":159,"props":437,"children":438},{},[439],{"type":57,"value":440},"        .parse()?;\n",{"type":51,"tag":159,"props":442,"children":444},{"class":161,"line":443},12,[445],{"type":51,"tag":159,"props":446,"children":447},{},[448],{"type":57,"value":449},"    let account = AccountReference::with_credential(endpoint, credential);\n",{"type":51,"tag":159,"props":451,"children":453},{"class":161,"line":452},13,[454],{"type":51,"tag":159,"props":455,"children":456},{},[457],{"type":57,"value":458},"    let client = CosmosClient::builder()\n",{"type":51,"tag":159,"props":460,"children":462},{"class":161,"line":461},14,[463],{"type":51,"tag":159,"props":464,"children":465},{},[466],{"type":57,"value":467},"        .build(account, RoutingStrategy::ProximityTo(\"East US\".into()))\n",{"type":51,"tag":159,"props":469,"children":471},{"class":161,"line":470},15,[472],{"type":51,"tag":159,"props":473,"children":474},{},[475],{"type":57,"value":476},"        .await?;\n",{"type":51,"tag":159,"props":478,"children":480},{"class":161,"line":479},16,[481],{"type":51,"tag":159,"props":482,"children":483},{},[484],{"type":57,"value":485},"    Ok(())\n",{"type":51,"tag":159,"props":487,"children":489},{"class":161,"line":488},17,[490],{"type":51,"tag":159,"props":491,"children":492},{},[493],{"type":57,"value":494},"}\n",{"type":51,"tag":60,"props":496,"children":497},{},[498],{"type":57,"value":499},"Prefer the crate README\u002Fexamples when checking builder signatures and CRUD method shapes instead of reconstructing APIs from memory or generated internals.",{"type":51,"tag":141,"props":501,"children":503},{"id":502},"client-hierarchy",[504],{"type":57,"value":505},"Client Hierarchy",{"type":51,"tag":507,"props":508,"children":509},"table",{},[510,534],{"type":51,"tag":511,"props":512,"children":513},"thead",{},[514],{"type":51,"tag":515,"props":516,"children":517},"tr",{},[518,524,529],{"type":51,"tag":519,"props":520,"children":521},"th",{},[522],{"type":57,"value":523},"Client",{"type":51,"tag":519,"props":525,"children":526},{},[527],{"type":57,"value":528},"Purpose",{"type":51,"tag":519,"props":530,"children":531},{},[532],{"type":57,"value":533},"Access",{"type":51,"tag":535,"props":536,"children":537},"tbody",{},[538,565,591],{"type":51,"tag":515,"props":539,"children":540},{},[541,551,556],{"type":51,"tag":542,"props":543,"children":544},"td",{},[545],{"type":51,"tag":106,"props":546,"children":548},{"className":547},[],[549],{"type":57,"value":550},"CosmosClient",{"type":51,"tag":542,"props":552,"children":553},{},[554],{"type":57,"value":555},"Account-level operations",{"type":51,"tag":542,"props":557,"children":558},{},[559],{"type":51,"tag":106,"props":560,"children":562},{"className":561},[],[563],{"type":57,"value":564},"CosmosClient::builder().build(account).await?",{"type":51,"tag":515,"props":566,"children":567},{},[568,577,582],{"type":51,"tag":542,"props":569,"children":570},{},[571],{"type":51,"tag":106,"props":572,"children":574},{"className":573},[],[575],{"type":57,"value":576},"DatabaseClient",{"type":51,"tag":542,"props":578,"children":579},{},[580],{"type":57,"value":581},"Database operations",{"type":51,"tag":542,"props":583,"children":584},{},[585],{"type":51,"tag":106,"props":586,"children":588},{"className":587},[],[589],{"type":57,"value":590},"client.database_client(\"db\")",{"type":51,"tag":515,"props":592,"children":593},{},[594,603,608],{"type":51,"tag":542,"props":595,"children":596},{},[597],{"type":51,"tag":106,"props":598,"children":600},{"className":599},[],[601],{"type":57,"value":602},"ContainerClient",{"type":51,"tag":542,"props":604,"children":605},{},[606],{"type":57,"value":607},"Container\u002Fitem operations",{"type":51,"tag":542,"props":609,"children":610},{},[611],{"type":51,"tag":106,"props":612,"children":614},{"className":613},[],[615],{"type":57,"value":616},"database.container_client(\"c\").await",{"type":51,"tag":141,"props":618,"children":620},{"id":619},"core-workflow",[621],{"type":57,"value":622},"Core Workflow",{"type":51,"tag":148,"props":624,"children":626},{"className":336,"code":625,"language":24,"meta":153,"style":153},"use serde::{Serialize, Deserialize};\nuse azure_data_cosmos::CosmosClient;\n\n#[derive(Serialize, Deserialize)]\nstruct Item {\n    pub id: String,\n    pub partition_key: String,\n    pub value: String,\n}\n\nasync fn crud(client: CosmosClient) -> Result\u003C(), Box\u003Cdyn std::error::Error>> {\n    let container = client\n        .database_client(\"myDatabase\")\n        .container_client(\"myContainer\")\n        .await;\n\n    let item = Item {\n        id: \"1\".into(),\n        partition_key: \"pk1\".into(),\n        value: \"hello\".into(),\n    };\n\n    \u002F\u002F Create\n    container.create_item(\"pk1\", \"1\", item, None).await?;\n\n    \u002F\u002F Read\n    let resp = container.read_item(\"pk1\", \"1\", None).await?;\n    let mut item: Item = resp.into_model()?;\n\n    \u002F\u002F Update\n    item.value = \"updated\".into();\n    container.replace_item(\"pk1\", \"1\", item, None).await?;\n\n    \u002F\u002F Delete\n    container.delete_item(\"pk1\", \"1\", None).await?;\n    Ok(())\n}\n",[627],{"type":51,"tag":106,"props":628,"children":629},{"__ignoreMap":153},[630,638,646,653,661,669,677,685,693,700,707,715,723,731,739,747,754,762,771,780,789,798,806,815,824,832,841,850,859,867,876,885,894,902,911,920,928],{"type":51,"tag":159,"props":631,"children":632},{"class":161,"line":162},[633],{"type":51,"tag":159,"props":634,"children":635},{},[636],{"type":57,"value":637},"use serde::{Serialize, Deserialize};\n",{"type":51,"tag":159,"props":639,"children":640},{"class":161,"line":352},[641],{"type":51,"tag":159,"props":642,"children":643},{},[644],{"type":57,"value":645},"use azure_data_cosmos::CosmosClient;\n",{"type":51,"tag":159,"props":647,"children":648},{"class":161,"line":361},[649],{"type":51,"tag":159,"props":650,"children":651},{"emptyLinePlaceholder":383},[652],{"type":57,"value":386},{"type":51,"tag":159,"props":654,"children":655},{"class":161,"line":370},[656],{"type":51,"tag":159,"props":657,"children":658},{},[659],{"type":57,"value":660},"#[derive(Serialize, Deserialize)]\n",{"type":51,"tag":159,"props":662,"children":663},{"class":161,"line":379},[664],{"type":51,"tag":159,"props":665,"children":666},{},[667],{"type":57,"value":668},"struct Item {\n",{"type":51,"tag":159,"props":670,"children":671},{"class":161,"line":389},[672],{"type":51,"tag":159,"props":673,"children":674},{},[675],{"type":57,"value":676},"    pub id: String,\n",{"type":51,"tag":159,"props":678,"children":679},{"class":161,"line":398},[680],{"type":51,"tag":159,"props":681,"children":682},{},[683],{"type":57,"value":684},"    pub partition_key: String,\n",{"type":51,"tag":159,"props":686,"children":687},{"class":161,"line":407},[688],{"type":51,"tag":159,"props":689,"children":690},{},[691],{"type":57,"value":692},"    pub value: String,\n",{"type":51,"tag":159,"props":694,"children":695},{"class":161,"line":416},[696],{"type":51,"tag":159,"props":697,"children":698},{},[699],{"type":57,"value":494},{"type":51,"tag":159,"props":701,"children":702},{"class":161,"line":425},[703],{"type":51,"tag":159,"props":704,"children":705},{"emptyLinePlaceholder":383},[706],{"type":57,"value":386},{"type":51,"tag":159,"props":708,"children":709},{"class":161,"line":434},[710],{"type":51,"tag":159,"props":711,"children":712},{},[713],{"type":57,"value":714},"async fn crud(client: CosmosClient) -> Result\u003C(), Box\u003Cdyn std::error::Error>> {\n",{"type":51,"tag":159,"props":716,"children":717},{"class":161,"line":443},[718],{"type":51,"tag":159,"props":719,"children":720},{},[721],{"type":57,"value":722},"    let container = client\n",{"type":51,"tag":159,"props":724,"children":725},{"class":161,"line":452},[726],{"type":51,"tag":159,"props":727,"children":728},{},[729],{"type":57,"value":730},"        .database_client(\"myDatabase\")\n",{"type":51,"tag":159,"props":732,"children":733},{"class":161,"line":461},[734],{"type":51,"tag":159,"props":735,"children":736},{},[737],{"type":57,"value":738},"        .container_client(\"myContainer\")\n",{"type":51,"tag":159,"props":740,"children":741},{"class":161,"line":470},[742],{"type":51,"tag":159,"props":743,"children":744},{},[745],{"type":57,"value":746},"        .await;\n",{"type":51,"tag":159,"props":748,"children":749},{"class":161,"line":479},[750],{"type":51,"tag":159,"props":751,"children":752},{"emptyLinePlaceholder":383},[753],{"type":57,"value":386},{"type":51,"tag":159,"props":755,"children":756},{"class":161,"line":488},[757],{"type":51,"tag":159,"props":758,"children":759},{},[760],{"type":57,"value":761},"    let item = Item {\n",{"type":51,"tag":159,"props":763,"children":765},{"class":161,"line":764},18,[766],{"type":51,"tag":159,"props":767,"children":768},{},[769],{"type":57,"value":770},"        id: \"1\".into(),\n",{"type":51,"tag":159,"props":772,"children":774},{"class":161,"line":773},19,[775],{"type":51,"tag":159,"props":776,"children":777},{},[778],{"type":57,"value":779},"        partition_key: \"pk1\".into(),\n",{"type":51,"tag":159,"props":781,"children":783},{"class":161,"line":782},20,[784],{"type":51,"tag":159,"props":785,"children":786},{},[787],{"type":57,"value":788},"        value: \"hello\".into(),\n",{"type":51,"tag":159,"props":790,"children":792},{"class":161,"line":791},21,[793],{"type":51,"tag":159,"props":794,"children":795},{},[796],{"type":57,"value":797},"    };\n",{"type":51,"tag":159,"props":799,"children":801},{"class":161,"line":800},22,[802],{"type":51,"tag":159,"props":803,"children":804},{"emptyLinePlaceholder":383},[805],{"type":57,"value":386},{"type":51,"tag":159,"props":807,"children":809},{"class":161,"line":808},23,[810],{"type":51,"tag":159,"props":811,"children":812},{},[813],{"type":57,"value":814},"    \u002F\u002F Create\n",{"type":51,"tag":159,"props":816,"children":818},{"class":161,"line":817},24,[819],{"type":51,"tag":159,"props":820,"children":821},{},[822],{"type":57,"value":823},"    container.create_item(\"pk1\", \"1\", item, None).await?;\n",{"type":51,"tag":159,"props":825,"children":827},{"class":161,"line":826},25,[828],{"type":51,"tag":159,"props":829,"children":830},{"emptyLinePlaceholder":383},[831],{"type":57,"value":386},{"type":51,"tag":159,"props":833,"children":835},{"class":161,"line":834},26,[836],{"type":51,"tag":159,"props":837,"children":838},{},[839],{"type":57,"value":840},"    \u002F\u002F Read\n",{"type":51,"tag":159,"props":842,"children":844},{"class":161,"line":843},27,[845],{"type":51,"tag":159,"props":846,"children":847},{},[848],{"type":57,"value":849},"    let resp = container.read_item(\"pk1\", \"1\", None).await?;\n",{"type":51,"tag":159,"props":851,"children":853},{"class":161,"line":852},28,[854],{"type":51,"tag":159,"props":855,"children":856},{},[857],{"type":57,"value":858},"    let mut item: Item = resp.into_model()?;\n",{"type":51,"tag":159,"props":860,"children":862},{"class":161,"line":861},29,[863],{"type":51,"tag":159,"props":864,"children":865},{"emptyLinePlaceholder":383},[866],{"type":57,"value":386},{"type":51,"tag":159,"props":868,"children":870},{"class":161,"line":869},30,[871],{"type":51,"tag":159,"props":872,"children":873},{},[874],{"type":57,"value":875},"    \u002F\u002F Update\n",{"type":51,"tag":159,"props":877,"children":879},{"class":161,"line":878},31,[880],{"type":51,"tag":159,"props":881,"children":882},{},[883],{"type":57,"value":884},"    item.value = \"updated\".into();\n",{"type":51,"tag":159,"props":886,"children":888},{"class":161,"line":887},32,[889],{"type":51,"tag":159,"props":890,"children":891},{},[892],{"type":57,"value":893},"    container.replace_item(\"pk1\", \"1\", item, None).await?;\n",{"type":51,"tag":159,"props":895,"children":897},{"class":161,"line":896},33,[898],{"type":51,"tag":159,"props":899,"children":900},{"emptyLinePlaceholder":383},[901],{"type":57,"value":386},{"type":51,"tag":159,"props":903,"children":905},{"class":161,"line":904},34,[906],{"type":51,"tag":159,"props":907,"children":908},{},[909],{"type":57,"value":910},"    \u002F\u002F Delete\n",{"type":51,"tag":159,"props":912,"children":914},{"class":161,"line":913},35,[915],{"type":51,"tag":159,"props":916,"children":917},{},[918],{"type":57,"value":919},"    container.delete_item(\"pk1\", \"1\", None).await?;\n",{"type":51,"tag":159,"props":921,"children":923},{"class":161,"line":922},36,[924],{"type":51,"tag":159,"props":925,"children":926},{},[927],{"type":57,"value":485},{"type":51,"tag":159,"props":929,"children":931},{"class":161,"line":930},37,[932],{"type":51,"tag":159,"props":933,"children":934},{},[935],{"type":57,"value":494},{"type":51,"tag":937,"props":938,"children":940},"h3",{"id":939},"patch-item",[941],{"type":57,"value":942},"Patch Item",{"type":51,"tag":148,"props":944,"children":946},{"className":336,"code":945,"language":24,"meta":153,"style":153},"use azure_data_cosmos::{PatchInstructions, PatchOperation};\n\nlet patch = PatchInstructions::from(vec![\n    PatchOperation::set(\"\u002Fvalue\", serde_json::json!(\"patched\")),\n]);\nlet patched: Item = container\n    .patch_item(\"pk1\", \"1\", patch, None)\n    .await?\n    .into_model()?;\nprintln!(\"Patched value: {}\", patched.value);\n",[947],{"type":51,"tag":106,"props":948,"children":949},{"__ignoreMap":153},[950,958,965,973,981,989,997,1005,1013,1021],{"type":51,"tag":159,"props":951,"children":952},{"class":161,"line":162},[953],{"type":51,"tag":159,"props":954,"children":955},{},[956],{"type":57,"value":957},"use azure_data_cosmos::{PatchInstructions, PatchOperation};\n",{"type":51,"tag":159,"props":959,"children":960},{"class":161,"line":352},[961],{"type":51,"tag":159,"props":962,"children":963},{"emptyLinePlaceholder":383},[964],{"type":57,"value":386},{"type":51,"tag":159,"props":966,"children":967},{"class":161,"line":361},[968],{"type":51,"tag":159,"props":969,"children":970},{},[971],{"type":57,"value":972},"let patch = PatchInstructions::from(vec![\n",{"type":51,"tag":159,"props":974,"children":975},{"class":161,"line":370},[976],{"type":51,"tag":159,"props":977,"children":978},{},[979],{"type":57,"value":980},"    PatchOperation::set(\"\u002Fvalue\", serde_json::json!(\"patched\")),\n",{"type":51,"tag":159,"props":982,"children":983},{"class":161,"line":379},[984],{"type":51,"tag":159,"props":985,"children":986},{},[987],{"type":57,"value":988},"]);\n",{"type":51,"tag":159,"props":990,"children":991},{"class":161,"line":389},[992],{"type":51,"tag":159,"props":993,"children":994},{},[995],{"type":57,"value":996},"let patched: Item = container\n",{"type":51,"tag":159,"props":998,"children":999},{"class":161,"line":398},[1000],{"type":51,"tag":159,"props":1001,"children":1002},{},[1003],{"type":57,"value":1004},"    .patch_item(\"pk1\", \"1\", patch, None)\n",{"type":51,"tag":159,"props":1006,"children":1007},{"class":161,"line":407},[1008],{"type":51,"tag":159,"props":1009,"children":1010},{},[1011],{"type":57,"value":1012},"    .await?\n",{"type":51,"tag":159,"props":1014,"children":1015},{"class":161,"line":416},[1016],{"type":51,"tag":159,"props":1017,"children":1018},{},[1019],{"type":57,"value":1020},"    .into_model()?;\n",{"type":51,"tag":159,"props":1022,"children":1023},{"class":161,"line":425},[1024],{"type":51,"tag":159,"props":1025,"children":1026},{},[1027],{"type":57,"value":1028},"println!(\"Patched value: {}\", patched.value);\n",{"type":51,"tag":141,"props":1030,"children":1032},{"id":1031},"key-auth-optional",[1033],{"type":57,"value":1034},"Key Auth (Optional)",{"type":51,"tag":60,"props":1036,"children":1037},{},[1038],{"type":57,"value":1039},"Enable account key authentication with the feature flag:",{"type":51,"tag":148,"props":1041,"children":1043},{"className":150,"code":1042,"language":152,"meta":153,"style":153},"cargo add azure_data_cosmos --features key_auth\n",[1044],{"type":51,"tag":106,"props":1045,"children":1046},{"__ignoreMap":153},[1047],{"type":51,"tag":159,"props":1048,"children":1049},{"class":161,"line":162},[1050,1054,1058,1062,1067],{"type":51,"tag":159,"props":1051,"children":1052},{"style":166},[1053],{"type":57,"value":169},{"type":51,"tag":159,"props":1055,"children":1056},{"style":172},[1057],{"type":57,"value":175},{"type":51,"tag":159,"props":1059,"children":1060},{"style":172},[1061],{"type":57,"value":180},{"type":51,"tag":159,"props":1063,"children":1064},{"style":172},[1065],{"type":57,"value":1066}," --features",{"type":51,"tag":159,"props":1068,"children":1069},{"style":172},[1070],{"type":57,"value":1071}," key_auth\n",{"type":51,"tag":141,"props":1073,"children":1075},{"id":1074},"rbac-roles",[1076],{"type":57,"value":1077},"RBAC Roles",{"type":51,"tag":60,"props":1079,"children":1080},{},[1081],{"type":57,"value":1082},"For Entra ID auth, assign one of these built-in Cosmos DB roles:",{"type":51,"tag":507,"props":1084,"children":1085},{},[1086,1101],{"type":51,"tag":511,"props":1087,"children":1088},{},[1089],{"type":51,"tag":515,"props":1090,"children":1091},{},[1092,1097],{"type":51,"tag":519,"props":1093,"children":1094},{},[1095],{"type":57,"value":1096},"Role",{"type":51,"tag":519,"props":1098,"children":1099},{},[1100],{"type":57,"value":533},{"type":51,"tag":535,"props":1102,"children":1103},{},[1104,1121],{"type":51,"tag":515,"props":1105,"children":1106},{},[1107,1116],{"type":51,"tag":542,"props":1108,"children":1109},{},[1110],{"type":51,"tag":106,"props":1111,"children":1113},{"className":1112},[],[1114],{"type":57,"value":1115},"Cosmos DB Built-in Data Reader",{"type":51,"tag":542,"props":1117,"children":1118},{},[1119],{"type":57,"value":1120},"Read-only",{"type":51,"tag":515,"props":1122,"children":1123},{},[1124,1133],{"type":51,"tag":542,"props":1125,"children":1126},{},[1127],{"type":51,"tag":106,"props":1128,"children":1130},{"className":1129},[],[1131],{"type":57,"value":1132},"Cosmos DB Built-in Data Contributor",{"type":51,"tag":542,"props":1134,"children":1135},{},[1136],{"type":57,"value":1137},"Read\u002Fwrite",{"type":51,"tag":141,"props":1139,"children":1141},{"id":1140},"best-practices",[1142],{"type":57,"value":1143},"Best Practices",{"type":51,"tag":1145,"props":1146,"children":1147},"ol",{},[1148,1173,1228,1261,1271,1286,1301,1311,1327],{"type":51,"tag":75,"props":1149,"children":1150},{},[1151,1171],{"type":51,"tag":98,"props":1152,"children":1153},{},[1154,1156,1162,1164,1169],{"type":57,"value":1155},"Use ",{"type":51,"tag":106,"props":1157,"children":1159},{"className":1158},[],[1160],{"type":57,"value":1161},"cargo add",{"type":57,"value":1163}," to manage dependencies, never edit ",{"type":51,"tag":106,"props":1165,"children":1167},{"className":1166},[],[1168],{"type":57,"value":237},{"type":57,"value":1170}," directly.",{"type":57,"value":1172}," Add and remove Rust SDK dependencies with cargo commands instead of manual manifest edits.",{"type":51,"tag":75,"props":1174,"children":1175},{},[1176,1195,1197,1203,1205,1211,1213,1219,1221,1226],{"type":51,"tag":98,"props":1177,"children":1178},{},[1179,1181,1186,1188,1193],{"type":57,"value":1180},"Add ",{"type":51,"tag":106,"props":1182,"children":1184},{"className":1183},[],[1185],{"type":57,"value":214},{"type":57,"value":1187}," only when importing ",{"type":51,"tag":106,"props":1189,"children":1191},{"className":1190},[],[1192],{"type":57,"value":214},{"type":57,"value":1194}," types directly.",{"type":57,"value":1196}," If your code imports ",{"type":51,"tag":106,"props":1198,"children":1200},{"className":1199},[],[1201],{"type":57,"value":1202},"azure_core::http::Url",{"type":57,"value":1204},", ",{"type":51,"tag":106,"props":1206,"children":1208},{"className":1207},[],[1209],{"type":57,"value":1210},"azure_core::http::RequestContent",{"type":57,"value":1212},", or ",{"type":51,"tag":106,"props":1214,"children":1216},{"className":1215},[],[1217],{"type":57,"value":1218},"azure_core::error::ErrorKind",{"type":57,"value":1220},", include ",{"type":51,"tag":106,"props":1222,"children":1224},{"className":1223},[],[1225],{"type":57,"value":214},{"type":57,"value":1227},"; otherwise a direct dependency is optional.",{"type":51,"tag":75,"props":1229,"children":1230},{},[1231,1241,1243,1252,1254,1259],{"type":51,"tag":98,"props":1232,"children":1233},{},[1234,1235],{"type":57,"value":1155},{"type":51,"tag":106,"props":1236,"children":1238},{"className":1237},[],[1239],{"type":57,"value":1240},"DeveloperToolsCredential",{"type":57,"value":1242}," for local dev, ",{"type":51,"tag":98,"props":1244,"children":1245},{},[1246],{"type":51,"tag":106,"props":1247,"children":1249},{"className":1248},[],[1250],{"type":57,"value":1251},"ManagedIdentityCredential",{"type":57,"value":1253}," for production — Rust does not provide a single ",{"type":51,"tag":106,"props":1255,"children":1257},{"className":1256},[],[1258],{"type":57,"value":331},{"type":57,"value":1260}," type",{"type":51,"tag":75,"props":1262,"children":1263},{},[1264,1269],{"type":51,"tag":98,"props":1265,"children":1266},{},[1267],{"type":57,"value":1268},"Never hardcode credentials",{"type":57,"value":1270}," — use environment variables or managed identity",{"type":51,"tag":75,"props":1272,"children":1273},{},[1274,1284],{"type":51,"tag":98,"props":1275,"children":1276},{},[1277,1279],{"type":57,"value":1278},"Reuse ",{"type":51,"tag":106,"props":1280,"children":1282},{"className":1281},[],[1283],{"type":57,"value":550},{"type":57,"value":1285}," — clients are thread-safe; create once, share across tasks",{"type":51,"tag":75,"props":1287,"children":1288},{},[1289,1299],{"type":51,"tag":98,"props":1290,"children":1291},{},[1292,1293],{"type":57,"value":1155},{"type":51,"tag":106,"props":1294,"children":1296},{"className":1295},[],[1297],{"type":57,"value":1298},"RoutingStrategy::ProximityTo",{"type":57,"value":1300}," — route to the nearest region for lowest latency",{"type":51,"tag":75,"props":1302,"children":1303},{},[1304,1309],{"type":51,"tag":98,"props":1305,"children":1306},{},[1307],{"type":57,"value":1308},"Always specify partition key",{"type":57,"value":1310}," for item operations — Cosmos DB requires it for all CRUD",{"type":51,"tag":75,"props":1312,"children":1313},{},[1314,1325],{"type":51,"tag":98,"props":1315,"children":1316},{},[1317,1319],{"type":57,"value":1318},"Run ",{"type":51,"tag":106,"props":1320,"children":1322},{"className":1321},[],[1323],{"type":57,"value":1324},"cargo clippy -- -D warnings",{"type":57,"value":1326}," when the prompt, eval, or CI expects lint-clean output",{"type":51,"tag":75,"props":1328,"children":1329},{},[1330,1343,1345,1351,1353,1359,1361,1367],{"type":51,"tag":98,"props":1331,"children":1332},{},[1333,1335,1341],{"type":57,"value":1334},"Future-proof ",{"type":51,"tag":106,"props":1336,"children":1338},{"className":1337},[],[1339],{"type":57,"value":1340},"#[non_exhaustive]",{"type":57,"value":1342}," SDK models",{"type":57,"value":1344}," — when constructing SDK model\u002Foptions structs, end the initializer with ",{"type":51,"tag":106,"props":1346,"children":1348},{"className":1347},[],[1349],{"type":57,"value":1350},"..Default::default()",{"type":57,"value":1352}," (add ",{"type":51,"tag":106,"props":1354,"children":1356},{"className":1355},[],[1357],{"type":57,"value":1358},"#[allow(clippy::needless_update)]",{"type":57,"value":1360},") and use a ",{"type":51,"tag":106,"props":1362,"children":1364},{"className":1363},[],[1365],{"type":57,"value":1366},"_",{"type":57,"value":1368}," wildcard arm when matching SDK enums, so new service-added fields\u002Fvariants don't break your build",{"type":51,"tag":141,"props":1370,"children":1372},{"id":1371},"reference-links",[1373],{"type":57,"value":1374},"Reference Links",{"type":51,"tag":507,"props":1376,"children":1377},{},[1378,1394],{"type":51,"tag":511,"props":1379,"children":1380},{},[1381],{"type":51,"tag":515,"props":1382,"children":1383},{},[1384,1389],{"type":51,"tag":519,"props":1385,"children":1386},{},[1387],{"type":57,"value":1388},"Resource",{"type":51,"tag":519,"props":1390,"children":1391},{},[1392],{"type":57,"value":1393},"Link",{"type":51,"tag":535,"props":1395,"children":1396},{},[1397,1414,1431],{"type":51,"tag":515,"props":1398,"children":1399},{},[1400,1405],{"type":51,"tag":542,"props":1401,"children":1402},{},[1403],{"type":57,"value":1404},"API Reference",{"type":51,"tag":542,"props":1406,"children":1407},{},[1408],{"type":51,"tag":114,"props":1409,"children":1412},{"href":1410,"rel":1411},"https:\u002F\u002Fdocs.rs\u002Fazure_data_cosmos\u002Flatest\u002Fazure_data_cosmos",[118],[1413],{"type":57,"value":1410},{"type":51,"tag":515,"props":1415,"children":1416},{},[1417,1422],{"type":51,"tag":542,"props":1418,"children":1419},{},[1420],{"type":57,"value":1421},"crates.io",{"type":51,"tag":542,"props":1423,"children":1424},{},[1425],{"type":51,"tag":114,"props":1426,"children":1429},{"href":1427,"rel":1428},"https:\u002F\u002Fcrates.io\u002Fcrates\u002Fazure_data_cosmos",[118],[1430],{"type":57,"value":1427},{"type":51,"tag":515,"props":1432,"children":1433},{},[1434,1439],{"type":51,"tag":542,"props":1435,"children":1436},{},[1437],{"type":57,"value":1438},"Source Code",{"type":51,"tag":542,"props":1440,"children":1441},{},[1442],{"type":51,"tag":114,"props":1443,"children":1446},{"href":1444,"rel":1445},"https:\u002F\u002Fgithub.com\u002FAzure\u002Fazure-sdk-for-rust\u002Ftree\u002Fmain\u002Fsdk\u002Fcosmos\u002Fazure_data_cosmos",[118],[1447],{"type":57,"value":1444},{"type":51,"tag":1449,"props":1450,"children":1451},"style",{},[1452],{"type":57,"value":1453},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":1455,"total":1634},[1456,1478,1495,1516,1531,1548,1559,1572,1587,1602,1609,1622],{"slug":1457,"name":1457,"fn":1458,"description":1459,"org":1460,"tags":1461,"stars":1475,"repoUrl":1476,"updatedAt":1477},"rushstack-best-practices","manage Rush monorepos with best practices","Provides best practices and guidance for working with Rush monorepos. Use when the user is working in a Rush-based repository, asks about Rush commands (install, update, build, rebuild), needs help with project selection, dependency management, build caching, subspace configuration, or troubleshooting Rush-specific issues.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1462,1465,1468,1469,1472],{"name":1463,"slug":1464,"type":15},"Engineering","engineering",{"name":1466,"slug":1467,"type":15},"Local Development","local-development",{"name":9,"slug":8,"type":15},{"name":1470,"slug":1471,"type":15},"Project Management","project-management",{"name":1473,"slug":1474,"type":15},"Rush","rush",6484,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Frushstack","2026-04-06T18:34:44.965032",{"slug":1479,"name":1479,"fn":1480,"description":1481,"org":1482,"tags":1483,"stars":25,"repoUrl":26,"updatedAt":1494},"azure-ai-agents-persistent-dotnet","build AI agents with Azure .NET SDK","Azure AI Agents Persistent SDK for .NET. Low-level SDK for creating and managing AI agents with threads, messages, runs, and tools. Use for agent CRUD, conversation threads, streaming responses, function calling, file search, and code interpreter. Triggers: \"PersistentAgentsClient\", \"persistent agents\", \"agent threads\", \"agent runs\", \"streaming agents\", \"function calling agents .NET\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1484,1487,1489,1491],{"name":1485,"slug":1486,"type":15},".NET","net",{"name":1488,"slug":32,"type":15},"Agents",{"name":1490,"slug":33,"type":15},"Azure",{"name":1492,"slug":1493,"type":15},"LLM","llm","2026-07-03T16:32:10.297433",{"slug":1496,"name":1496,"fn":1497,"description":1498,"org":1499,"tags":1500,"stars":25,"repoUrl":26,"updatedAt":1515},"azure-ai-anomalydetector-java","build anomaly detection applications with Java","Build anomaly detection applications with Azure AI Anomaly Detector SDK for Java. Use when implementing univariate\u002Fmultivariate anomaly detection, time-series analysis, or AI-powered monitoring.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1501,1504,1505,1508,1511,1512],{"name":1502,"slug":1503,"type":15},"Analytics","analytics",{"name":1490,"slug":33,"type":15},{"name":1506,"slug":1507,"type":15},"Data Analysis","data-analysis",{"name":1509,"slug":1510,"type":15},"Java","java",{"name":9,"slug":8,"type":15},{"name":1513,"slug":1514,"type":15},"Monitoring","monitoring","2026-05-13T06:14:16.261754",{"slug":1517,"name":1517,"fn":1518,"description":1519,"org":1520,"tags":1521,"stars":25,"repoUrl":26,"updatedAt":1530},"azure-ai-contentsafety-java","build content moderation applications with Azure AI","Build content moderation applications with Azure AI Content Safety SDK for Java. Use when implementing text\u002Fimage analysis, blocklist management, or harm detection for hate, violence, sexual content, and self-harm.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1522,1525,1526,1527],{"name":1523,"slug":1524,"type":15},"AI Infrastructure","ai-infrastructure",{"name":1490,"slug":33,"type":15},{"name":1509,"slug":1510,"type":15},{"name":1528,"slug":1529,"type":15},"Security","security","2026-07-07T06:53:31.293235",{"slug":1532,"name":1532,"fn":1533,"description":1534,"org":1535,"tags":1536,"stars":25,"repoUrl":26,"updatedAt":1547},"azure-ai-contentsafety-py","detect harmful content with Azure AI Content Safety","Azure AI Content Safety SDK for Python. Use for detecting harmful content in text and images with multi-severity classification.\nTriggers: \"azure-ai-contentsafety\", \"ContentSafetyClient\", \"content moderation\", \"harmful content\", \"text analysis\", \"image analysis\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1537,1538,1541,1542,1543,1546],{"name":1490,"slug":33,"type":15},{"name":1539,"slug":1540,"type":15},"Compliance","compliance",{"name":1492,"slug":1493,"type":15},{"name":9,"slug":8,"type":15},{"name":1544,"slug":1545,"type":15},"Python","python",{"name":1528,"slug":1529,"type":15},"2026-07-18T05:14:23.017504",{"slug":1549,"name":1549,"fn":1550,"description":1551,"org":1552,"tags":1553,"stars":25,"repoUrl":26,"updatedAt":1558},"azure-ai-language-conversations-py","implement conversational language understanding with Python","Implement Conversational Language Understanding (CLU) using the azure-ai-language-conversations Python SDK. Use when working with ConversationAnalysisClient to analyze conversation intent and entities, building NLP features, or integrating language understanding into applications.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1554,1555,1556,1557],{"name":1502,"slug":1503,"type":15},{"name":1490,"slug":33,"type":15},{"name":1492,"slug":1493,"type":15},{"name":1544,"slug":1545,"type":15},"2026-07-31T05:54:29.068751",{"slug":1560,"name":1560,"fn":1561,"description":1562,"org":1563,"tags":1564,"stars":25,"repoUrl":26,"updatedAt":1571},"azure-ai-translation-text-py","translate text using Azure AI services","Azure AI Text Translation SDK for real-time text translation, transliteration, language detection, and dictionary lookup. Use for translating text content in applications.\nTriggers: \"text translation\", \"translator\", \"translate text\", \"transliterate\", \"TextTranslationClient\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1565,1568,1569,1570],{"name":1566,"slug":1567,"type":15},"API Development","api-development",{"name":1490,"slug":33,"type":15},{"name":9,"slug":8,"type":15},{"name":1544,"slug":1545,"type":15},"2026-07-18T05:14:16.988376",{"slug":1573,"name":1573,"fn":1574,"description":1575,"org":1576,"tags":1577,"stars":25,"repoUrl":26,"updatedAt":1586},"azure-ai-vision-imageanalysis-py","analyze images with Azure AI Vision","Azure AI Vision Image Analysis SDK for captions, tags, objects, OCR, people detection, and smart cropping. Use for computer vision and image understanding tasks.\nTriggers: \"image analysis\", \"computer vision\", \"OCR\", \"object detection\", \"ImageAnalysisClient\", \"image caption\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1578,1579,1582,1585],{"name":1490,"slug":33,"type":15},{"name":1580,"slug":1581,"type":15},"Computer Vision","computer-vision",{"name":1583,"slug":1584,"type":15},"Images","images",{"name":1544,"slug":1545,"type":15},"2026-07-18T05:14:18.007737",{"slug":1588,"name":1588,"fn":1589,"description":1590,"org":1591,"tags":1592,"stars":25,"repoUrl":26,"updatedAt":1601},"azure-appconfiguration-java","manage configuration with Azure App Configuration","Azure App Configuration SDK for Java. Centralized application configuration management with key-value settings, feature flags, and snapshots.\nTriggers: \"ConfigurationClient java\", \"app configuration java\", \"feature flag java\", \"configuration setting java\", \"azure config java\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1593,1594,1597,1600],{"name":1490,"slug":33,"type":15},{"name":1595,"slug":1596,"type":15},"Configuration","configuration",{"name":1598,"slug":1599,"type":15},"Feature Flags","feature-flags",{"name":1509,"slug":1510,"type":15},"2026-07-03T16:32:01.278468",{"slug":4,"name":4,"fn":5,"description":6,"org":1603,"tags":1604,"stars":25,"repoUrl":26,"updatedAt":27},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1605,1606,1607,1608],{"name":13,"slug":14,"type":15},{"name":20,"slug":21,"type":15},{"name":17,"slug":18,"type":15},{"name":23,"slug":24,"type":15},{"slug":1610,"name":1610,"fn":5,"description":1611,"org":1612,"tags":1613,"stars":25,"repoUrl":26,"updatedAt":1621},"azure-cosmos-ts","Azure Cosmos DB JavaScript\u002FTypeScript SDK (@azure\u002Fcosmos) for data plane operations. Use for CRUD operations on documents, queries, bulk operations, and container management. Triggers: \"Cosmos DB\", \"@azure\u002Fcosmos\", \"CosmosClient\", \"document CRUD\", \"NoSQL queries\", \"bulk operations\", \"partition key\", \"container.items\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1614,1615,1616,1617,1618],{"name":13,"slug":14,"type":15},{"name":20,"slug":21,"type":15},{"name":9,"slug":8,"type":15},{"name":17,"slug":18,"type":15},{"name":1619,"slug":1620,"type":15},"TypeScript","typescript","2026-07-03T16:31:19.368382",{"slug":1623,"name":1623,"fn":1624,"description":1625,"org":1626,"tags":1627,"stars":25,"repoUrl":26,"updatedAt":1633},"azure-data-tables-java","build table storage applications with Java","Build table storage applications with Azure Tables SDK for Java. Use when working with Azure Table Storage or Cosmos DB Table API for NoSQL key-value data, schemaless storage, or structured data at scale.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1628,1629,1630,1631,1632],{"name":1490,"slug":33,"type":15},{"name":13,"slug":14,"type":15},{"name":20,"slug":21,"type":15},{"name":1509,"slug":1510,"type":15},{"name":17,"slug":18,"type":15},"2026-05-13T06:14:17.582229",267,{"items":1636,"total":1690},[1637,1644,1653,1660,1669,1676,1683],{"slug":1479,"name":1479,"fn":1480,"description":1481,"org":1638,"tags":1639,"stars":25,"repoUrl":26,"updatedAt":1494},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1640,1641,1642,1643],{"name":1485,"slug":1486,"type":15},{"name":1488,"slug":32,"type":15},{"name":1490,"slug":33,"type":15},{"name":1492,"slug":1493,"type":15},{"slug":1496,"name":1496,"fn":1497,"description":1498,"org":1645,"tags":1646,"stars":25,"repoUrl":26,"updatedAt":1515},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1647,1648,1649,1650,1651,1652],{"name":1502,"slug":1503,"type":15},{"name":1490,"slug":33,"type":15},{"name":1506,"slug":1507,"type":15},{"name":1509,"slug":1510,"type":15},{"name":9,"slug":8,"type":15},{"name":1513,"slug":1514,"type":15},{"slug":1517,"name":1517,"fn":1518,"description":1519,"org":1654,"tags":1655,"stars":25,"repoUrl":26,"updatedAt":1530},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1656,1657,1658,1659],{"name":1523,"slug":1524,"type":15},{"name":1490,"slug":33,"type":15},{"name":1509,"slug":1510,"type":15},{"name":1528,"slug":1529,"type":15},{"slug":1532,"name":1532,"fn":1533,"description":1534,"org":1661,"tags":1662,"stars":25,"repoUrl":26,"updatedAt":1547},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1663,1664,1665,1666,1667,1668],{"name":1490,"slug":33,"type":15},{"name":1539,"slug":1540,"type":15},{"name":1492,"slug":1493,"type":15},{"name":9,"slug":8,"type":15},{"name":1544,"slug":1545,"type":15},{"name":1528,"slug":1529,"type":15},{"slug":1549,"name":1549,"fn":1550,"description":1551,"org":1670,"tags":1671,"stars":25,"repoUrl":26,"updatedAt":1558},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1672,1673,1674,1675],{"name":1502,"slug":1503,"type":15},{"name":1490,"slug":33,"type":15},{"name":1492,"slug":1493,"type":15},{"name":1544,"slug":1545,"type":15},{"slug":1560,"name":1560,"fn":1561,"description":1562,"org":1677,"tags":1678,"stars":25,"repoUrl":26,"updatedAt":1571},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1679,1680,1681,1682],{"name":1566,"slug":1567,"type":15},{"name":1490,"slug":33,"type":15},{"name":9,"slug":8,"type":15},{"name":1544,"slug":1545,"type":15},{"slug":1573,"name":1573,"fn":1574,"description":1575,"org":1684,"tags":1685,"stars":25,"repoUrl":26,"updatedAt":1586},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1686,1687,1688,1689],{"name":1490,"slug":33,"type":15},{"name":1580,"slug":1581,"type":15},{"name":1583,"slug":1584,"type":15},{"name":1544,"slug":1545,"type":15},38]