Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Dans ce guide de démarrage rapide, vous déployez une application Azure Cosmos DB pour NoSQL de base à l’aide du Kit de développement logiciel (SDK) Azure pour Rust. Azure Cosmos DB pour NoSQL est un magasin de données sans schéma qui permet aux applications de stocker des données non structurées dans le cloud. Interrogez des données dans vos conteneurs et effectuez des opérations courantes sur des éléments individuels à l’aide du Kit de développement logiciel (SDK) Azure pour Rust.
Important
Le kit de développement logiciel (SDK) Rust pour Azure Cosmos DB est actuellement disponible en préversion publique. Cette préversion est fournie sans contrat de niveau de service, nous la déconseillons dans des charges de travail de production. Certaines fonctionnalités ne sont pas prises en charge ou ont une prise en charge limitée avec des fonctionnalités limitées.
Pour plus d’informations, consultez Conditions d’Utilisation Supplémentaires relatives aux Évaluations Microsoft Azure.
Documentation d’informations de référence sur l’API | Code source de la bibliothèque | Crate (Rust) | Azure Developer CLI
Prérequis
- Docker Desktop
- Rust 1.80 ou version ultérieure
Si vous ne disposez pas d’un compte Azure, créez-en un gratuitement avant de commencer.
Installer la bibliothèque de client
La bibliothèque cliente est disponible via Rust, comme le crate azure_data_cosmos.
S’il n’est pas déjà installé, installez le crate
azure_data_cosmosen utilisantcargo install.cargo add azure_data_cosmosDe plus, installez le crate
azure_identitys’il n’est pas déjà installé.cargo add azure_identity
Importer des bibliothèques
Importez les types DefaultAzureCredential, CosmosClient, PartitionKey et Query dans le code de votre application.
use azure_data_cosmos::{CosmosClient, PartitionKey, Query};
use azure_identity::DefaultAzureCredential;
Modèle objet
| Nom | Description |
|---|---|
CosmosClient |
Ce type est le client principal utilisé pour gérer les métadonnées ou les bases de données à l’échelle du compte. |
DatabaseClient |
Ce type représente une base de données dans le compte. |
ContainerClient |
Ce type est principalement utilisé pour effectuer des opérations de lecture, de mise à jour et de suppression sur le conteneur ou les éléments stockés dans le conteneur. |
Exemples de code
- Authentifier le client
- Obtenir une base de données
- Obtenir un conteneur
- Créer un élément
- Obtenir un élément
- Éléments de requête
L’exemple de code du modèle utilise une base de données nommée cosmicworks et un conteneur nommé products. Le conteneur products contient des détails tels que le nom, la catégorie, la quantité, un identificateur unique et un indicateur de vente pour chaque produit. Le conteneur utilise la propriété /category en tant que clé de partition logique.
Authentifier le client
Cet exemple crée une instance de CosmosClient à l’aide de CosmosClient::new et s’authentifie à l’aide d’une instance de DefaultAzureCredential.
let credential = DefaultAzureCredential::new()?;
let client = CosmosClient::new(&endpoint, credential, None)?;
Obtenir une base de données
Utilisez client.database pour récupérer la base de données existante nommée cosmicworks.
let database = client.database_client("cosmicworks");
Obtenir un conteneur
Récupérez le conteneur products existant à l’aide de database.container.
let container = database.container_client("products");
Créer un élément
Générez un nouveau type avec tous les membres que vous souhaitez sérialiser dans JSON. Dans cet exemple, le type a un identificateur unique et des champs pour la catégorie, le nom, la quantité, le prix et la vente. Dérivez la caractéristique serde::Serialize sur ce type, pour qu’elle puisse être sérialisée vers 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,
}
Créez un élément dans le conteneur à l’aide de container.upsert_item. Cette méthode fait un « upsert » de l’élément en le remplaçant de manière effective s’il existe déjà.
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?;
Lire un élément
Effectuez une opération de lecture de point à l’aide des champs d’identificateur unique (id) et de clé de partition. Utilisez container.ReadItem pour récupérer efficacement l’élément spécifique.
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?;
Éléments de requête
Effectuez une requête sur plusieurs éléments d’un conteneur à l’aide de container.NewQueryItemsPager. Recherchez tous les éléments d’une catégorie spécifique à l’aide de cette requête paramétrable :
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
}
}
Exploration de vos données
Utilisez l’extension Visual Studio Code pour Azure Cosmos DB pour explorer vos données NoSQL. Vous pouvez effectuer des opérations de base de données de base, y compris, mais sans s'y limiter :
- Exécution de requêtes à l'aide d'un album ou de l'éditeur de requêtes
- Modification, mise à jour, création et suppression d'éléments
- Importation de données en masse à partir d'autres sources
- Gestion des bases de données et des conteneurs
Pour plus d'informations, consultez Comment utiliser l'extension Visual Studio Code pour explorer Azure Cosmos DB pour les données NoSQL.
Contenu connexe
- Démarrage rapide de .NET
- Démarrage rapide avec Node.js
- Démarrage rapide Java
- Démarrage rapide Python
- Démarrage rapide Go