Partage via


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 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.

Tâche Informations de référence sur l'API
Créer un document CosmosContainer.createItem
CosmosAsyncContainer.createItem
Lire un document par identifiant CosmosContainer.readItem
CosmosAsyncContainer.readItem
Rechercher des documents CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Remplacer un document CosmosContainer.replaceItem
CosmosAsyncContainer.replaceItem
Effectuer une opération Upsert sur un document CosmosContainer.upsertItem
CosmosAsyncContainer.upsertItem
Supprimer un document CosmosContainer.deleteItem
CosmosAsyncContainer.deleteItem
Remplacer un document par la vérification conditionnelle de l’ETag CosmosItemRequestOptions.setIfMatchETag (sync)
CosmosItemRequestOptions.setIfMatchETag (async)
Lire le document uniquement s’il a changé CosmosItemRequestOptions.setIfNoneMatchETag (sync)
CosmosItemRequestOptions.setIfNoneMatchETag (async)
Mise à jour partielle des documents CosmosContainer.patchItem
Mise à jour de document en bloc Exemples de traitement en bloc
Lot transactionnel Exemples de traitement par lots

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é.