Quickstart: Azure Cosmos DB for NoSQL gebruiken met Azure SDK for Rust
In deze quickstart implementeert u een eenvoudige Azure Cosmos DB for Table-toepassing met behulp van de Azure SDK voor Rust. Azure Cosmos DB for Table is een schemaloos gegevensarchief waarmee toepassingen gestructureerde tabelgegevens in de cloud kunnen opslaan. U leert hoe u tabellen, rijen maakt en basistaken uitvoert in uw Azure Cosmos DB-resource met behulp van de Azure SDK voor Rust.
Belangrijk
De Rust SDK voor Azure Cosmos DB is momenteel beschikbaar als openbare preview. Deze preview wordt aangeboden zonder een service level agreement en we raden deze niet aan voor productieworkloads. Misschien worden bepaalde functies niet ondersteund of zijn de mogelijkheden ervan beperkt.
Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews voor meer informatie.
API-referentiedocumentatiebibliotheek | broncode | Crate (Rust) | Azure Developer CLI
Vereisten
- Docker Desktop
- Rust 1.80 of hoger
Als u geen Azure-account hebt, maak dan een gratis account aan voordat u begint.
De clientbibliotheek installeren
De clientbibliotheek is beschikbaar via Rust, als azure_data_cosmos
krat.
Als dit nog niet is geïnstalleerd, installeert u het
azure_data_cosmos
maken met behulp vancargo install
.cargo install azure_data_cosmos
Installeer ook de
azure_identity
krat als deze nog niet is geïnstalleerd.cargo install azure_identity
Objectmodel
Name | Beschrijving |
---|---|
CosmosClient |
Dit type is de primaire client en wordt gebruikt voor het beheren van metagegevens of databases voor het hele account. |
DatabaseClient |
Dit type vertegenwoordigt een database binnen het account. |
CollectionClient |
Dit type wordt voornamelijk gebruikt om lees-, update- en verwijderbewerkingen uit te voeren op de container of de items die zijn opgeslagen in de container. |
Codevoorbeelden
- De client verifiëren
- Een database ophalen
- Een container ophalen
- Een item maken
- Een item ophalen
- Query's uitvoeren op items
De voorbeeldcode in de sjabloon maakt gebruik van een database met de naam cosmicworks
en container.products
De products
container bevat details zoals naam, categorie, hoeveelheid, een unieke id en een verkoopvlag voor elk product. De container gebruikt de /category
eigenschap als een logische partitiesleutel.
De client verifiëren
In dit voorbeeld wordt een nieuw exemplaar gemaakt van het gebruik CosmosClient::new
en de verificatie met behulp van CosmosClient
een DefaultAzureCredential
exemplaar.
let credential = DefaultAzureCredential::new()?;
let client = CosmosClient::new(&endpoint, credential, None)?;
Een database ophalen
Gebruik client.database
deze om de bestaande database met de naam cosmicworks
op te halen.
let database = client.database_client("cosmicworks");
Een container ophalen
Haal de bestaande products
container op met behulp van database.container
.
let container = database.container_client("products");
Een item maken
Bouw een nieuw type met alle leden die u in JSON wilt serialiseren. In dit voorbeeld heeft het type een unieke id en velden voor categorie, naam, hoeveelheid, prijs en verkoop.
serde::Serialize
De eigenschap van dit type afleiden, zodat deze kan worden geserialiseerd naar JSON.
use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize)]
pub struct Item {
pub id: String,
pub category: String,
pub name: String,
pub quantity: i32,
pub price: f64,
pub clearance: bool,
}
Maak een item in de container met behulp van container.upsert_item
. Met deze methode wordt het item effectief vervangen als het al bestaat.
let item = Item {
id: "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb".to_string(),
category: "gear-surf-surfboards".to_string(),
name: "Yamba Surfboard".to_string(),
quantity: 12,
price: 850.00,
clearance: false,
};
let partition_key = PartitionKey::from(item.category.clone());
let partition_key = PartitionKey::from(item.category.clone());
container.upsert_item(partition_key, item.clone(), None).await?;
Een item lezen
Voer een puntleesbewerking uit met behulp van zowel de unieke id (id
) als de partitiesleutelvelden. Gebruik container.ReadItem
dit om het specifieke item efficiënt op te halen.
let item_id = "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb";
let item_partition_key = "gear-surf-surfboards";
let response = container.read_item(item_partition_key, item_id, None).await?;
let item: Item = response.into_json_body().await?;
Query-items
Voer een query uit op meerdere items in een container met behulp van container.NewQueryItemsPager
. Zoek alle items in een opgegeven categorie met behulp van deze geparameteriseerde query:
SELECT * FROM products p WHERE p.category = @category
let item_partition_key = "gear-surf-surfboards";
let query = Query::from("SELECT * FROM c WHERE c.category = @category")
.with_parameter("@category", item_partition_key)?;
let mut pager = container.query_items::<Item>(query, item_partition_key, None)?;
while let Some(page_response) = pager.next().await {
let page = page_response?.into_body().await?;
for item in page.items {
// Do something
}
}
Uw gegevens verkennen
Gebruik de Visual Studio Code-extensie voor Azure Cosmos DB om uw NoSQL-gegevens te verkennen. U kunt kerndatabasebewerkingen uitvoeren, waaronder, maar niet beperkt tot:
- Query's uitvoeren met behulp van een scrapbook of de query-editor
- Items wijzigen, bijwerken, maken en verwijderen
- Bulkgegevens importeren uit andere bronnen
- Databases en containers beheren
Zie De Visual Studio Code-extensie gebruiken om Azure Cosmos DB for NoSQL-gegevens te verkennen voor meer informatie.
Gerelateerde inhoud
- Quickstart voor .NET
- Snelstartgids voor Node.js
- Java-quickstart
- Python-quickstart
- Snelstartgids voor Go