Nouveauté pour les développeurs : Kit de développement logiciel (SDK) .NET Azure Cosmos DB v3 désormais disponible

Publié le 13 août, 2019

Program Manager, Azure Cosmos DB

L’équipe Azure Cosmos DB annonce la disponibilité générale de la version 3 du Kit de développement logiciel (SDK) .NET Azure Cosmos DB, publié en juillet. Merci à tous ceux qui nous ont fait part de leurs commentaires pendant la période de préversion. 

Dans cet billet, nous passons en revue les dernières améliorations que nous avons apportées au Kit de développement logiciel (SDK) .NET v3 pour améliorer l’expérience des développeurs.

Vous pouvez obtenir la dernière version du Kit de développement logiciel (SDK) via NuGet et contribuer sur GitHub.

//Utilisation de l’interface de ligne de commande .NET
dotnet add package Microsoft.Azure.Cosmos

//Utilisation de NuGet
Install-Package Microsoft.Azure.Cosmos

Qu’est-ce qu’Azure Cosmos DB ?

Azure Cosmos DB est un service de base de données multimodèle distribué globalement qui vous permet de lire et d'écrire des données dans n'importe quelle région Azure. Il offre une distribution mondiale clé en main, garantit des latences à un chiffre en millisecondes au 99e centile, une haute disponibilité à 99,999 pout cent et une mise à l’échelle élastique du débit et du stockage.

Nouveautés du Kit de développement logiciel (SDK) .NET Azure Cosmos DB version 3 ?

La version 3 du SDK contient de nombreuses améliorations sur les plans de la facilité d’utilisation et des performances, dont un nouveau modèle de programmation intuitif, la prise en charge des API de flux, la prise en charge intégrée des API de processeur de flux de modification et la possibilité de mettre à l’échelle des conteneurs non partitionnés. Le Kit de développement logiciel (SDK) cible .NET Standard 2.0 et est disponible en open source sur GitHub.

Pour les nouvelles charges de travail, nous vous recommandons de commencer par la dernière version du Kit de développement logiciel (SDK) 3.x afin de bénéficier d’une expérience optimale. Nous ne prévoyons pas de retirer la version 2.x du Kit de développement logiciel (SDK) .NET dans l’immédiat.

Cible .NET Standard 2.0

Nous avons unifié les kits de développement logiciel (SDK) .NET et .NET Core Azure Cosmos DB existants au sein d’un seul Kit ciblant .NET Standard 2.0. Vous pouvez désormais utiliser le Kit de développement logiciel (SDK) .NET sur toute plateforme implémentant .NET Standard 2.0, y compris vos applications .NET Framework 4.6.1+ et .NET Core 2.0+.

Open source sur GitHub

Le Kit de développement logiciel (SDK) .NET Azure Cosmos DB v3 est open source, et notre équipe prévoit d’effectuer le développement en open source. À cette fin, nous accueillons toutes les demandes d’extraction et consignerons les problèmes et suivrons les commentaires sur GitHub.

Nouveau modèle de programmation avec surface d’API Fluent

Depuis la préversion, nous n’avons pas cessé d’améliorer le modèle objet afin d’offrir une expérience de développement plus intuitive. Nous avons créé une classe CosmosClient de niveau supérieur pour remplacer DocumentClient, et avons fractionné ses méthodes en classes Database et container modulaires. Nos études d’utilisabilité révèlent que cette hiérarchie facilite pour les développeurs l’apprentissage et la découverte de la surface d’API.

Nous avons également ajouté des API Fluent Builder qui facilitant la création de classes CosmosClient, Container et ChangeFeedProcessor avec des options personnalisées.

Découvrez tous les exemples sur GitHub.

API Stream pour des performances élevées

Les versions précédentes des kits de développement logiciel (SDK) .NET Azure Cosmos DB sérialisaient et désérialisaient systématiquement les données vers et depuis le réseau. Dans le contexte d’une API Web ASP.NET, cela peut entraîner une surcharge en termes de performances. Maintenant, avec la nouvelle API Stream, lorsque vous lisez un élément ou une requête, vous pouvez obtenir le flux et le transmettre à la réponse sans opérer désérialisation, grâce aux nouvelles méthodes GetItemQueryStreamIterator et ReadItemStreamAsync. Pour plus d’informations, voir l’exemple GitHub.

Plus facile à tester et plus extensible

Dans la version 3 du Kit de développement logiciel (SDK) .NET, toutes les API peuvent être maquettées, ce qui facilite les tests unitaires.

Nous avons également introduit un pipeline de demande extensible afin que vous puissiez transmettre des descripteur personnalisés qui s’exécuteront lors de l’envoi de demandes au service. Par exemple, vous pouvez utiliser ces descripteurs pour journaliser les informations de demande dans Azure Application Insights, définir des stratégies de nouvelle tentative personnalisées, et bien plus. Vous pouvez également transmettre un sérialiseur personnalisé, une autre fonctionnalité couramment demandée par les développeurs.

Utiliser les API du processeur de flux de modification directement à partir du Kit de développement logiciel (SDK)

L’une des fonctionnalités les plus appréciées d’Azure Cosmos DB est le flux de modification, couramment utilisé dans les architectures d’approvisionnement d’événements, le traitement de flux, les scénarios de déplacement de données et pour la création de vues matérialisées. Ce flux de modification vous permet d’écouter les modifications sur un conteneur et d’obtenir un flux incrémentiel de ses enregistrements à mesure que ceux-ci sont créés ou mis à jour.

Le nouveau Kit de développement logiciel (SDK) intègre la prise en charge des API du processeur de flux de modification. Cela signifie que vous pouvez utiliser le même Kit de développement logiciel (SDK) pour créer votre application et implémenter le processeur de flux de modification. Auparavant, vous deviez utiliser la bibliothèque du processeur de flux de modification séparée.

Pour commencer, voir la documentation Processeur de flux de modification dans Azure Cosmos DB.

Possibilité de mettre à l’échelle des conteneurs non partitionnés

De nombreux clients disposant de conteneurs non partitionnés ou « fixes » ont souhaité pouvoir mettre à l’échelle au-delà de la capacité de stockage de 10 Go et de la limite de débit alloué de 10 000 RU/s. La version 3 du Kit de développement logiciel (SDK) permet de faire cela sans avoir à créer un conteneur et à déplacer les données.

Tous les conteneurs non partitionnés disposent désormais une clé de partition système _partitionKey dont vous pouvez définir la valeur lors de l’écriture de nouveaux éléments. Lorsque vous commencerez à utiliser la valeur _partitionKey, Azure Cosmos DB mettra à l’échelle votre conteneur quand le volume de stockage de celui-ci dépassera 10 Go. Si vous souhaitez conserver votre conteneur tel quel, vous pouvez utiliser la valeur PartitionKey.None pour lire et écrire des données existantes sans clé de partition.

API plus simples pour la mise à l’échelle du débit

Nous avons remanié les API pour la mise à l’échelle du débit approvisionné (RU/s). Vous pouvez désormais utiliser la méthode ReadThroughputAsync pour obtenir le débit actuel et la méthode ReplaceThroughputAsync pour le modifier. Regardez l’exemple.

Prise en main

Pour commencer à utiliser le nouveau Kit de développement logiciel (SDK) .NET Azure Cosmos DB version 3, ajoutez notre nouveau package NuGet à votre projet. Pour le prendre en main, suivez les nouveaux didacticiel et démarrage rapide. Nous apprécierions beaucoup que vous nous fassiez part de vos commentaires ! Vous pouvez consigner les problèmes que vous rencontrez sur notre dépôt GitHub.

Tenez-vous informé des dernières actualités et fonctionnalités Azure #CosmosDB en nous suivant sur Twitter @AzureCosmosDB. Nous sommes impatients de voir ce que vous allez réaliser avec Azure Cosmos DB et le nouveau Kit de développement logiciel (SDK) .NET.