Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In deze quickstart implementeert u een eenvoudige Azure Cosmos DB for NoSQL-toepassing met behulp van de Azure SDK voor Rust. Azure Cosmos DB for NoSQL is een schemaloos gegevensarchief waarmee toepassingen ongestructureerde gegevens in de cloud kunnen opslaan. Voer query's uit op gegevens in uw containers en voer algemene bewerkingen uit op afzonderlijke items 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. Bepaalde functies worden niet ondersteund of hebben beperkte ondersteuning met beperkte mogelijkheden.
Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews voor meer informatie.
API-referentiedocumentatie | Bibliotheek broncode | Crate (Rust) | Azure Developer CLI
Vereiste voorwaarden
- 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 crate.
Als dit nog niet is geïnstalleerd, installeer dan de
azure_data_cosmoscreatie met behulp vancargo install.cargo add azure_data_cosmosInstalleer ook de
azure_identitykrat als deze nog niet is geïnstalleerd.cargo add azure_identity
Bibliotheken importeren
Importeer de typen DefaultAzureCredential, CosmosClient, PartitionKey en Query in uw toepassingscode.
use azure_data_cosmos::{CosmosClient, PartitionKey, Query};
use azure_identity::DefaultAzureCredential;
Objectmodel
| Naam | 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. |
ContainerClient |
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
- Items opvragen
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 van CosmosClient gemaakt met behulp van CosmosClient::new en geverifieerd met 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 cosmicworksop 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 "geüpsert," wat betekent dat het wordt toegevoegd of bijgewerkt 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?;
Zoekitems
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