skills/azure-cosmos-rust/SKILL.md
Azure Cosmos DB SDK for Rust (NoSQL API). Use for document CRUD, queries, containers, and globally distributed data.
npx skillsauth add oaor75/skillsAntigravity azure-cosmos-rustInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Client library for Azure Cosmos DB NoSQL API — globally distributed, multi-model database.
cargo add azure_data_cosmos azure_identity
COSMOS_ENDPOINT=https://<account>.documents.azure.com:443/
COSMOS_DATABASE=mydb
COSMOS_CONTAINER=mycontainer
use 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_auth
into_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.
development
Azure Service Bus SDK for Python messaging. Use for queues, topics, subscriptions, and enterprise messaging patterns.
development
Azure Service Bus SDK for .NET. Enterprise messaging with queues, topics, subscriptions, and sessions.
development
Azure Key Vault Secrets Java SDK for secret management. Use when storing, retrieving, or managing passwords, API keys, connection strings, or other sensitive configuration data.
development
Azure Key Vault Keys Java SDK for cryptographic key management. Use when creating, managing, or using RSA/EC keys, performing encrypt/decrypt/sign/verify operations, or working with HSM-backed keys.