[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-9ef17f1b-f31e-4edd-a7fb-abab8fbcb2d4":3,"$fyXLOJ2gI7ibIaOnxp3bvqXTtL3QQuG7WkZ9jqAsCl1U":42},{"id":4,"title":5,"description":6,"categoryId":7,"moduleId":8,"tags":9,"prompt":10,"icon":11,"source":12,"sourceUrl":13,"authorId":14,"authorName":15,"isPublic":16,"stars":17,"runs":18,"createdAt":19,"updatedAt":19,"module":20,"category":27,"packages":33},"9ef17f1b-f31e-4edd-a7fb-abab8fbcb2d4","azure-cosmos-rust","Azure Cosmos DB Rust SDK（NoSQL API）。用于文档CRUD、查询、容器和全球分布式数据。","cat_coding_backend","mod_coding","sickn33,coding","---\nname: azure-cosmos-rust\ndescription: Azure Cosmos DB SDK for Rust (NoSQL API). Use for document CRUD, queries, containers, and globally distributed data.\nrisk: unknown\nsource: community\ndate_added: '2026-02-27'\n---\n\n# Azure Cosmos DB SDK for Rust\n\nClient library for Azure Cosmos DB NoSQL API — globally distributed, multi-model database.\n\n## Installation\n\n```sh\ncargo add azure_data_cosmos azure_identity\n```\n\n## Environment Variables\n\n```bash\nCOSMOS_ENDPOINT=https:\u002F\u002F\u003Caccount>.documents.azure.com:443\u002F\nCOSMOS_DATABASE=mydb\nCOSMOS_CONTAINER=mycontainer\n```\n\n## Authentication\n\n```rust\nuse azure_identity::DeveloperToolsCredential;\nuse azure_data_cosmos::CosmosClient;\n\nlet credential = DeveloperToolsCredential::new(None)?;\nlet client = CosmosClient::new(\n    \"https:\u002F\u002F\u003Caccount>.documents.azure.com:443\u002F\",\n    credential.clone(),\n    None,\n)?;\n```\n\n## Client Hierarchy\n\n| Client | Purpose | Get From |\n|--------|---------|----------|\n| `CosmosClient` | Account-level operations | Direct instantiation |\n| `DatabaseClient` | Database operations | `client.database_client()` |\n| `ContainerClient` | Container\u002Fitem operations | `database.container_client()` |\n\n## Core Workflow\n\n### Get Database and Container Clients\n\n```rust\nlet database = client.database_client(\"myDatabase\");\nlet container = database.container_client(\"myContainer\");\n```\n\n### Create Item\n\n```rust\nuse serde::{Serialize, Deserialize};\n\n#[derive(Serialize, Deserialize)]\nstruct Item {\n    pub id: String,\n    pub partition_key: String,\n    pub value: String,\n}\n\nlet item = Item {\n    id: \"1\".into(),\n    partition_key: \"partition1\".into(),\n    value: \"hello\".into(),\n};\n\ncontainer.create_item(\"partition1\", item, None).await?;\n```\n\n### Read Item\n\n```rust\nlet response = container.read_item(\"partition1\", \"1\", None).await?;\nlet item: Item = response.into_model()?;\n```\n\n### Replace Item\n\n```rust\nlet mut item: Item = container.read_item(\"partition1\", \"1\", None).await?.into_model()?;\nitem.value = \"updated\".into();\n\ncontainer.replace_item(\"partition1\", \"1\", item, None).await?;\n```\n\n### Patch Item\n\n```rust\nuse azure_data_cosmos::models::PatchDocument;\n\nlet patch = PatchDocument::default()\n    .with_add(\"\u002FnewField\", \"newValue\")?\n    .with_remove(\"\u002FoldField\")?;\n\ncontainer.patch_item(\"partition1\", \"1\", patch, None).await?;\n```\n\n### Delete Item\n\n```rust\ncontainer.delete_item(\"partition1\", \"1\", None).await?;\n```\n\n## Key Auth (Optional)\n\nEnable key-based authentication with feature flag:\n\n```sh\ncargo add azure_data_cosmos --features key_auth\n```\n\n## Best Practices\n\n1. **Always specify partition key** — required for point reads and writes\n2. **Use `into_model()?`** — to deserialize responses into your types\n3. **Derive `Serialize` and `Deserialize`** — for all document types\n4. **Use Entra ID auth** — prefer `DeveloperToolsCredential` over key auth\n5. **Reuse client instances** — clients are thread-safe and reusable\n\n## Reference Links\n\n| Resource | Link |\n|----------|------|\n| API Reference | https:\u002F\u002Fdocs.rs\u002Fazure_data_cosmos |\n| Source Code | https:\u002F\u002Fgithub.com\u002FAzure\u002Fazure-sdk-for-rust\u002Ftree\u002Fmain\u002Fsdk\u002Fcosmos\u002Fazure_data_cosmos |\n| crates.io | https:\u002F\u002Fcrates.io\u002Fcrates\u002Fazure_data_cosmos |\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.\n","","imported","https:\u002F\u002Fgithub.com\u002Fsickn33\u002Fantigravity-awesome-skills","user_system_seed","SkillOPIC",true,174,880,"2026-05-16 13:06:08",{"id":8,"name":21,"slug":22,"icon":23,"description":24,"sort":25,"createdAt":26},"编程开发","coding","mdi-code-braces","代码生成、调试、审查，提升开发效率",2,"2026-05-16 12:53:40",{"id":7,"name":28,"slug":29,"icon":30,"description":31,"moduleId":8,"sort":25,"skillCount":32,"createdAt":26},"后端开发","backend","mdi-server","API、数据库、服务端架构",296,[34],{"id":35,"skillId":4,"version":36,"fileName":37,"fileSize":38,"filePath":39,"fileHash":40,"manifest":41,"createdAt":19},"a10fa449-c9fc-45eb-8a8e-0b3c4501a417","1.0.0","azure-cosmos-rust.zip",1631,"uploads\u002Fskills\u002F9ef17f1b-f31e-4edd-a7fb-abab8fbcb2d4\u002Fazure-cosmos-rust.zip","fcfb49a736c296746d88e3051dd93d5600930cc1c2a3f6f760a96a298c3ad5e7","[{\"path\":\"SKILL.md\",\"isDirectory\":false,\"size\":3605}]",{"code":43,"message":44,"data":45},200,"success",{"items":46,"stats":47,"page":50},[],{"averageRating":48,"totalRatings":48,"ratingCounts":49},0,[48,48,48,48,48],{"limit":51,"offset":48,"hasMore":52,"nextOffset":51,"ratedOnly":16},15,false]