Azure Cosmos DB SDK for Rust (NoSQL API). Use for document CRUD, queries, containers, and globally distributed data.
64
77%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./plugins/AI-Agents-Safe-Coding-Skills-claude/skills/azure-cosmos-rust/SKILL.mdThe canonical home for this skill is azure-cosmos-rust in administrakt0r/AI-Agents-Safe-Coding-Skills
Client library for Azure Cosmos DB NoSQL API — globally distributed, multi-model database.
cargo add azure_data_cosmos azure_identityCOSMOS_ENDPOINT=https://<account>.documents.azure.com:443/
COSMOS_DATABASE=mydb
COSMOS_CONTAINER=mycontaineruse azure_identity::DeveloperToolsCredential;
use azure_data_cosmos::CosmosClient;
let credential = DeveloperToolsCredential::new(None)?;
let client = CosmosClient::new(
"https://<account>.documents.azure.com:443/",
credential.clone(),
None,
)?;| Client | Purpose | Get From |
|---|---|---|
CosmosClient | Account-level operations | Direct instantiation |
DatabaseClient | Database operations | client.database_client() |
ContainerClient | Container/item operations | database.container_client() |
let database = client.database_client("myDatabase");
let container = database.container_client("myContainer");use serde::{Serialize, Deserialize};
#[derive(Serialize, Deserialize)]
struct Item {
pub id: String,
pub partition_key: String,
pub value: String,
}
let item = Item {
id: "1".into(),
partition_key: "partition1".into(),
value: "hello".into(),
};
container.create_item("partition1", item, None).await?;let response = container.read_item("partition1", "1", None).await?;
let item: Item = response.into_model()?;let mut item: Item = container.read_item("partition1", "1", None).await?.into_model()?;
item.value = "updated".into();
container.replace_item("partition1", "1", item, None).await?;use azure_data_cosmos::models::PatchDocument;
let patch = PatchDocument::default()
.with_add("/newField", "newValue")?
.with_remove("/oldField")?;
container.patch_item("partition1", "1", patch, None).await?;container.delete_item("partition1", "1", None).await?;Enable key-based authentication with feature flag:
cargo add azure_data_cosmos --features key_authinto_model()? — to deserialize responses into your typesSerialize and Deserialize — for all document typesDeveloperToolsCredential over key auth| Resource | Link |
|---|---|
| API Reference | https://docs.rs/azure_data_cosmos |
| Source Code | https://github.com/Azure/azure-sdk-for-rust/tree/main/sdk/cosmos/azure_data_cosmos |
| crates.io | https://crates.io/crates/azure_data_cosmos |
This skill is applicable to execute the workflow or actions described in the overview.
debb2ec
Canonical home
since Aug 19, 2026
Also appears in
since Aug 19, 2026
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.