Partage via


Qu’est-ce que l’émulateur Azure Cosmos DB ?

L’émulateur Azure Cosmos DB fournit un environnement local qui émule le service Azure Cosmos DB conçu à des fins de développement. En utilisant l’émulateur, vous pouvez développer et tester votre application localement, sans créer d’abonnement Azure et sans frais liés au service. Quand vous êtes satisfait du fonctionnement de votre application avec l’émulateur, vous pouvez passer à l’utilisation d’un compte Azure Cosmos DB dans le cloud avec un minimum de difficultés.

Important

Nous ne recommandons pas l’utilisation de l’émulateur pour les charges de travail de production.

Différences entre l’émulateur et le service cloud

L’émulateur fournit un environnement sur votre espace de travail de développement, qui n’a pas la capacité d’émuler tous les aspects du service Azure Cosmos DB. Voici quelques différences clés dans les fonctionnalités entre l’émulateur et le service cloud équivalent.

Important

L’émulateur Linux ne prend actuellement pas en charge les machines de développement s’exécutant sur des puces de la série Apple silicon ou Microsoft ARM. Une solution temporaire de contournement consiste à installer une machine virtuelle Windows et à y exécuter l’émulateur.

  • Le volet Data Explorer de l’émulateur est pris en charge seulement dans l’API pour NoSQL et l’API pour MongoDB.
  • L’émulateur prend en charge seulement un débit provisionné. L’émulateur ne prend pas en charge un débit serverless.
  • L’émulateur utilise une clé connue quand il démarre. Vous ne pouvez pas regénérer la clé pour l’émulateur en cours d’exécution. Pour utiliser une autre clé, vous devez démarrer l’émulateur avec la clé personnalisée spécifiée.
  • L’émulateur ne peut pas être répliqué sur des régions géographiques ou sur plusieurs instances. Une seule instance en cours d’exécution de l’émulateur est prise en charge. L’émulateur ne peut pas faire l’objet d’un scale-out.
  • L’émulateur prend idéalement en charge jusqu’à 10 conteneurs de taille fixe à 400 RU/s ou 5 conteneurs de taille illimitée. Théoriquement, vous pouvez créer davantage de conteneurs, mais vous pouvez rencontrer une dégradation des performances avec l’émulateur.
  • L’émulateur prend en charge seulement les niveaux de cohérence Session et Forte . L’émulateur n’est pas un service évolutif et n’implémente pas réellement les niveaux de cohérence. L’émulateur signale le niveau de cohérence configuré seulement à des fins de test.
  • L’émulateur contraint l’identificateur unique des éléments à une taille de 254 caractères.
  • L’émulateur prend en charge un maximum de cinq instructions JOIN par requête.

Les fonctionnalités de l’émulateur peuvent être en retard par rapport au rythme des nouvelles fonctionnalités du service cloud. Des nouvelles fonctionnalités et des modifications dans le service cloud peuvent être disponibles dans l’émulateur avec un petit retard.

Authentification

Chaque requête effectuée auprès de l’émulateur doit être authentifiée en utilisant une clé sur TLS/SSL. L’émulateur est fourni avec un seul compte configuré pour utiliser une clé d’authentification connue. Par défaut, ces informations d’identification sont les seules autorisées à être utilisées avec l’émulateur :

Valeur
Point de terminaison localhost:8081
Clé C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==
Chaîne de connexion AccountEndpoint=https://localhost:8081/;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;

Conseil

Avec l’émulateur (local) Windows, vous pouvez aussi personnaliser la clé utilisée par l’émulateur. Pour plus d’informations, consultez Arguments de l’émulateur Windows.

Importer un certificat d’émulateur

Dans certains cas, vous voulez importer manuellement le certificat TLS/SS depuis le conteneur en cours d’exécution de l’émulateur dans votre machine hôte. Cette étape évite les mauvaises pratiques comme la désactivation de la validation TLS/SSL dans le SDK. Pour plus d’informations, consultez importer un certificat.

Étape suivante