Azure Cosmos DB pour NoSQL : exemples Java SDK v4
S’APPLIQUE À : NoSQL
Important
Pour en savoir plus sur le kit SDK Java v4, consultez les Notes de publication du kit SDK Java v4 Azure Cosmos DB, le Référentiel Maven, les Conseils en matière de performances du kit SDK Java v4 Azure Cosmos DB et le Guide de résolution des problèmes du kit SDK Java v4 Azure Cosmos DB. Si vous utilisez actuellement une version antérieure à v4, consultez le guide Migrer vers le kit SDK Java v4 Azure Cosmos DB pour vous accompagner dans la mise à niveau vers v4.
Important
Si vous n’avez pas d’abonnement Azure, créez un compte gratuit Azure avant de commencer.
- Vous pouvez activer les avantages d’abonnement Visual Studio : Votre abonnement Visual Studio vous donne droit chaque mois à des crédits dont vous pouvez vous servir pour les services Azure payants.
Vous pouvez essayer Azure Cosmos DB gratuitement sans abonnement Azure, et sans engagement requis. Vous pouvez également créer un compte de niveau gratuit Azure Cosmos DB qui propose gratuitement 1000 RU et 25 Go de stockage. Vous pouvez également utiliser l’émulateur Azure Cosmos DB avec l’URI https://localhost:8081
. Pour obtenir la clé à utiliser avec l’émulateur, consultez Authentification des demandes.
Le dépôt GitHub azure-cosmos-java-sql-api-samples contient la dernière version des exemples d’applications qui exécutent des opérations CRUD, ainsi que d’autres opérations courantes sur les ressources Azure Cosmos DB. Cet article fournit :
- Des liens vers les tâches dans chacun des exemples de fichiers de projet Java.
- Des liens vers le contenu de référence d’API connexe.
Composants requis
Pour exécuter cet exemple d’application, vous avez besoin de ce qui suit :
- Kit de développement Java 8
- Kit SDK Java v4 Azure Cosmos DB
Vous pouvez également utiliser Maven pour obtenir les tout derniers fichiers binaires du kit SDK Java v4 Azure Cosmos DB et les utiliser dans votre projet. Maven ajoute automatiquement toutes les dépendances nécessaires. Sinon, vous pouvez directement télécharger les dépendances répertoriées dans le fichier pom.xml et les ajouter à votre chemin d’accès de build.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-cosmos</artifactId>
<version>LATEST</version>
</dependency>
Exécution des exemples d'applications
Clonez l’exemple de référentiel :
$ git clone https://github.com/Azure-Samples/azure-cosmos-java-sql-api-samples.git
$ cd azure-cosmos-java-sql-api-samples
Vous pouvez exécuter les échantillons à l’aide d’un IDE (Eclipse, IntelliJ ou Visual Studio Code) ou à partir de la ligne de commande en utilisant Maven.
Ces variables d’environnement doivent être définies
ACCOUNT_HOST=your account hostname;ACCOUNT_KEY=your account primary key
afin d’accorder aux exemples un accès en lecture/écriture à votre compte.
Pour exécuter un exemple, précisez sa classe principale
com.azure.cosmos.examples.sample.synchronicity.MainClass
sachant que sample.synchronicity.MainClass peut être
- crudquickstart.sync.SampleCRUDQuickstart
- crudquickstart.async.SampleCRUDQuickstartAsync
- indexmanagement.sync.SampleIndexManagement
- indexmanagement.async.SampleIndexManagementAsync
- storedprocedure.sync.SampleStoredProcedure
- storedprocedure.async.SampleStoredProcedureAsync
- changefeed.SampleChangeFeedProcessor (Changefeed n’a qu’un exemple asynchrone, pas d’exemple synchrone.) ...etc...
Notes
Chaque exemple est autonome, se définit lui-même et se nettoie automatiquement. Les exemples émettent plusieurs appels pour créer un élément CosmosContainer
ou CosmosAsyncContainer
. À chaque appel, votre abonnement est facturé pour 1 heure d’utilisation selon le niveau de performances de la collection créée.
Exemples de base de données
Les exemples de fichiers CRUD de base de données pour sync et async montrent comment effectuer les tâches suivantes. Pour en savoir plus sur les bases de données Azure Cosmos DB avant d’exécuter les exemples suivants, consultez l’article conceptuel Utiliser des bases de données, des conteneurs et des éléments.
Tâche | Informations de référence sur l'API |
---|---|
Création d'une base de données | CosmosClient.createDatabaseIfNotExists CosmosAsyncClient.createDatabaseIfNotExists |
Lire une base de données par identifiant | CosmosClient.getDatabase CosmosAsyncClient.getDatabase |
Lire toutes les bases de données | CosmosClient.readAllDatabases CosmosAsyncClient.readAllDatabases |
Supprimer une base de données | CosmosDatabase.delete CosmosAsyncDatabase.delete |
Exemples de collection
Les exemples de fichiers CRUD de collection pour sync et async montrent comment effectuer les tâches suivantes. Pour en savoir plus sur les collections Azure Cosmos DB avant d’exécuter les exemples suivants, consultez l’article conceptuel Utiliser des bases de données, des conteneurs et des éléments.
Tâche | Informations de référence sur l'API |
---|---|
Création d'une collection | CosmosDatabase.createContainerIfNotExists CosmosAsyncDatabase.createContainerIfNotExists |
Modifier les performances configurées d’une collection | CosmosContainer.replaceThroughput CosmosAsyncContainer.replaceProvisionedThroughput |
Obtenir une collection par identifiant | CosmosDatabase.getContainer CosmosAsyncDatabase.getContainer |
Lire toutes les collections d’une base de données | CosmosDatabase.readAllContainers CosmosAsyncDatabase.readAllContainers |
Supprimer une collection | CosmosContainer.delete CosmosAsyncContainer.delete |
Exemples de collection avec mise à l’échelle automatique
Pour en savoir plus sur la mise à l’échelle automatique avant d’exécuter ces exemples, consultez les instructions suivantes qui vous permettent d’activer la mise à l’échelle automatique de votre compte et celle de vos bases de données et conteneurs.
Les exemples de fichiers de mise à l’échelle automatique de base de données pour sync et async montrent comment effectuer la tâche suivante.
Tâche | Informations de référence sur l'API |
---|---|
Créer une base de données avec un débit maximal de mise à l’échelle automatique spécifié | CosmosClient.createDatabase CosmosAsyncClient.createDatabase |
Les exemples de fichiers de mise à l’échelle automatique de collection pour sync et async montrent comment effectuer les tâches suivantes.
Tâche | Informations de référence sur l'API |
---|---|
Créer une collection avec le débit maximal de mise à l’échelle automatique spécifié | CosmosDatabase.createContainerIfNotExists CosmosAsyncDatabase.createContainerIfNotExists |
Modifier le débit maximal de mise à l’échelle automatique configuré d’une collection | CosmosContainer.replaceThroughput CosmosAsyncContainer.replaceThroughput |
Lire la configuration du débit de mise à l’échelle automatique d’une collection | CosmosContainer.readThroughput CosmosAsyncContainer.readThroughput |
Exemples de collection de stockage analytique
Les exemples de fichiers CRUD de collection de stockage analytique pour sync et async montrent comment effectuer les tâches suivantes. Pour en savoir plus sur les collections Azure Cosmos DB avant d’exécuter les exemples suivants, consultez le Magasin analytique et Synapse Azure Cosmos DB.
Tâche | Informations de référence sur l'API |
---|---|
Création d'une collection | CosmosDatabase.createContainerIfNotExists CosmosAsyncDatabase.createContainerIfNotExists |
Exemples d’éléments
Les exemples de fichiers CRUD de document pour sync et async montrent comment effectuer les tâches suivantes. Pour en savoir plus sur les documents Azure Cosmos DB avant d’exécuter les exemples suivants, consultez l’article conceptuel Utiliser des bases de données, des conteneurs et des éléments.
Notes
Vous devez spécifier une clé de partition quand vous effectuez des opérations sur un élément spécifique.
Exemples d'indexation
Le fichier Exemples CRUD de collection montre comment effectuer les tâches suivantes. Pour en savoir plus sur l’indexation dans Azure Cosmos DB avant d’exécuter les exemples suivants, consultez les articles conceptuels sur les stratégies d’indexation, les types d’indexation et les chemins d’indexation.
Tâche | Informations de référence sur l'API |
---|---|
Inclure dans l’index les chemins des documents spécifiés | IndexingPolicy.IncludedPaths |
Exclure de l’index les chemins des documents spécifiés | IndexingPolicy.ExcludedPaths |
Créer un index composite | IndexingPolicy.setCompositeIndexes CompositePath |
Créer un index géospatial | IndexingPolicy.setSpatialIndexes SpatialSpec SpatialType |
Pour plus d’informations sur l’indexation, consultez Stratégies d’indexation d’Azure Cosmos DB.
Exemples de requêtes
Les fichiers d’exemples de requête pour sync et async indiquent comment effectuer les tâches suivantes à l’aide de la syntaxe de requête SQL. Pour en savoir plus sur les informations de référence sur les requêtes SQL dans Azure Cosmos DB avant d’exécuter les exemples suivants, consultez Exemples de requêtes SQL pour Azure Cosmos DB.
Tâche | Informations de référence sur l'API |
---|---|
Rechercher tous les documents | CosmosContainer.queryItems CosmosAsyncContainer.queryItems |
Demander une égalité à l’aide de l’opérateur == | CosmosContainer.queryItems CosmosAsyncContainer.queryItems |
Demander une inégalité à l’aide des opérateurs != et NOT | CosmosContainer.queryItems CosmosAsyncContainer.queryItems |
Soumettre des requêtes à l’aide d’opérateurs de plage comme >, <, >=, <= | CosmosContainer.queryItems CosmosAsyncContainer.queryItems |
Soumettre des requêtes à l’aide d’opérateurs de plage sur des chaînes | CosmosContainer.queryItems CosmosAsyncContainer.queryItems |
Soumettre des requêtes avec la clause ORDER BY | CosmosContainer.queryItems CosmosAsyncContainer.queryItems |
Requête avec DISTINCT | CosmosContainer.queryItems CosmosAsyncContainer.queryItems |
Soumettre des requêtes avec des fonctions d’agrégation | CosmosContainer.queryItems CosmosAsyncContainer.queryItems |
Utiliser des sous-documents | CosmosContainer.queryItems CosmosAsyncContainer.queryItems |
Soumettre des requêtes avec des jointures à l’intérieur d’un document | CosmosContainer.queryItems CosmosAsyncContainer.queryItems |
Effectuer des requêtes à l’aide d’opérateurs de chaîne, d’opérateurs mathématiques et d’opérateurs de tableau | CosmosContainer.queryItems CosmosAsyncContainer.queryItems |
Effectuer des requêtes à l’aide de code SQL paramétrable utilisant SqlQuerySpec | CosmosContainer.queryItems CosmosAsyncContainer.queryItems |
Effectuer des requêtes avec une pagination explicite | CosmosContainer.queryItems CosmosAsyncContainer.queryItems |
Interroger des collections partitionnées en parallèle | CosmosContainer.queryItems CosmosAsyncContainer.queryItems |
Exemples de flux de modification
Le fichier Exemple de processeur de flux de modification montre comment effectuer les tâches suivantes. Pour en savoir plus sur les flux de modification dans Azure Cosmos DB avant d’exécuter les exemples suivants, consultez Lire le flux de modification Azure Cosmos DB et Processeur de flux de modification.
Tâche | Informations de référence sur l'API |
---|---|
Fonctionnalité de flux de modification de base | ChangeFeedProcessor.changeFeedProcessorBuilder |
Lire le flux de modification à partir du début | ChangeFeedProcessorOptions.setStartFromBeginning() |
Exemples de programmation côté serveur
Le fichier Exemple de procédure stockée montre comment effectuer les tâches suivantes. Pour en savoir plus sur la programmation côté serveur dans Azure Cosmos DB avant d’exécuter les exemples suivants, consultez Procédures stockées, déclencheurs et fonctions définies par l’utilisateur.
Tâche | Informations de référence sur l'API |
---|---|
Créer une procédure stockée | CosmosScripts.createStoredProcedure |
Exécuter une procédure stockée | CosmosStoredProcedure.execute |
Supprimer une procédure stockée | CosmosStoredProcedure.delete |
Étapes suivantes
Vous tentez d’effectuer une planification de la capacité pour une migration vers Azure Cosmos DB ? Vous pouvez utiliser les informations sur votre cluster de bases de données existant pour la planification de la capacité.
- Si vous ne connaissez que le nombre de vCores et de serveurs présents dans votre cluster de bases de données existant, lisez Estimation des unités de requête à l’aide de vCores ou de processeurs virtuels
- Si vous connaissez les taux de requêtes typiques de votre charge de travail de base de données actuelle, lisez la section concernant l’estimation des unités de requête à l’aide du planificateur de capacité Azure Cosmos DB