Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto rychlém startu nasadíte základní aplikaci Azure Cosmos DB for NoSQL pomocí sady Azure SDK pro Rust. Azure Cosmos DB for NoSQL je úložiště dat bez schématu, které umožňuje aplikacím ukládat nestrukturovaná data v cloudu. Dotazujte se na data v kontejnerech a proveďte běžné operace s jednotlivými položkami pomocí sady Azure SDK for Rust.
Důležité
Sada Rust SDK pro Azure Cosmos DB je aktuálně ve verzi Public Preview. Tato verze Preview je poskytována bez smlouvy o úrovni služeb a nedoporučujeme ji pro produkční úlohy. Některé funkce nejsou podporované nebo mají omezenou podporu s omezenými možnostmi.
Další informace najdete v dodatečných podmínkách použití pro verze Preview v Microsoft Azure.
Referenční dokumentace rozhraní API | Knihovna zdrojového kódu | Crate (Rust) | Azure Developer CLI
Požadavky
- Docker Desktop
- Rust 1.80 nebo novější
Pokud nemáte účet Azure, vytvořte si bezplatný účet před tím, než začnete.
Instalace klientské knihovny
Klientská knihovna je k dispozici v Rustu azure_data_cosmos jako crate.
Pokud ještě není nainstalován, nainstalujte
azure_data_cosmospomocícargo install.cargo add azure_data_cosmosTaké nainstalujte
azure_identitybalíček, pokud ještě není nainstalovaný.cargo add azure_identity
Import knihoven
Naimportujte typy DefaultAzureCredential, CosmosClient, PartitionKey a Query do kódu vaší aplikace.
use azure_data_cosmos::{CosmosClient, PartitionKey, Query};
use azure_identity::DefaultAzureCredential;
Objektový model
| Název | Popis |
|---|---|
CosmosClient |
Tento typ je primární klient a slouží ke správě metadat nebo databází pro celý účet. |
DatabaseClient |
Tento typ představuje databázi v rámci účtu. |
ContainerClient |
Tento typ se primárně používá k provádění operací čtení, aktualizace a odstranění v kontejneru nebo v položkách uložených v kontejneru. |
Příklady kódu
- Ověření klienta
- Získání databáze
- Získání kontejneru
- Vytvoření položky
- Získejte položku
- Položky dotazu
Vzorový kód v šabloně používá databázi pojmenovanou cosmicworks a kontejner s názvem products. Kontejner products obsahuje podrobnosti, jako je název, kategorie, množství, jedinečný identifikátor a příznak prodeje pro každý produkt. Kontejner používá /category jako logický klíč oddílu.
Ověření klienta
Tato ukázka vytvoří novou instanci CosmosClient pomocí CosmosClient::new a ověří ji pomocí instance DefaultAzureCredential.
let credential = DefaultAzureCredential::new()?;
let client = CosmosClient::new(&endpoint, credential, None)?;
Získání databáze
Slouží client.database k načtení existující databáze s názvem cosmicworks.
let database = client.database_client("cosmicworks");
Získání kontejneru
Načtení existujícího products kontejneru pomocí database.container.
let container = database.container_client("products");
Vytvoření položky
Sestavte nový typ se všemi členy, které chcete serializovat do FORMÁTU JSON. V tomto příkladu má typ jedinečný identifikátor a pole pro kategorii, název, množství, cenu a prodej.
serde::Serialize Odvozujte vlastnost pro tento typ, aby ji bylo možné serializovat do formátu 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,
}
Vytvoření položky v kontejneru pomocí container.upsert_item. Tato metoda vloží nebo aktualizuje položku tak, že položku účinně nahradí, pokud již existuje.
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?;
Přečtěte si položku
Proveďte bodovou operaci čtení s využitím jedinečného identifikátoru (id) i klíče oddílu. Použijte container.ReadItem k efektivnímu načtení konkrétní položky.
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?;
Dotazování položek
Proveďte dotaz na více položek v kontejneru pomocí container.NewQueryItemsPager. Pomocí tohoto parametrizovaného dotazu vyhledejte všechny položky v zadané kategorii:
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
}
}
Prozkoumání dat
K prozkoumání dat NoSQL použijte rozšíření Visual Studio Code pro Azure Cosmos DB. Můžete provádět základní databázové operace, mezi které patří mimo jiné:
- Provádění dotazů pomocí poznámkového bloku nebo editoru dotazů
- Úpravy, aktualizace, vytváření a odstraňování položek
- Import hromadných dat z jiných zdrojů
- Správa databází a kontejnerů
Další informace o použití rozšíření Visual Studio Code k prozkoumání Azure Cosmos DB pro data NoSQL najdete v tématu Jak prozkoumávat NoSQL data v Azure Cosmos DB pomocí rozšíření pro Visual Studio Code.
Související obsah
- Rychlý start k .NET
- Rychlý start pro Node.js
- Rychlý start pro Javu
- Rychlý start pro Python
- Rychlý start pro Go