azure-cosmos-rust

安装量: 39
排名: #18193

安装

npx skills add https://github.com/sickn33/antigravity-awesome-skills --skill azure-cosmos-rust

Azure Cosmos DB SDK for Rust Client library for Azure Cosmos DB NoSQL API — globally distributed, multi-model database. Installation cargo add azure_data_cosmos azure_identity Environment Variables COSMOS_ENDPOINT = https:// < account

.documents.azure.com:443/ COSMOS_DATABASE = mydb COSMOS_CONTAINER = mycontainer Authentication use azure_identity :: DeveloperToolsCredential ; use azure_data_cosmos :: CosmosClient ; let credential = DeveloperToolsCredential :: new ( None ) ? ; let client = CosmosClient :: new ( "https://.documents.azure.com:443/" , credential . clone ( ) , None , ) ? ; Client Hierarchy Client Purpose Get From CosmosClient Account-level operations Direct instantiation DatabaseClient Database operations client.database_client() ContainerClient Container/item operations database.container_client() Core Workflow Get Database and Container Clients let database = client . database_client ( "myDatabase" ) ; let container = database . container_client ( "myContainer" ) ; Create Item 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 ? ; Read Item let response = container . read_item ( "partition1" , "1" , None ) . await ? ; let item : Item = response . into_model ( ) ? ; Replace Item 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 ? ; Patch Item 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 ? ; Delete Item container . delete_item ( "partition1" , "1" , None ) . await ? ; Key Auth (Optional) Enable key-based authentication with feature flag: cargo add azure_data_cosmos --features key_auth Best Practices Always specify partition key — required for point reads and writes Use into_model()? — to deserialize responses into your types Derive Serialize and Deserialize — for all document types Use Entra ID auth — prefer DeveloperToolsCredential over key auth Reuse client instances — clients are thread-safe and reusable Reference Links 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 When to Use This skill is applicable to execute the workflow or actions described in the overview.

返回排行榜