Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In dieser Schnellstartanleitung stellen Sie eine einfache Azure Cosmos DB für NoSQL-Anwendung mithilfe des Azure SDK für Rust bereit. Azure Cosmos DB für NoSQL ist ein schemaloser Datenspeicher, mit dem Anwendungen unstrukturierte Daten in der Cloud speichern können. Abfragen von Daten in Ihren Containern und Ausführen allgemeiner Vorgänge für einzelne Elemente mithilfe des Azure SDK für Rust.
Von Bedeutung
Das Rust SDK für Azure Cosmos DB befindet sich derzeit in der Public Preview. Diese Vorschauversion wird ohne Vereinbarung zum Servicelevel bereitgestellt und sollte nicht für Produktionsworkloads verwendet werden. Bestimmte Funktionen werden nicht unterstützt oder haben nur eingeschränkte Fähigkeiten.
Weitere Informationen finden Sie unter Zusätzliche Nutzungsbestimmungen für Microsoft Azure-Vorschauen.
API-Referenzdokumentation | Quellcode der Bibliothek | Crate (Rust) | Azure Developer CLI
Voraussetzungen
- Docker Desktop
- Rust 1.80 oder höher
Wenn Sie nicht über ein Azure-Konto verfügen, erstellen Sie ein kostenloses Konto , bevor Sie beginnen.
Installieren der Clientbibliothek
Die Clientbibliothek ist über Rust als Crate azure_data_cosmos verfügbar.
Installieren Sie das CR8-Paket
azure_data_cosmosmithilfe voncargo install, falls es noch nicht installiert ist.cargo add azure_data_cosmosInstallieren Sie außerdem das CR8-Paket
azure_identity(sofern noch nicht installiert).cargo add azure_identity
Importieren von Bibliotheken
Importieren Sie die DefaultAzureCredential, CosmosClient, PartitionKeyund Query Typen in Ihren Anwendungscode.
use azure_data_cosmos::{CosmosClient, PartitionKey, Query};
use azure_identity::DefaultAzureCredential;
Objektmodell
| Name | Description |
|---|---|
CosmosClient |
Dieser Typ ist der primäre Client und wird verwendet, um kontoweite Metadaten oder Datenbanken zu verwalten. |
DatabaseClient |
Dieser Typ stellt eine Datenbank innerhalb des Kontos dar. |
ContainerClient |
Dieser Typ wird in erster Linie verwendet, um Lese-, Update- und Löschvorgänge für den Container oder die im Container gespeicherten Elemente auszuführen. |
Code-Beispiele
- Authentifizieren des Clients
- Datenbank abrufen
- Container abrufen
- Erstellen eines Elements
- Einen Artikel abrufen
- Abfrageelemente
Der Beispielcode in der Vorlage verwendet eine Datenbank mit dem Namen cosmicworks und einen Container mit dem Namen products. Der products-Container enthält Details wie Name, Kategorie, Menge, eindeutiger Bezeichner und ein Verkaufsflag für jedes Produkt. Der Container verwendet die /category-Eigenschaft als logischen Partitionsschlüssel.
Authentifizieren des Clients
In diesem Beispiel wird eine neue Instanz von CosmosClient mithilfe von CosmosClient::new erstellt und mithilfe einer DefaultAzureCredential-Instanz authentifiziert.
let credential = DefaultAzureCredential::new()?;
let client = CosmosClient::new(&endpoint, credential, None)?;
Datenbank abrufen
Verwenden Sie client.database, um die vorhandene Datenbank mit dem Namen cosmicworks abzurufen.
let database = client.database_client("cosmicworks");
Container abrufen
Rufen Sie den vorhandenen products-Container mithilfe von database.container ab.
let container = database.container_client("products");
Erstellen eines Elements
Erstellen Sie einen neuen Typ mit allen Membern, die Sie in JSON serialisieren möchten. In diesem Beispiel weist der Typ einen eindeutigen Bezeichner und Felder für Kategorie, Name, Menge, Preis und Verkauf auf. Leiten Sie die serde::Serialize-Eigenschaft für diesen Typ ab, damit sie in JSON serialisiert werden kann.
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,
}
Erstellen Sie mithilfe von container.upsert_item ein Element im Container. Mit dieser Methode wird ein Upsertvorgang für das Element ausgeführt, wodurch es effektiv ersetzt wird (sofern schon vorhanden).
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?;
Lesen eines Elements
Führen Sie einen Punktlesevorgang aus, indem Sie sowohl die eindeutigen Bezeichner (id) als auch die Partitionsschlüsselfelder verwenden. Verwenden Sie container.ReadItem, um das jeweilige Element effizient abzurufen.
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?;
Abfrageelemente
Führen Sie mithilfe von container.NewQueryItemsPager eine Abfrage für mehrere Elemente in einem Container durch. Suchen Sie alle Elemente in einer angegebenen Kategorie mithilfe dieser parametrisierten Abfrage:
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
}
}
Erkunden Sie Ihre Daten
Verwenden Sie die Visual Studio Code-Erweiterung für Azure Cosmos DB, um Ihre NoSQL-Daten zu untersuchen. Sie können Kerndatenbankvorgänge ausführen, einschließlich, aber nicht beschränkt auf:
- Abfragen mit einem Notizbuch oder dem Abfrage-Editor ausführen
- Ändern, Aktualisieren, Erstellen und Löschen von Elementen
- Importieren von Massendaten aus anderen Quellen
- Verwalten von Datenbanken und Containern
Weitere Informationen finden Sie unter So verwenden Sie die Visual Studio Code-Erweiterung, um Azure Cosmos DB für NoSQL-Daten zu untersuchen.
Verwandte Inhalte
- Schnellstartanleitung für .NET
- Schnellstart für Node.js
- Schnellstartanleitung für Java
- Schnellstartanleitung für Python
- Schnellstartanleitung für Go