Partager via


Approvisionner le débit avec mise à l’échelle automatique pour Azure Cosmos DB for NoSQL

Cet article explique comment activer le débit de mise à l’échelle automatique sur une base de données ou un conteneur (collection, graphique ou table) dans Azure Cosmos DB pour NoSQL. Vous pouvez activer la mise à l’échelle automatique sur un seul conteneur ou approvisionner le débit avec mise à l’échelle automatique sur une base de données et le partager entre tous les conteneurs de cette base de données.

Si vous utilisez une autre API, consultez l’API pour MongoDB, l’API pour Cassandra ou l’API pour Gremlin.

Portail Azure

Créer une base de données ou un conteneur avec mise à l’échelle automatique

  1. Connectez-vous au portail Azure ou à l’Explorateur Azure Cosmos DB.

  2. Accédez à votre compte Azure Cosmos DB et ouvrez l’onglet Explorateur de données.

  3. Sélectionnez Nouveau conteneur. Entrez un nom pour votre base de données et votre conteneur ainsi qu’une clé de partition.

  4. Sous Débit de la base de données ou d’un conteneur, sélectionnez l’option Mise à l’échelle automatique et définissez le débit maximal (RU/s) auquel vous souhaitez que la base de données ou le conteneur soit mis à l’échelle.

    Capture d’écran montrant les paramètres permettant de créer un conteneur et de configurer le débit provisionné de mise à l’échelle automatique.

  5. Sélectionnez OK.

Pour configurer la mise à l’échelle automatique sur une base de données à débit partagé, sélectionnez l’option Approvisionner le débit d’une base de données lors de la création d’une base de données.

Remarque

La définition du débit au niveau de la base de données est recommandée uniquement pour le développement/test ou lorsque la charge de travail sur tous les conteneurs de la base de données de débit partagé est uniforme. Pour des performances optimales pour les charges de travail de production volumineuses, il est recommandé de définir un débit dédié (mise à l’échelle automatique ou manuelle) au niveau du conteneur et non au niveau de la base de données.

Activer la mise à l’échelle automatique sur une base de données ou un conteneur existant

  1. Connectez-vous au portail Azure ou à l’Explorateur Azure Cosmos DB.

  2. Accédez à votre compte Azure Cosmos DB et ouvrez l’onglet Explorateur de données.

  3. Sélectionnez Mise à l’échelle et paramètres pour votre conteneur ou Mise à l’échelle pour votre base de données.

  4. Sous Mise à l’échelle, sélectionnez l’option Mise à l’échelle automatique, puis Enregistrer.

    Capture d’écran des paramètres pour activer la mise à l’échelle automatique sur un conteneur existant.

Remarque

Lorsque vous activez la mise à l’échelle automatique sur une base de données ou un conteneur existant, la valeur de départ pour le nombre maximum de RU/s est déterminée par le système, en fonction de vos paramètres de débit approvisionné manuellement et de votre stockage. Une fois l’opération terminée, vous pouvez modifier le nombre maximal de RU/s si nécessaire. Pour plus d’informations, consultez questions fréquentes sur la mise à l'échelle automatique du débit provisionné.

Kits de Développement Logiciel

Utilisez les kits SDK suivants pour gérer les ressources de mise à l’échelle automatique :

Créer une base de données avec débit partagé

Remarque

La définition du débit au niveau de la base de données est recommandée uniquement pour le développement/test ou lorsque la charge de travail sur tous les conteneurs de la base de données de débit partagé est uniforme. Pour des performances optimales pour les charges de travail de production volumineuses, il est recommandé de définir un débit dédié (mise à l’échelle automatique ou manuelle) au niveau du conteneur et non au niveau de la base de données.

Utilisez la version 3.9 ou ultérieure du Kit de développement logiciel (SDK) .NET Azure Cosmos DB pour l’API pour NoSQL pour gérer les ressources avec mise à l’échelle automatique.

Important

Vous pouvez utiliser le Kit de développement logiciel (SDK) .NET pour créer des ressources avec mise à l’échelle automatique. Le Kit de développement logiciel (SDK) ne prend pas en charge la migration entre le débit de mise à l’échelle automatique et le débit standard (manuel). Actuellement, le scénario de migration est pris en charge uniquement dans le portail Azure, l’interface CLI et PowerShell.

Remarque

Lorsque vous activez la mise à l’échelle automatique sur une base de données ou un conteneur existant, la valeur de départ pour le nombre maximum de RU/s est déterminée par le système, en fonction de vos paramètres de débit approvisionné manuellement et de votre stockage. Une fois l’opération terminée, vous pouvez modifier le nombre maximal de RU/s si nécessaire. Pour plus d’informations, consultez questions fréquentes sur la mise à l'échelle automatique du débit provisionné.

// Create instance of CosmosClient
CosmosClient cosmosClient = new CosmosClient(Endpoint, PrimaryKey);
 
// Autoscale throughput settings
ThroughputProperties autoscaleThroughputProperties = ThroughputProperties.CreateAutoscaleThroughput(1000); //Set autoscale max RU/s

//Create the database with autoscale enabled
database = await cosmosClient.CreateDatabaseAsync(DatabaseName, throughputProperties: autoscaleThroughputProperties);

Créer un conteneur avec débit dédié

// Get reference to database that container will be created in
Database database = await cosmosClient.GetDatabase("DatabaseName");

// Container and autoscale throughput settings
ContainerProperties autoscaleContainerProperties = new ContainerProperties("ContainerName", "/partitionKey");
ThroughputProperties autoscaleThroughputProperties = ThroughputProperties.CreateAutoscaleThroughput(1000); //Set autoscale max RU/s

// Create the container with autoscale enabled
container = await database.CreateContainerAsync(autoscaleContainerProperties, autoscaleThroughputProperties);

Lire le débit actuel (RU/s)

// Get a reference to the resource
Container container = cosmosClient.GetDatabase("DatabaseName").GetContainer("ContainerName");

// Read the throughput on a resource
ThroughputProperties autoscaleContainerThroughput = await container.ReadThroughputAsync(requestOptions: null); 

// The autoscale max throughput (RU/s) of the resource
int? autoscaleMaxThroughput = autoscaleContainerThroughput.AutoscaleMaxThroughput;

// The throughput (RU/s) the resource is currently scaled to
int? currentThroughput = autoscaleContainerThroughput.Throughput;

Modifier le débit maximal avec mise à l’échelle automatique (RU/s)

// Change the autoscale max throughput (RU/s)
await container.ReplaceThroughputAsync(ThroughputProperties.CreateAutoscaleThroughput(newAutoscaleMaxThroughput));

Azure Resource Manager

Les modèles Azure Resource Manager peuvent être utilisés pour provisionner le débit avec mise à l’échelle automatique sur une nouvelle ressource de base de données ou au niveau du conteneur pour toutes les API Azure Cosmos DB. Pour obtenir des exemples, consultez les modèles Azure Resource Manager pour Azure Cosmos DB.

Par conception, les modèles Azure Resource Manager ne peuvent pas être utilisés pour migrer entre le débit provisionné et le débit de mise à l’échelle automatique sur une ressource existante.

Azure CLI (Interface de ligne de commande Azure)

Azure CLI peut être utilisé pour approvisionner le débit de mise à l’échelle automatique sur une nouvelle base de données ou une ressource au niveau du conteneur pour toutes les API Azure Cosmos DB, ou pour activer la mise à l’échelle automatique sur une ressource existante.

Azure PowerShell

Azure PowerShell peut être utilisé pour approvisionner le débit de mise à l’échelle automatique sur une nouvelle base de données ou une ressource au niveau du conteneur pour toutes les API Azure Cosmos DB, ou pour activer la mise à l’échelle automatique sur une ressource existante.

Étapes suivantes